On Tue, 24 Feb 2009 18:57:58 +0100, Harvey Chapman
<hchapman-gcc-help@xxxxxxxx> wrote:
Ian Lance Taylor wrote:
The name -Wall was chosen some 20 years ago. Perhaps it was a mistake,
however it was decided, and documented, and has been used successfully,
for a long time. I think it would take a very persuasive argument to
change it now. That argument would need to be more than merely "the
name doesn't seem right for what it does." You need to consider the
cost of changing all the Makefiles out there which use it, and the
benefits of making the change.
Why not change it to -Wmost or -Wpopular and then mark -Wall as
deprecated for 3-5 years before removal. I would think that would be a
reasonable time frame for such a change with so much history. Or just
leave -Wall as-is, and just discourage further use via a deprecated
warning.
Deprecation sounds like a great idea. If I have a vote for new name, then
I give it to "-Wselect-popular-warnings" as suggested by Eljay.
I can think of three groups of people who would benefit from the
deprecation:
1) People who use the flag and believe that it actually means all
warnings. Why check the docs on something so obvious? These people will be
happy about the deprecation because it will make them realize that there
are more warnings they can enable.
2) People who have read the docs and are confused about the name (I am in
this group now). These people will keep asking questions about the name
unless it is deprecated.
3) People who know the docs by heart and don't really think it matters if
the name says something else than what it does. These people won't have to
explain the flag over and over again for people from group 2.
Other arguments:
1) The name says "all", while the flag does not enable all.
2) The flag might change between versions. So some warnings included in
the flag might be removed, whereas the name suggests that it includes at
least everything you had before.
3) Because it seems like a lot of people agree that the name is not right,
and has proven to cause confusion.
4) It's not an argument to keep it even if it might have been inconsistent
for 20 years.
5) Deprecating it would avoid confusion with a possible future flag that
might actually enable all warnings.
6) I might be running out of arguments, but I will buy you a beer once it
is deprecated, Ian :)
Eivind