bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: incompatibility between 2.7 and 3.0.2


From: arnold
Subject: Re: incompatibility between 2.7 and 3.0.2
Date: Mon, 08 Sep 2014 05:45:38 -0600
User-agent: Heirloom mailx 12.4 7/29/08

Hi Akim.

Seems that the core dump is fixed in the latest in the 'comment' branch.

If I do a clean checkout of the 'comment' branch, run bootstrap.sh
to adjust time stamps, confgiure, make, and make check, I get 4 test
failures.

If I then 'make clean', remove awkgram.c, and use bison 3.0.2 to
regenerate awkgram.c, (just by running make with that bison in my $PATH)
and then run 'make check' I get 22 failures.

'make diffout' compares the results from the run of make check with
the "good" results.

I'm on Ubuntu 12.04, 64 bit, stock gcc (4.6.3, I think).

The gawk parser doesn't take advantage of bison features since I
have not had a need to, and so that it can be run with Unix or BSD
yacc.

HTH,

Thanks,

Arnold

Akim Demaille <address@hidden> wrote:

>
> Le 8 sept. 2014 à 06:08, Aharon Robbins <address@hidden> a écrit :
>
> > Hi.
>
> Hi Aharon,
>
> > We're doing some experimental gawk development, and have found that
> > there is a difference if using bison 2.7 or 3.0.2.  If you check out
> > the gawk repository from savannah and checkout the 'comment' branch,
> > then
> > 
> >     ./boostrap.sh
> >     ./configure && make && make check
> > 
> > Only a few tests will fail, which we're working on.
> > 
> > However, if you remove awkgram.c and use bison 3.0.2 to regenerate
> > it, then run
> > 
> >     make && make check
> > 
> > A larger number of tests fail with errors due to line numbers being
> > off and also a core dump, apparently from a semantic action not
> > getting run, or run correctly.
>
> Do you know what rule is not executed?  The parser is hard to
> read, it does not seem to use Bison's location tracking, and
> there are no %printer to assist the debugging.
>
> When I enable the debug traces, all the differences there are
> before 2.7 and 3.0 is:
>
> --- old.log     2014-09-08 12:07:06.000000000 +0200
> +++ new.log     2014-09-08 12:08:03.000000000 +0200
> @@ -1817,4 +1817,4 @@
>  Stack now 0 1 2
>  Cleanup: popping token $end ()
>  Cleanup: popping nterm program ()
> -gawk: test/arrayparm.awk:13: fatal: attempt to use array `i (from foo)' in a 
> scalar context
> +gawk: test/arrayparm.awk:7: fatal: attempt to use array `i (from foo)' in a 
> scalar context
>
> which is a bit short to try to debug.  What test actually
> fails with a SEGV?  What did Valgrind report?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]