<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
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).<br>
<br>
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. <br>
<br>
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.<br>
<br>
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.<br>
<br>
Bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8211029">https://bugs.openjdk.java.net/browse/JDK-8211029</a><br>
WebRev:
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~ihse/JDK-8211029-common-set-of-warnings/webrev.01">http://cr.openjdk.java.net/~ihse/JDK-8211029-common-set-of-warnings/webrev.01</a><br>
<br>
/Magnus<br>
<br>
</body>
</html>