D
Daniel Vallstrom
[snip discussion about translating ordinary language into
a formal one.]
I can only agree with James Dennett's reply to your post and
I'll just reply to some of your comments. Over all IMO you
take a too positivistic approach. An essential --- and good! ---
characteristic of ordinary language is that it can *not* be
formalized. Sure, there might be a better formulation of what
-Wall mean, but it's no big deal.
I do mean "it doesn't make sense" (with the meaning that phrase usually
has in ordinary English). Let's agree that the sentence can mean one of
two things:
(1) warn about every character in the file;
(2) warn about this specific set of constructions.
Since (1) "doesn't make sense" (in the ordinary sense of the phrase),
(2) must be what the gcc devs mean.
Hm, reading that I get the feeling that you think that I in some way
implied a connection between "luddite" and you. Nothing could be
more wrong. Because surely you can't suggest that the word 'luddite'
should be banned? I used it in the following sense to get to (1) above:
"for every character there exists a luddite that wants to warn about
it" and "there exists a character that only a luddite wants to warn
about" Maybe there is a better word but I couldn't find one anyway.
And it doesn't stretch word meaning too far. I just tried to be
specific when I used the word 'luddite'. (Or maybe it was my
"today's word" that I had to use in a sentence
Again, if you think that I implied something disparaging between
the lines you are mistaken. It would also be somewhat ironic since
it is you that argues for a "logical" interpretation of English;p
That *is* the interpretation that all of us have been suggesting.
(Here is a link to the manual on gcc's warning options under
discussion
http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Warning-Options.html#Warning-Options
I also listed -Wno-sign-compare which turns off -Wsign-compare
included in -Wextra. But other than that, the answer would be
"yes", with a quick reading.
But the fact that I --- like many others? --- also use -Wextra,
amended by -Wno-sign-compare, does not mean that I disagree
with anything stated on gcc's warning man-page about -Wall and
-Wextra.
The only thing I have against -Wall is the braindead &&-|| warning
and you can work around that problem without affecting the code
you write. It would be interesting to hear what you have against
-Wall. If it's the combination -Wall and -Werror that is the
problem then maybe you should skip -Werror instead of the (IMO
and in many others) useful -Wall.
Daniel Vallstrom
a formal one.]
I can only agree with James Dennett's reply to your post and
I'll just reply to some of your comments. Over all IMO you
take a too positivistic approach. An essential --- and good! ---
characteristic of ordinary language is that it can *not* be
formalized. Sure, there might be a better formulation of what
-Wall mean, but it's no big deal.
false.You don't mean it doesn't make sense; you mean you disagree with what
it says. The meaning that "-Wall warns on all constructs that any user
found questionable" is perfectly sensible even if it happens to be
I do mean "it doesn't make sense" (with the meaning that phrase usually
has in ordinary English). Let's agree that the sentence can mean one of
two things:
(1) warn about every character in the file;
(2) warn about this specific set of constructions.
Since (1) "doesn't make sense" (in the ordinary sense of the phrase),
(2) must be what the gcc devs mean.
Incidentally, you can tell a lot about the quality of someone's
arguments by their attitude toward using words like "luddite" as
part of their arguments.
Hm, reading that I get the feeling that you think that I in some way
implied a connection between "luddite" and you. Nothing could be
more wrong. Because surely you can't suggest that the word 'luddite'
should be banned? I used it in the following sense to get to (1) above:
"for every character there exists a luddite that wants to warn about
it" and "there exists a character that only a luddite wants to warn
about" Maybe there is a better word but I couldn't find one anyway.
And it doesn't stretch word meaning too far. I just tried to be
specific when I used the word 'luddite'. (Or maybe it was my
"today's word" that I had to use in a sentence
Again, if you think that I implied something disparaging between
the lines you are mistaken. It would also be somewhat ironic since
it is you that argues for a "logical" interpretation of English;p
It's also
possible to interpret it as "-Wall includes all the warnings for
constructs that GNU developers find questionable", and I wouldn't be
surprised if that interpretation were closer to the truth than most of
the others that have been mentioned.
That *is* the interpretation that all of us have been suggesting.
(Here is a link to the manual on gcc's warning options under
discussion
http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Warning-Options.html#Warning-Options
OK, what are the problematic warnings triggered by -Wall?
I'm happy to go through the list of -W<something> options covered by
-Wall and see which ones I've found helpful and which not, if you will
also do that for the set of constructs covered by the -W option.
[stuff about -Wparentheses snipped]
-Wextra (-W) warns about the idiom
p0 == p1 == ... == pn
even when pi is 0 or 1, or of type bool. This is unfortunate.
Do you mean this to be the only warning covered under -W (aka -Wextra)
that you find objectionable?
I also listed -Wno-sign-compare which turns off -Wsign-compare
included in -Wextra. But other than that, the answer would be
"yes", with a quick reading.
But the fact that I --- like many others? --- also use -Wextra,
amended by -Wno-sign-compare, does not mean that I disagree
with anything stated on gcc's warning man-page about -Wall and
-Wextra.
The only thing I have against -Wall is the braindead &&-|| warning
and you can work around that problem without affecting the code
you write. It would be interesting to hear what you have against
-Wall. If it's the combination -Wall and -Werror that is the
problem then maybe you should skip -Werror instead of the (IMO
and in many others) useful -Wall.
Daniel Vallstrom