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.