On 2/11/2014 7:48 AM, Richard Sandiford wrote:

The patch deliberately didn't affect Ada's diagnostic routines given
your comments from the first round.  Calling this a "huge earthquake"
for other languages seems like a gross overstatement.

Actually it's much less of an impact for Ada for two reasons. First we
only just started tagging warnings. In fact we have only just released
an official version with the facility for tagging warnings.

Second, this tagging of warnings is not the default (that would have
been a big earthquake) but you have to turn it on explicitly.

But I do indeed think it will have a significant impact for users
of other languages, where this has been done for a while, and if
I am not mistaken, done by default?

I don't think gcc, g++, gfortran, etc, have ever made a commitment
to producing textually identical warnings and errors for given inputs
across different releases.  It seems ridiculous to require that,
especially if it stands in the way of improving the diagnostics
or introducing finer-grained -W control.

E.g. Florian's complaint was that we shouldn't have warnings that
are not under the control of any -W options.  But by your logic
we couldn't change that either, because all those "[enabled by default]"s
would become "[-Wnew-option]"s.

I am not saying you can't change it, just that it is indeed a big
earthquake. No of course there is no commitment not to make changes.
But you have to be aware that when you make changes like this, the
impact is very significant in real production environments, and
gcc is as you know extensively used in such environments.

What I am saying here is that this is worth some discussion on what
the best approach is.

Ideally indeed it would be better if all warnings were controlled by
some specific warning category. I am not sure a warning switch that
default-covered all otherwise uncovered cases (as suggested by one
person at least) would be a worthwhile approach.

Reply via email to