Hi Alexander, Thank you for your comment.
I agree to use DISABLED_WARNINGS_gcc. Should I make a patch after JDK-8080695 <https://bugs.openjdk.java.net/browse/JDK-8080695> committed? Thanks, Yasumasa 2015/05/28 18:19 "Alexander Zvegintsev" <alexander.zvegint...@oracle.com>: Hello Yasumasa, I prefer to avoid such pragma usage, as for me code is more readable without it. So we can add array-bounds to DISABLED_WARNINGS_gcc in make/lib/Awt2dLibraries.gmk for BUILD_LIBJAVAJPEG and BUILD_LIBMLIB_IMAGE. We can nullify row_pointers and image_data after setjmp call to remove warnings in splashscreen_png.c: diff -r 729dffc8afa0 src/java.desktop/share/native/libsplashscreen/splashscreen_png.c --- a/src/java.desktop/share/native/libsplashscreen/splashscreen_png.c +++ b/src/java.desktop/share/native/libsplashscreen/splashscreen_png.c @@ -77,6 +77,8 @@ SplashDecodePng(Splash * splash, png_rw_ #else if (setjmp(png_jmpbuf(png_ptr))) { #endif + row_pointers = NULL; + image_data = NULL; goto done; } (or declare them as volatile, but I prefer the first option). BTW, there is another issue about this splashscreen_png.c gcc build failure [1]. [1] https://bugs.openjdk.java.net/browse/JDK-8080695 Thanks, Alexander. On 05/28/2015 06:27 AM, Yasumasa Suenaga wrote: > I've uploaded webrev: > http://cr.openjdk.java.net/~ysuenaga/JDK-8081295/webrev.01/ > > Please review. > > > Thanks, > > Yasumasa > > > On 2015/05/28 12:19, Yasumasa Suenaga wrote: > >> Hi all, >> >> I tried to build jdk9/dev on Fedora22 with GCC 5.1.1, however, it was >> failed. >> I found several problems: >> >> >> System: >> Fedora release 22 (Twenty Two) x86_64 >> - gcc-5.1.1-1.fc22.x86_64 >> >> >> Problems: >> 1. Array bounds check in GCC >> - jdk/src/java.desktop/share/native/libjavajpeg/jcmaster.c >> - jdk/src/java.desktop/share/native/libjavajpeg/jquant1.c >> - >> jdk/src/java.desktop/share/native/libmlib_image/mlib_ImageLookUp_64.c >> - >> jdk/src/java.desktop/share/native/libmlib_image/mlib_c_ImageLookUp_f.c >> >> It seems to be bug of GCC: >> Bug 59124: [4.8/4.9/5/6 Regression] Wrong warnings "array >> subscript is above array bounds" >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124 >> >> I think implementations of these files have no problem. >> So I propose to ignore warning(s) of compiler through pragma >> option as >> workaround when we use GCC [1]. >> >> >> 2. Local variables might be clobbered >> - >> jdk/src/java.desktop/share/native/libsplashscreen/splashscreen_png.c >> >> SplashDecodePng() calls setjmp(3). >> Some local variables initialize before setjmp() call, and use >> after it. >> Their initial values are only used at cleanup code (*done* label) >> and >> actual values are stored only after setjmp() call. >> So I think we can ignore this error through pragma option [1]. >> >> >> 3. Incorrect condition >> - jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c >> >> searchAllSourceNames() returns int value. However, branch >> condition in >> eventFilterRestricted_passesFilter() treats it as boolean value. >> >> >> I received a comment from Erik to use --disable-warnings-as-errors, >> however I could not avoid error in 3. >> >> >> Thanks, >> >> Yasumasa >> >> >> [1] https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html >> >>