minimal gcc version for jdk/jdk and usage of -Wno-int-in-bool-context flag in HS build (original) (raw)

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Nov 1 10:35:51 UTC 2018


On 2018-10-31 17:17, Baesken, Matthias wrote:

Hi Aleksey , I tried with gcc 6.2 not 6.3 maybe this makes a difference .

Unfortunately I cannot see your exact gcc/g++ compile calls from the logfile . Do you have "-Wall" set which seems to be necessary to enable the additional flag ? https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html -Wint-in-bool-context Warn for suspicious use of integer values where boolean values are expected, such as conditional expressions (?:) using non-boolean integer constants in boolean context, like if (a <= b ? 2 : 3). Or left shifting of signed integers in boolean context, like for (a = 0; 1 << a; a++);. Likewise for all kinds of multiplications regardless of the data type. This warning is enabled by -Wall.

Since JDK-8211029, we have -Wall enabled for hotspot on gcc.

I can only reiterate what Erik says. Gcc, since a long time ago, silently ignores -Wno-XXX for XXX that it does not support or understand. However, if another failure occurs, then gcc prints out warnings for unknown -Wno-XXX flags as well. So those are just red herrings. If you see them, you will also see another error, and that is your real problem.

/Magnus

The configure flag --with-extra-cflags is not used by us . Best regards, Matthias

-----Original Message----- From: Aleksey Shipilev <shade at redhat.com> Sent: Mittwoch, 31. Oktober 2018 16:49 To: Baesken, Matthias <matthias.baesken at sap.com>; 'build- dev at openjdk.java.net' <build-dev at openjdk.java.net> Subject: Re: minimal gcc version for jdk/jdk and usage of -Wno-int-in-bool- context flag in HS build On 10/31/2018 04:40 PM, Baesken, Matthias wrote: https://hg.openjdk.java.net/jdk/jdk/file/896e80158d35/make/hotspot/lib/C ompileJvm.gmk DISABLEDWARNINGSgcc := extra parentheses comment unknown- _pragmas address _ delete-non-virtual-dtor char-subscripts array-bounds int-in-bool-context __ _ignored-qualifiers missing-field-initializers implicit-fallthrough _ _empty-body strict-overflow sequence-point maybe-uninitialized _ misleading-indentation

However int-in-bool-context ( -Wnoint-in-bool-context ) seems to be available only in gcc 7 + . Example call with gcc 6 leads to a warning : Current jdk/jdk build works fine with 6.3.0 for me: https://builds.shipilev.net/openjdk-jdk/openjdk-jdk-b441-20181029-jdk- 12+17-linux-x8664-fastdebug.configure.log https://builds.shipilev.net/openjdk-jdk/openjdk-jdk-b441-20181029-jdk- 12+17-linux-x8664-fastdebug.build.log Is this the indication that build system actually probes the warnings before trying warning options? The troubles start when you supply additional options, apparently: https://bugs.openjdk.java.net/browse/JDK-8211088 -Aleksey



More information about the build-dev mailing list