RFR: JDK-8148629: Disable remaining warnings in awt/fontmanager
coleen.phillimore at oracle.com
Fri Feb 5 16:20:32 UTC 2016
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.
> 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.
>> 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/
More information about the build-dev