[REGRESSION?] Build warnings at jdhuff.c with GCC 6

Yasumasa Suenaga yasuenag at gmail.com
Tue Aug 23 13:10:54 UTC 2016


Hi all,

I've fixed several warnings when we build OpenJDK with GCC 6 in JDK-8160294.
However, I encountered shift-negative-value warnings at jdhuff.c on my Fedora 24 (GCC 6.1.1):
--------------
/home/ysuenaga/OpenJDK/hs/jdk/src/java.desktop/share/native/libjavajpeg/jdhuff.c:458:13: warning: left shift of negative value [-Wshift-negative-value]
    { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1,
              ^~
/home/ysuenaga/OpenJDK/hs/jdk/src/java.desktop/share/native/libjavajpeg/jdhuff.c:458:28: warning: left shift of negative value [-Wshift-negative-value]
    { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1,
                             ^~
/home/ysuenaga/OpenJDK/hs/jdk/src/java.desktop/share/native/libjavajpeg/jdhuff.c:458:43: warning: left shift of negative value [-Wshift-negative-value]
    { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1,
         :
--------------

I think these warnings are available from JDK-8074827.
This issue enables warnings to fix in the source code.
However, in review of JDK-8160294, I heared that warnings in IJG JPEG library should just be suppressed:

   http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004497.html


So I think they should be suppressed and we should fix as below:
--------------
diff -r b548b8217d8c make/lib/Awt2dLibraries.gmk
--- a/make/lib/Awt2dLibraries.gmk       Mon Aug 22 19:28:36 2016 -0700
+++ b/make/lib/Awt2dLibraries.gmk       Tue Aug 23 22:08:44 2016 +0900
@@ -490,7 +490,7 @@
      CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \
          $(LIBJAVA_HEADER_FLAGS) \
          -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
-    DISABLED_WARNINGS_gcc := clobbered, \
+    DISABLED_WARNINGS_gcc := clobbered shift-negative-value, \
      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers, \
      LDFLAGS := $(LDFLAGS_JDKLIB) \
          $(call SET_SHARED_LIBRARY_ORIGIN), \
--------------

If it is correct, I file it to JBS and upload webrev.
Do you think about it?


Thanks,

Yasumasa





More information about the build-dev mailing list