[warnings] tagging warnings about options themselves

Mark Mitchell mark@codesourcery.com
Sun Jul 24 03:53:00 GMT 2005


> 1. If we can get to the point where every warning() call has an OPT_*,
>    then we can change warning() to *require* an OPT_* and then we've
>    locked in the new system - nobody could then add new warnings
>    without being able to control them.  I was pondering a catch-all
>    option to avoid an explosion of options, messy but effective.

This is an internal issue, affecting us as developers; it's not an 
argument for changing the external interface of the compiler by adding a 
  new -Woption.

> 2. We had a customer complain about it just today, which is why I
>    looked into it.  Their policy is to use -Werror (I've seen that a
>    lot) which means that *every* uncontrollable warning is going to
>    stop their build cold.  Yes, they could (and did) change their
>    build to avoid the warnings, but if we're going to (1) provide
>    -Werror and also (2) add new warnings all over the place, we should
>    take into account the problems that's going to cause.

I know all about such customers. :-)

However, I think that it's a mistake to allow these option warnings to 
be disregarded.  First, they have to provide the -Wno-options option 
somewhere, which means that one of the compilers in the hypothetical 
build system that uses the same options with all compilers may warn 
about it.  Second, some of these warnings (-fvolatile is no longer 
supported, for example) are warnings that should stop a -Werror build 
cold.  If you're using -fvolatile and upgrade to a compiler that doesn't 
have it, you want to know that you have to go change all of your code.

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304



More information about the Gcc-patches mailing list