On 2/5/16 7:12 AM, Magnus Ihse Bursie wrote:
On 2016-02-05 10:41, Erik Joelsson wrote:
Magnus pointed out that I mistakenly replaced fno-strict-aliasing
with -Wno-strict-aliasing. Reverted that change.
http://cr.openjdk.java.net/~erikj/8148629/webrev.jdk.02/
The new webrev looks good to me.
However, the use of -w for individual files is a bit scary. :-( It's
not easy to grep for (like "WARNINGS_AS_ERRORS") and it's quite broad.
Please make sure you update JDK-8079958 and JDK-8079955 with clear
instructions on what have been disabled for these libraries, and how
to fix this, so this does not get lost.
I believe this is the last instance where we had warnings in native
compilation printed during every build, so when this is pushed I think
it's time for a small celebration. :-)
Yes, I think there should be a party!
I don't understand modern makefiles but I think this is really good and
better to turn off certain files with -w than all of them. It looks
like you turned on warning-as-errors so if awt has new warnings in
different files, they can fix them. That seems good.
Thanks!!
Coleen
/Magnus
/Erik
On 2016-02-05 10:05, Erik Joelsson wrote:
A while back, Magnus did a tremendous job of disabling most warnings
in the JDK native libraries and enabling warnings as errors on most
of them. However, some libraries, typically awt related, proved to
be harder.
One of the reasons was that some toolchains had different warning
labels specified for C vs C++ and would not accept the other kind
without printing new warning. For libraries containing both C and
C++ source files, this prevented us from disabling all warnings.
This limitation in SetupNativeCompilation has since been fixed so I
could use that functionality to disable most remaining warnings.
Another reason is that some source files contain warnings that are
deemed severe enough by the compiler that they can't be individually
ignored. Since the team owning that source seem unwilling to fix
these warnings anyway, I have simply disabled all warnings on those
specific files, for the specific toolchains where it applies. I have
tried to add descriptive comments explaining each such occurrence.
I have tested this by building a full hotspot job and an openjdk
only job in JPRT. It is possible that people building with other
toolchain versions than Oracle will start seeing new build failures
because of more warnings in these libraries. In that case, either
--disable-warnings-as-errors, submit fixes for the warnings, or add
more warning ignores.
Bug: https://bugs.openjdk.java.net/browse/JDK-8148629
Webrev: http://cr.openjdk.java.net/~erikj/8148629/webrev.jdk.01/
/Erik