[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] --warnings=no-XXX [RFC] --warnings categories
From: |
Akim Demaille |
Subject: |
Re: [PATCH] --warnings=no-XXX [RFC] --warnings categories |
Date: |
Sat, 22 Nov 2008 22:51:15 +0100 |
Le 22 nov. 08 à 05:13, Di-an JAN a écrit :
On Fri, 21 Nov 2008, Akim Demaille wrote:
Di-an, could you please push in master the patch of yours that
warns about the missing ; and adds them? We can have it in 2.5 to
drop the ; feature completely starting with 2.6 or so.
Do you want to keep the warning forever or just for 2.5?
I was thinking about 2.5 only.
Should it be just for default language, default skeleton, and --yacc?
It should work for C, C++, and Java.
No, it should be for C only, same cases as for Joel's patch.
Thinking about it some more, I agree with Joel[2] that this patch[1]
is
too complicated to be worthwhile.
I agree too (and discussed about it privately with Joel, I'm not just
overruling him here), I very much dislike all that quantity of code
for just a single semicolon. Yet backward compatibility does matter.
I have no idea how many people are suffering now from this change in
Bison's behavior. They have better things to do in there lives that
having to understand that someone left out a semicolon in a Bison
grammar.
That's why I believe that we need to send the grammar maintainers a
strong signal: that what your patch does. Since it's only a warning,
it should protect users from broken tarballs, and hopefully, it should
give a chance to maintainers to fix their packages.
We could leave the change forever too. I just don't like the idea of
propagating a historical mistake. This means Bison will have this
forever, and I don't feel confortable with this. Yet this might be
the most pragmatic approach.
<sigh>
I don't know. I have no strong opinion now that Joel's patch fixes
most cases while preserving the cases that need not be broken by
this. I just like the idea of being able to get rid of this in the
future, thanks to a temporary warning.
I mean, trying to handle preprocessing
directives... I didn't even thought about it until the testsuite
failed.
Bison really shouldn't do the job of the compiler, whenever
possible[3].
I think we can do without the warning as there will be a compiler
error whenever the warning issued correctly.
I'm not that sure. Beware that users who install tarballs need not be
package maintainers. They just want "./configure && make && make
check && sudo make install" to DTRT. And I hate wasting their time,
they have better things to live than tracking missing semicolons.
The only reason to bother is for bug-compatibility, and the reported
problem[4] is GCC's sample frontend treelang, which is not supposed to
be actually used, and is removed from GCC 4.4 (in development)[5].
Interesting. I wasn't aware of this, thanks for the pointers.