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 <a...@lrde.epita.fr> wrote: > > Le 8 sept. 2014 à 06:08, Aharon Robbins <arn...@skeeve.com> 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?