Andrew,
I guess we can add to build system something like
ALT_COMPILER_FLAGS
and turn on all warnings and -Werror by default.
Having zero-warning build is good practice and it's not too costly.
-Dmitry
On 2011-05-16 19:56, Andrew Haley wrote:
On 05/16/2011 04:35 PM, Kelly O'Hair wrote:
On May 16, 2011, at 7:23 AM, Dr Andrew John Hughes wrote:
I think the issue is actually having -Werror enabled for all builds, not
just debug builds. Without that, these additional warnings would just be
noise. Having -Werror on also causes problems just upgrading the version
of gcc, regardless of distro-specific patching, as new warnings are
introduced or old ones reclassified.
The code being compiled is different with debug vs. product builds
due to assert logic, so I consider it important that all builds use
-Werror if they use it at all.
The -Werror option is a blessing and a curse. I find it highly
commendable that teams (like hotspot) have taken a 'no warnings
allowed' approach to their code base, more teams should do this.
Given the critical nature of a VM in the JDK, it only makes sense to
take all precautions in verifying the code is correct.
But it only makes 100% sense when using the same compiler, same
compiler version, and on the same system. For hotspot, you should
be able to get rid of -Werror by setting WARNINGS_ARE_ERRORS to
empty.
The core problem here, I think, is that some warnings really would be
hard errors by any reasonable measure, so you have to use -Werror.
The example that tripped us up this time was totally innocuous,
though.
Andrew.
--
Dmitry Samersoff
Java Hotspot development team, SPB04
* There will come soft rains ...