Re: RFR: JDK-8211029 Have a common set of enabled warnings for all native libraries
Looks good. /Erik On 2018-09-24 01:18, Magnus Ihse Bursie wrote: With JDK-8210988, the foundation is in place for a more systematic way of handling warnings across all native libraries (hotspot and the JDK libraries alike). With this patch, make sure we enable all warnings equally for all libaries. If an individual library triggers a specific warning, disable it in that library. There was a single warning from clang in awt_Font.c (due to a very broken cast) that was not possible to turn off (unless -Wextra was turned off entirely), so I fixed the code instead. I have tested that this compiles without warnings on all standard Oracle build platforms/toolchains. On top of that, I've also tested a variety of gcc's: 4.8.5, 5.5.0, 6.4.0 and 7.3.0 (the minor versions for each major versions shipped by Ubuntu). I've also tested clang 5.0 on linux, XCode 9.2 on macosx and Solaris Studio 12.6 on solaris. Even with such extensive testing, the nature of this fix which is to add the flags that turn on a broad range of suitable warnings (like -Wall), and then selectively disable individual warnings on individual libraries, there's a certain risk that some platform/toolchain combinations that used to compile without warnings, now start exhibiting warnings. If this should happen, the short-term workaround is to use "configure --disable-warnings-as-errors". The medium term fix is to disable the problematic warning in the library in question, and the long-term solution is (hopefully) to fix the code. Bug: https://bugs.openjdk.java.net/browse/JDK-8211029 WebRev: http://cr.openjdk.java.net/~ihse/JDK-8211029-common-set-of-warnings/webrev.01 /Magnus
RFR: JDK-8211029 Have a common set of enabled warnings for all native libraries
With JDK-8210988, the foundation is in place for a more systematic way of handling warnings across all native libraries (hotspot and the JDK libraries alike). With this patch, make sure we enable all warnings equally for all libaries. If an individual library triggers a specific warning, disable it in that library. There was a single warning from clang in awt_Font.c (due to a very broken cast) that was not possible to turn off (unless -Wextra was turned off entirely), so I fixed the code instead. I have tested that this compiles without warnings on all standard Oracle build platforms/toolchains. On top of that, I've also tested a variety of gcc's: 4.8.5, 5.5.0, 6.4.0 and 7.3.0 (the minor versions for each major versions shipped by Ubuntu). I've also tested clang 5.0 on linux, XCode 9.2 on macosx and Solaris Studio 12.6 on solaris. Even with such extensive testing, the nature of this fix which is to add the flags that turn on a broad range of suitable warnings (like -Wall), and then selectively disable individual warnings on individual libraries, there's a certain risk that some platform/toolchain combinations that used to compile without warnings, now start exhibiting warnings. If this should happen, the short-term workaround is to use "configure --disable-warnings-as-errors". The medium term fix is to disable the problematic warning in the library in question, and the long-term solution is (hopefully) to fix the code. Bug: https://bugs.openjdk.java.net/browse/JDK-8211029 WebRev: http://cr.openjdk.java.net/~ihse/JDK-8211029-common-set-of-warnings/webrev.01 /Magnus