nie budujące się gcc - rozwiązanie

Michal Moskal malekith w pld-linux.org
Pon, 3 Lut 2003, 02:50:11 CET


Ktoś niedawno pytał. Trzeba wywalić jedną linijkę z c-parse.in.

----- Forwarded message from Raja R Harinath <harinath w cs.umn.edu> -----

To: Gabriel Dos Reis <gdr w integrable-solutions.net>
Cc: Paolo Carlini <pcarlini w unitus.it>, gcc-bugs w gcc.gnu.org,
	gcc w gcc.gnu.org
Subject: Re: GCC-3.2.2 bootstrap FAILURE: 1 reduce/reduce conflict in
 objc-parse.y
From: Raja R Harinath <harinath w cs.umn.edu>
Date: Mon, 27 Jan 2003 16:18:50 -0600
User-Agent: Gnus/5.090014 (Oort Gnus v0.14) Emacs/21.3.50
 (i686-pc-linux-gnu)
X-AntiVirus: scanned for viruses by AMaViS 0.2.1 (http://amavis.org/)
X-Spam: no; 0.00; gcc-3:01 bootstrap:01 failure:01 reduce:01 conflict:01 writes:01 wrote:01 objc:01 bug:01 errors:01 comment:01 c-parse:01 shift:01 correctly:01 warned:01 

Hi,

Gabriel Dos Reis <gdr w integrable-solutions.net> writes:

> Paolo Carlini <pcarlini w 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 w cs.umn.edu

----- End forwarded message -----

-- 
: Michal Moskal ::::: malekith/at/pld-linux.org :  GCS {C,UL}++++$ a? !tv
: PLD Linux ::::::: Wroclaw University, CS Dept :  {E-,w}-- {b++,e}>+++ h



Więcej informacji o liście dyskusyjnej pld-devel-pl