bug-bison
[Top][All Lists]
Advanced

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

Re: bison valgrind


From: Paul Eggert
Subject: Re: bison valgrind
Date: Fri, 08 Jul 2005 00:25:10 -0700
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

address@hidden writes:

> make maintainer-check runs fine,
> but when valgrind is installed not.
> fixes needed in tests/Makefile.am ?
> [install valgrind and see for yourself]

Thanks for reporting that.  I have verified that there is a bug here,,
in the GLR code of CVS Bison, if you have valgrind installed and then
run "./bootstrap; configure; make; make maintainer-check".  The
generated parser is using uninitialized data (I think it's supposed to
be a line number).

Paul, do you have "valgrind" installed <http://valgrind.org/>?
If so, can you please look into this?  Or perhaps you can figure
it out from this test run with valgrind:

$ cd tests
$ ./testsuite -v -d 87 PREPARSER='valgrind -q'
## -------------------------- ##
## GNU Bison 2.0a test suite. ##
## -------------------------- ##
87. calc.at:592: testing ...
calc.at:592: bison -o calc.c calc.y
calc.at:592: $CC $CFLAGS $CPPFLAGS $LDFLAGS -o calc calc.c $LIBS
stderr:
stdout:
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token number (1.0-1.1: )
Shifting token number (1.0-1.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '+' (1.2-1.3: )
Shifting token '+' (1.2-1.3: )
Entering state 17
Reading a token: Next token is token number (1.4-1.5: )
Shifting token number (1.4-1.5: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 26
Reading a token: Next token is token '*' (1.6-1.7: )
Shifting token '*' (1.6-1.7: )
Entering state 18
Reading a token: Next token is token number (1.8-1.9: )
Shifting token number (1.8-1.9: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 27
Reading a token: Next token is token '=' (1.10-1.11: )
Reducing stack 0 by rule 9 (line 86), exp '*' exp -> exp
Entering state 26
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 8
Shifting token '=' (1.10-1.11: )
Entering state 15
Reading a token: Next token is token number (1.12-1.13: )
Shifting token number (1.12-1.13: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (1.13-2.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (1.13-2.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 7
Reducing stack 0 by rule 1 (line 67), line -> input
Entering state 6
Reading a token: Next token is token number (2.0-2.1: )
Shifting token number (2.0-2.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '+' (2.2-2.3: )
Shifting token '+' (2.2-2.3: )
Entering state 17
Reading a token: Next token is token number (2.4-2.5: )
Shifting token number (2.4-2.5: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 26
Reading a token: Next token is token '*' (2.6-2.7: )
Shifting token '*' (2.6-2.7: )
Entering state 18
Reading a token: Next token is token '-' (2.8-2.9: )
Shifting token '-' (2.8-2.9: )
Entering state 2
Reading a token: Next token is token number (2.9-2.10: )
Shifting token number (2.9-2.10: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '=' (2.11-2.12: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 27
Reducing stack 0 by rule 9 (line 86), exp '*' exp -> exp
Entering state 26
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 8
Shifting token '=' (2.11-2.12: )
Entering state 15
Reading a token: Next token is token '-' (2.13-2.14: )
Shifting token '-' (2.13-2.14: )
Entering state 2
Reading a token: Next token is token number (2.14-2.15: )
Shifting token number (2.14-2.15: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '\n' (2.15-3.0: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 24
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (2.15-3.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '\n' (3.0-4.0: )
Shifting token '\n' (3.0-4.0: )
Entering state 3
Reducing stack 0 by rule 3 (line 72), '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '-' (4.0-4.1: )
Shifting token '-' (4.0-4.1: )
Entering state 2
Reading a token: Next token is token number (4.1-4.2: )
Shifting token number (4.1-4.2: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '^' (4.2-4.3: )
Shifting token '^' (4.2-4.3: )
Entering state 20
Reading a token: Next token is token number (4.3-4.4: )
Shifting token number (4.3-4.4: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 29
Reading a token: Next token is token '=' (4.5-4.6: )
Reducing stack 0 by rule 12 (line 89), exp '^' exp -> exp
Entering state 10
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 8
Shifting token '=' (4.5-4.6: )
Entering state 15
Reading a token: Next token is token '-' (4.7-4.8: )
Shifting token '-' (4.7-4.8: )
Entering state 2
Reading a token: Next token is token number (4.8-4.9: )
Shifting token number (4.8-4.9: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '\n' (4.9-5.0: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 24
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (4.9-5.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '(' (5.0-5.1: )
Shifting token '(' (5.0-5.1: )
Entering state 4
Reading a token: Next token is token '-' (5.1-5.2: )
Shifting token '-' (5.1-5.2: )
Entering state 2
Reading a token: Next token is token number (5.2-5.3: )
Shifting token number (5.2-5.3: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token ')' (5.3-5.4: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 12
Shifting token ')' (5.3-5.4: )
Entering state 23
Reducing stack 0 by rule 13 (line 90), '(' exp ')' -> exp
Entering state 8
Reading a token: Next token is token '^' (5.4-5.5: )
Shifting token '^' (5.4-5.5: )
Entering state 20
Reading a token: Next token is token number (5.5-5.6: )
Shifting token number (5.5-5.6: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 29
Reading a token: Next token is token '=' (5.7-5.8: )
Reducing stack 0 by rule 12 (line 89), exp '^' exp -> exp
Entering state 8
Shifting token '=' (5.7-5.8: )
Entering state 15
Reading a token: Next token is token number (5.9-5.10: )
Shifting token number (5.9-5.10: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (5.10-6.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (5.10-6.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '\n' (6.0-7.0: )
Shifting token '\n' (6.0-7.0: )
Entering state 3
Reducing stack 0 by rule 3 (line 72), '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '-' (7.0-7.1: )
Shifting token '-' (7.0-7.1: )
Entering state 2
Reading a token: Next token is token '-' (7.1-7.2: )
Shifting token '-' (7.1-7.2: )
Entering state 2
Reading a token: Next token is token '-' (7.2-7.3: )
Shifting token '-' (7.2-7.3: )
Entering state 2
Reading a token: Next token is token number (7.3-7.4: )
Shifting token number (7.3-7.4: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '=' (7.5-7.6: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 10
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 10
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 8
Shifting token '=' (7.5-7.6: )
Entering state 15
Reading a token: Next token is token '-' (7.7-7.8: )
Shifting token '-' (7.7-7.8: )
Entering state 2
Reading a token: Next token is token number (7.8-7.9: )
Shifting token number (7.8-7.9: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '\n' (7.9-8.0: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 24
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (7.9-8.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '\n' (8.0-9.0: )
Shifting token '\n' (8.0-9.0: )
Entering state 3
Reducing stack 0 by rule 3 (line 72), '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token number (9.0-9.1: )
Shifting token number (9.0-9.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '-' (9.2-9.3: )
Shifting token '-' (9.2-9.3: )
Entering state 16
Reading a token: Next token is token number (9.4-9.5: )
Shifting token number (9.4-9.5: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 25
Reading a token: Next token is token '-' (9.6-9.7: )
Reducing stack 0 by rule 8 (line 85), exp '-' exp -> exp
Entering state 8
Shifting token '-' (9.6-9.7: )
Entering state 16
Reading a token: Next token is token number (9.8-9.9: )
Shifting token number (9.8-9.9: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 25
Reading a token: Next token is token '=' (9.10-9.11: )
Reducing stack 0 by rule 8 (line 85), exp '-' exp -> exp
Entering state 8
Shifting token '=' (9.10-9.11: )
Entering state 15
Reading a token: Next token is token '-' (9.12-9.13: )
Shifting token '-' (9.12-9.13: )
Entering state 2
Reading a token: Next token is token number (9.13-9.14: )
Shifting token number (9.13-9.14: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 10
Reading a token: Next token is token '\n' (9.14-10.0: )
Reducing stack 0 by rule 11 (line 88), '-' exp -> exp
Entering state 24
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (9.14-10.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token number (10.0-10.1: )
Shifting token number (10.0-10.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '-' (10.2-10.3: )
Shifting token '-' (10.2-10.3: )
Entering state 16
Reading a token: Next token is token '(' (10.4-10.5: )
Shifting token '(' (10.4-10.5: )
Entering state 4
Reading a token: Next token is token number (10.5-10.6: )
Shifting token number (10.5-10.6: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 12
Reading a token: Next token is token '-' (10.7-10.8: )
Shifting token '-' (10.7-10.8: )
Entering state 16
Reading a token: Next token is token number (10.9-10.10: )
Shifting token number (10.9-10.10: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 25
Reading a token: Next token is token ')' (10.10-10.11: )
Reducing stack 0 by rule 8 (line 85), exp '-' exp -> exp
Entering state 12
Shifting token ')' (10.10-10.11: )
Entering state 23
Reducing stack 0 by rule 13 (line 90), '(' exp ')' -> exp
Entering state 25
Reading a token: Next token is token '=' (10.12-10.13: )
Reducing stack 0 by rule 8 (line 85), exp '-' exp -> exp
Entering state 8
Shifting token '=' (10.12-10.13: )
Entering state 15
Reading a token: Next token is token number (10.14-10.15: )
Shifting token number (10.14-10.15: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (10.15-11.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (10.15-11.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '\n' (11.0-12.0: )
Shifting token '\n' (11.0-12.0: )
Entering state 3
Reducing stack 0 by rule 3 (line 72), '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token number (12.0-12.1: )
Shifting token number (12.0-12.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '^' (12.1-12.2: )
Shifting token '^' (12.1-12.2: )
Entering state 20
Reading a token: Next token is token number (12.2-12.3: )
Shifting token number (12.2-12.3: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 29
Reading a token: Next token is token '^' (12.3-12.4: )
Shifting token '^' (12.3-12.4: )
Entering state 20
Reading a token: Next token is token number (12.4-12.5: )
Shifting token number (12.4-12.5: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 29
Reading a token: Next token is token '=' (12.6-12.7: )
Reducing stack 0 by rule 12 (line 89), exp '^' exp -> exp
Entering state 29
Reducing stack 0 by rule 12 (line 89), exp '^' exp -> exp
Entering state 8
Shifting token '=' (12.6-12.7: )
Entering state 15
Reading a token: Next token is token number (12.8-12.11: )
Shifting token number (12.8-12.11: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (12.11-13.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (12.11-13.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token '(' (13.0-13.1: )
Shifting token '(' (13.0-13.1: )
Entering state 4
Reading a token: Next token is token number (13.1-13.2: )
Shifting token number (13.1-13.2: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 12
Reading a token: Next token is token '^' (13.2-13.3: )
Shifting token '^' (13.2-13.3: )
Entering state 20
Reading a token: Next token is token number (13.3-13.4: )
Shifting token number (13.3-13.4: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 29
Reading a token: Next token is token ')' (13.4-13.5: )
Reducing stack 0 by rule 12 (line 89), exp '^' exp -> exp
Entering state 12
Shifting token ')' (13.4-13.5: )
Entering state 23
Reducing stack 0 by rule 13 (line 90), '(' exp ')' -> exp
Entering state 8
Reading a token: Next token is token '^' (13.5-13.6: )
Shifting token '^' (13.5-13.6: )
Entering state 20
Reading a token: Next token is token number (13.6-13.7: )
Shifting token number (13.6-13.7: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 29
Reading a token: Next token is token '=' (13.8-13.9: )
Reducing stack 0 by rule 12 (line 89), exp '^' exp -> exp
Entering state 8
Shifting token '=' (13.8-13.9: )
Entering state 15
Reading a token: Next token is token number (13.10-13.12: )
Shifting token number (13.10-13.12: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (13.12-14.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
Entering state 8
Shifting token '\n' (13.12-14.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 14
Reducing stack 0 by rule 2 (line 68), input line -> input
Entering state 6
Reading a token: Next token is token end of input (14.0-14.1: )
Shifting token end of input (14.0-14.1: )
Entering state 13
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token number (1.0-1.1: )
Shifting token number (1.0-1.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token number (1.2-1.3: )
1.2: syntax error, unexpected number
Error: popping nterm exp (1.0-1.1: )Error: popping token end of input (1.0-1.0: 
)Error: discarding lookahead token number (1.2-1.3: )
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token number (1.0-1.1: )
Shifting token number (1.0-1.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '/' (1.1-1.2: )
Shifting token '/' (1.1-1.2: )
Entering state 19
Reading a token: Next token is token '/' (1.2-1.3: )
1.2: syntax error, unexpected '/', expecting number or '-' or '(' or '!'
Error: popping token '/' (1.1-1.2: )Error: popping nterm exp (1.0-1.1: )Error: 
popping token end of input (1.0-1.0: )Error: discarding lookahead token '/' 
(1.2-1.3: )
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token $undefined (1.0-1.1: )
1.0: syntax error, unexpected $undefined
Error: popping token end of input (1.0-1.0: )Error: discarding lookahead token 
$undefined (1.0-1.1: )
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token number (1.0-1.1: )
Shifting token number (1.0-1.1: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 8
Reading a token: Next token is token '=' (1.2-1.3: )
Shifting token '=' (1.2-1.3: )
Entering state 15
Reading a token: Next token is token number (1.4-1.5: )
Shifting token number (1.4-1.5: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '=' (1.6-1.7: )
1.6: syntax error, unexpected '='
Error: popping nterm exp (1.4-1.5: )Error: popping token '=' (1.2-1.3: )Error: 
popping nterm exp (1.0-1.1: )Error: popping token end of input (1.0-1.0: 
)Error: discarding lookahead token '=' (1.6-1.7: )
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token '\n' (1.0-2.0: )
Shifting token '\n' (1.0-2.0: )
Entering state 3
Reducing stack 0 by rule 3 (line 72), '\n' -> line
Entering state 7
Reducing stack 0 by rule 1 (line 67), line -> input
Entering state 6
Reading a token: Next token is token '+' (2.0-2.1: )
2.0: syntax error, unexpected '+'
Error: popping nterm input (1.0-2.0: )Error: popping token end of input 
(1.0-1.0: )Error: discarding lookahead token '+' (2.0-2.1: )
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc /dev/null
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token end of input (1.0-1.1: )
1.0: syntax error, unexpected end of input
Error: popping token end of input (1.0-1.0: )Error: discarding lookahead token 
end of input (1.0-1.1: )
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token '(' (1.0-1.1: )
Shifting token '(' (1.0-1.1: )
Entering state 4
Reading a token: Next token is token ')' (1.1-1.2: )
1.1: syntax error, unexpected ')', expecting number or '-' or '(' or '!'
Shifting token error (1.1-1.2: )
Entering state 11
Shifting token ')' (1.1-1.2: )
Entering state 22
Reducing stack 0 by rule 14 (line 91), '(' error ')' -> exp
Entering state 8
Reading a token: Next token is token '+' (1.3-1.4: )
Shifting token '+' (1.3-1.4: )
Entering state 17
Reading a token: Next token is token '(' (1.5-1.6: )
Shifting token '(' (1.5-1.6: )
Entering state 4
Reading a token: Next token is token number (1.6-1.7: )
Shifting token number (1.6-1.7: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 12
Reading a token: Next token is token '+' (1.8-1.9: )
Shifting token '+' (1.8-1.9: )
Entering state 17
Reading a token: Next token is token number (1.10-1.11: )
Shifting token number (1.10-1.11: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 26
Reading a token: Next token is token '+' (1.12-1.13: )
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 12
Shifting token '+' (1.12-1.13: )
Entering state 17
Reading a token: Next token is token number (1.14-1.15: )
Shifting token number (1.14-1.15: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 26
Reading a token: Next token is token '+' (1.16-1.17: )
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 12
Shifting token '+' (1.16-1.17: )
Entering state 17
Reading a token: Next token is token ')' (1.17-1.18: )
1.17: syntax error, unexpected ')', expecting number or '-' or '(' or '!'
Error: popping token '+' (1.16-1.17: )Error: popping nterm exp (1.6-1.15: 
)Shifting token error (1.6-1.18: )
Entering state 11
Shifting token ')' (1.17-1.18: )
Entering state 22
Reducing stack 0 by rule 14 (line 91), '(' error ')' -> exp
Entering state 26
Reading a token: Next token is token '+' (1.19-1.20: )
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 8
Shifting token '+' (1.19-1.20: )
Entering state 17
Reading a token: Next token is token '(' (1.21-1.22: )
Shifting token '(' (1.21-1.22: )
Entering state 4
Reading a token: Next token is token '*' (1.22-1.23: )
1.22: syntax error, unexpected '*', expecting number or '-' or '(' or '!'
Shifting token error (1.22-1.23: )
Entering state 11
Error: discarding token '*' (1.22-1.23: )Reading a token: Next token is token 
'*' (1.24-1.25: )
Error: discarding token '*' (1.24-1.25: )Reading a token: Next token is token 
'*' (1.26-1.27: )
Error: discarding token '*' (1.26-1.27: )Reading a token: Next token is token 
')' (1.27-1.28: )
Entering state 11
Shifting token ')' (1.27-1.28: )
Entering state 22
Reducing stack 0 by rule 14 (line 91), '(' error ')' -> exp
Entering state 26
Reading a token: Next token is token '+' (1.29-1.30: )
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 8
Shifting token '+' (1.29-1.30: )
Entering state 17
Reading a token: Next token is token '(' (1.31-1.32: )
Shifting token '(' (1.31-1.32: )
Entering state 4
Reading a token: Next token is token number (1.32-1.33: )
Shifting token number (1.32-1.33: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 12
Reading a token: Next token is token '*' (1.34-1.35: )
Shifting token '*' (1.34-1.35: )
Entering state 18
Reading a token: Next token is token number (1.36-1.37: )
Shifting token number (1.36-1.37: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 27
Reading a token: Next token is token '*' (1.38-1.39: )
Reducing stack 0 by rule 9 (line 86), exp '*' exp -> exp
Entering state 12
Shifting token '*' (1.38-1.39: )
Entering state 18
Reading a token: Next token is token '*' (1.40-1.41: )
1.40: syntax error, unexpected '*', expecting number or '-' or '(' or '!'
Error: popping token '*' (1.38-1.39: )Error: popping nterm exp (1.32-1.37: 
)Shifting token error (1.32-1.41: )
Entering state 11
Error: discarding token '*' (1.40-1.41: )Reading a token: Next token is token 
')' (1.41-1.42: )
Entering state 11
Shifting token ')' (1.41-1.42: )
Entering state 22
Reducing stack 0 by rule 14 (line 91), '(' error ')' -> exp
Entering state 26
Reading a token: Next token is token '=' (1.43-1.44: )
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 8
Shifting token '=' (1.43-1.44: )
Entering state 15
Reading a token: Next token is token number (1.45-1.46: )
Shifting token number (1.45-1.46: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (1.46-2.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
calc: error: 4444 != 1
Entering state 8
Shifting token '\n' (1.46-2.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 7
Reducing stack 0 by rule 1 (line 67), line -> input
Entering state 6
Reading a token: Next token is token end of input (2.0-2.1: )
Shifting token end of input (2.0-2.1: )
Entering state 13
calc.at:592: cat stderr
calc.at:592: $PREPARSER ./calc input
stderr:
Starting parse
Entering state 0
Reading a token: Next token is token '(' (1.0-1.1: )
Shifting token '(' (1.0-1.1: )
Entering state 4
Reading a token: Next token is token '!' (1.1-1.2: )
Shifting token '!' (1.1-1.2: )
Entering state 5
Reducing stack 0 by rule 15 (line 92), '!' -> exp
Shifting token error (==10983== Use of uninitialised value of size 4
==10983==    at 0x1B963CDC: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
==10983== 
==10983== Conditional jump or move depends on uninitialised value(s)
==10983==    at 0x1B963CE4: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
==10983== 
==10983== Conditional jump or move depends on uninitialised value(s)
==10983==    at 0x1B963718: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
==10983== 
==10983== Conditional jump or move depends on uninitialised value(s)
==10983==    at 0x1B963783: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
==10983== 
==10983== Conditional jump or move depends on uninitialised value(s)
==10983==    at 0x1B9637A4: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
==10983== 
==10983== Conditional jump or move depends on uninitialised value(s)
==10983==    at 0x1B9637D5: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
==10983== 
==10983== Conditional jump or move depends on uninitialised value(s)
==10983==    at 0x1B963801: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
==10983==    by 0x804879E: yysymprint (calc.c:519)
==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
==10983==    by 0x804BEB0: calcparse (calc.c:2182)
==10983==    by 0x804C629: main (calc.y:264)
462521976.0-1.2: )
Entering state 11
Reading a token: Next token is token ')' (1.2-1.3: )
Shifting token ')' (1.2-1.3: )
Entering state 22
Reducing stack 0 by rule 14 (line 91), '(' error ')' -> exp
Entering state 8
Reading a token: Next token is token '+' (1.4-1.5: )
Shifting token '+' (1.4-1.5: )
Entering state 17
Reading a token: Next token is token '(' (1.6-1.7: )
Shifting token '(' (1.6-1.7: )
Entering state 4
Reading a token: Next token is token number (1.7-1.8: )
Shifting token number (1.7-1.8: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 12
Reading a token: Next token is token number (1.9-1.10: )
1.9: syntax error, unexpected number
Error: popping nterm exp (1.7-1.8: )Shifting token error (1.7-1.10: )
Entering state 11
Error: discarding token number (1.9-1.10: )Reading a token: Next token is token 
')' (1.10-1.11: )
Entering state 11
Shifting token ')' (1.10-1.11: )
Entering state 22
Reducing stack 0 by rule 14 (line 91), '(' error ')' -> exp
Entering state 26
Reading a token: Next token is token '=' (1.12-1.13: )
Reducing stack 0 by rule 7 (line 84), exp '+' exp -> exp
Entering state 8
Shifting token '=' (1.12-1.13: )
Entering state 15
Reading a token: Next token is token number (1.14-1.15: )
Shifting token number (1.14-1.15: )
Entering state 1
Reducing stack 0 by rule 5 (line 77), number -> exp
Entering state 24
Reading a token: Next token is token '\n' (1.15-2.0: )
Reducing stack 0 by rule 6 (line 78), exp '=' exp -> exp
calc: error: 2222 != 1
Entering state 8
Shifting token '\n' (1.15-2.0: )
Entering state 21
Reducing stack 0 by rule 4 (line 73), exp '\n' -> line
Entering state 7
Reducing stack 0 by rule 1 (line 67), line -> input
Entering state 6
Reading a token: Next token is token end of input (2.0-2.1: )
Shifting token end of input (2.0-2.1: )
Entering state 13
calc.at:592: cat stderr
--- expout      2005-07-08 00:20:34.000000000 -0700
+++ /home/eggert/src/gnu/bison-example/tests/testsuite.dir/at-stdout    
2005-07-08 00:20:34.000000000 -0700
@@ -1,2 +1,71 @@
+==10983==    at 0x1B963CDC: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+==10983== 
+==10983== Conditional jump or move depends on uninitialised value(s)
+==10983==    at 0x1B963CE4: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+==10983== 
+==10983== Conditional jump or move depends on uninitialised value(s)
+==10983==    at 0x1B963718: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+==10983== 
+==10983== Conditional jump or move depends on uninitialised value(s)
+==10983==    at 0x1B963783: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+==10983== 
+==10983== Conditional jump or move depends on uninitialised value(s)
+==10983==    at 0x1B9637A4: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+==10983== 
+==10983== Conditional jump or move depends on uninitialised value(s)
+==10983==    at 0x1B9637D5: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+==10983== 
+==10983== Conditional jump or move depends on uninitialised value(s)
+==10983==    at 0x1B963801: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B964F3D: (within /lib/libc-2.3.2.so)
+==10983==    by 0x1B960EBF: vfprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x1B96994E: fprintf (in /lib/libc-2.3.2.so)
+==10983==    by 0x804879E: yysymprint (calc.c:519)
+==10983==    by 0x804B55E: yyrecoverSyntaxError (calc.c:2013)
+==10983==    by 0x804BEB0: calcparse (calc.c:2182)
+==10983==    by 0x804C629: main (calc.y:264)
+462521976.0-1.2: )
 1.9: syntax error, unexpected number
 calc: error: 2222 != 1
87. calc.at:592: FAILED (calc.at:592)

## ------------- ##
## Test results. ##
## ------------- ##

ERROR: 1 test was run,
1 failed unexpectedly.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##

Please send `testsuite.log' and all information you think might help:

   To: <address@hidden>
   Subject: [GNU Bison 2.0a] testsuite: 87 failed






reply via email to

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