RFR 8027059: (sctp) fatal warnings overly restrictive with gcc 4.8.1
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue Oct 22 21:05:45 UTC 2013
On 2013-10-22 20:44, Chris Hegarty wrote:
> The SCTP native code complies with -Werror. gcc 4.8.1 reports unused
> parameters as warnings, and this causes the build to fail. gcc 4.8.1
> is the defaul on Ubuntu 13.10.
An alternative solution is to keep the warning but fix the code.
The traditional solution is to cast the unused variable/parameter to
void, typically accompanied with a comment describing why we keep it
even though it is unused, e.g. something like
(void) klass; // this is a formal JNI parameter which we don't use
However, it can very well be argued if this is indeed better than just
disabling the warning. After all, it's a question of how to balance
different kinds of code quality. If we have a lot of places were formal
parameters like this, it might lead to worse code quality by littering
it with void casts.
I just wanted to point out an alternative, I'm not protesting against
your solution.
/Magnus
>
> These parameters are required as the functions are JNI functions. The
> simplest solution is to ignore/suppress these unused param warnings.
>
> See discussion on:
> http://mail.openjdk.java.net/pipermail/build-dev/2013-July/009513.html
>
> diff --git a/makefiles/lib/NioLibraries.gmk
> b/makefiles/lib/NioLibraries.gmk
> --- a/makefiles/lib/NioLibraries.gmk
> +++ b/makefiles/lib/NioLibraries.gmk
> @@ -150,7 +150,7 @@
>
> ifneq ($(OPENJDK_TARGET_OS), macosx)
>
> - SCTP_WERROR := -Werror
> + SCTP_WERROR := -Werror -Wno-error=unused-parameter
> ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
> SCTP_WERROR :=
> endif
>
> With this change it may be possible to remove the special casing of
> ppc? I would need to check, but this could be handled separately.
>
> -Chris.
More information about the build-dev
mailing list