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 ...

Reply via email to