https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53313

--- Comment #9 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to David Stone from comment #8)
> I have changed my opinion on this and agree that warning levels are probably
> not the way to go. The two things from this that I do still want are
> 
> -Weverything-and-I-really-mean-it-this-time

Do you really want -Wdouble-promotion:

          float area(float radius)
          {
             return 3.14159 * radius * radius; // warns!
          }

And -Wtraditional? It warns for example for:
* The unary plus operator.
* A switch statement has an operand of type long. 

And what should happen for -Wc90-c99-compat -Wc99-c11-compat and -Wc++-compat?
They will warn for bool, long long, etc, even if you use '-std=c11'.

As an exercise, you can take the list given by:

wget https://gcc.gnu.org/svn/gcc/trunk/gcc/doc/invoke.texi
grep '@item -W[^ ]\+' -o invoke.texi | grep -v '@item -Wno-\|-Werror\|-Wfatal-'

and try to build any large piece of software with it and see if you still want
-Weverything-and-I-really-mean-it-this-time.

Reply via email to