On 2019-10-22 09:36, David Holmes wrote:
Hi Magnus,

On 22/10/2019 5:17 pm, Magnus Ihse Bursie wrote:
The -Wextra option to gcc enables a bunch of useful warnings. Some of them, but not all, can be individually enabled or disabled. All other libraries in OpenJDK are compiled with -Wextra, but not Hotspot. Enabling -Wextra triggers a couple of warnings that can be individually disabled. (The idea here is not to just permanently disable those warnings (unless that makes sense), but to look at these warnings one at a time and see how they can be addressed.)

My trial runs with -Wextra has already found a couple of real issues (fixed in JDK-8213414).

I have tested that this compiles without warnings on gcc 4.8, 5.5, 6.5, 7.4 and 8.3 on x64. I have also tried building zero on x64, aarch64 and arm32 with gcc 8.3.

Bug: https://bugs.openjdk.java.net/browse/JDK-8211073
WebRev: http://cr.openjdk.java.net/~ihse/JDK-8211073-enable-extra-on-hotspot/webrev.01


I'm somewhat surprised that this isn't triggering more warnings, but if not then that is a good thing. :) I wouldn't be surprised if gcc 9.x causes something else pop up.
That is because I enabled it in a personal branch a long time ago, and have spent like the last year or so trying to fix the individual problems to prepare for this patch. ;-)

I wouldn't count on gcc 9 bringing in anything new to -Wextra. In general, gcc is *extremely* conservative about changing -Wextra nowadays. Virtually all new warnings that are added are added as indivudual warnings with explicit names to be turned on or turned off. Only after a long vetting process does any of these gets added to -Wextra. I think the last time anything was added to -Wextra was in like gcc 6..? So the -Wextra is in a way a bit of a legacy system in gcc for handling warnings.

/Magnus

Fix seems fine.

Thanks,
David


/Magnus

Reply via email to