GCC-3.2.2 bootstrap FAILURE: 1 reduce/reduce conflict in objc-parse.y
Raja R Harinath
harinath@cs.umn.edu
Tue Jan 28 00:09:00 GMT 2003
Hi,
Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
> Paolo Carlini <pcarlini@unitus.it> writes:
>
> | Gabriel Dos Reis wrote:
> |
> | >Could anyone bootstrap with Bison 1.875?
> | >
> | Just tried for you, Gaby: definitely Bison 1.875 is not ok for Objc!
>
> Thanks!
>
> I don't know whether this is a bug in objc-parse.y or a bug in Bison
> 1.875. I'll make a release note unless someone comes with a fix.
See
objc/9267: bison 1.875 doesn't like reduce/reduce errors with %expect N
It is a bug in 'objc-parse.y' (a misuse of %expect). There has
been a reduce/reduce conflict in that file for quite some time. The
comment even says so (c-parse.in):
ifobjc
%expect 32 /* shift/reduce conflicts, and 1 reduce/reduce conflict. */
end ifobjc
However, %expect, among other things, means "exactly 0 reduce/reduce
conflicts".
Older versions of bison correctly warned about finding reduce/reduce
conflicts -- thus defeating the only purpose of the %expect: avoid
warnings.
Bison 1.875 escalated the warning to an error. The CVS version of
bison has de-escalated this back to a warning.
The correct fix to the bug: kill the %expect line in objc-parse.y.
This will have no functional change. There was a warning before, and
there'll be a warning now, when you process objc-parse.y. Only now,
you aren't claiming things that aren't true.
- Hari
--
Raja R Harinath ------------------------------ harinath@cs.umn.edu
More information about the Gcc-bugs
mailing list