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

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
>>> DISABLED_WARNINGS_gcc := 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-x86_64-fastdebug.configure.log
>>
>> https://builds.shipilev.net/openjdk-jdk/openjdk-jdk-b441-20181029-jdk-
>> 12+17-linux-x86_64-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