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