Fix core dump reported by Pablo De Napoli in

<http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
* tests/regression.at (Invalid inputs with {}): New test.
* src/parse-gram.y (token_name): Translate type before using
it as an index.
This commit is contained in:
Paul Eggert
2005-07-25 03:38:42 +00:00
parent 57beea5776
commit fc01665ea5
3 changed files with 28 additions and 1 deletions

View File

@@ -2,6 +2,12 @@
* NEWS: Version 2.0b. * NEWS: Version 2.0b.
Fix core dump reported by Pablo De Napoli in
<http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
* tests/regression.at (Invalid inputs with {}): New test.
* src/parse-gram.y (token_name): Translate type before using
it as an index.
* data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on * data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on
the user's name space. All uses changed to __attribute__ the user's name space. All uses changed to __attribute__
((__unused__)). ((__unused__)).

View File

@@ -538,5 +538,5 @@ gram_error (location const *loc, char const *msg)
char const * char const *
token_name (int type) token_name (int type)
{ {
return yytname[type]; return yytname[YYTRANSLATE (type)];
} }

View File

@@ -303,6 +303,27 @@ input.y:7.1-8.0: missing `%}' at end of file
AT_CLEANUP AT_CLEANUP
AT_SETUP([Invalid inputs with {}])
AT_DATA([input.y],
[[
%destructor
%initial-action
%lex-param
%parse-param
%printer
%union
]])
AT_CHECK([bison input.y], [1], [],
[[input.y:3.1: missing `{' in "%destructor {...}"
input.y:4.1: missing `{' in "%initial-action {...}"
input.y:4.1: syntax error, unexpected %initial-action {...}, expecting string or identifier
]])
AT_CLEANUP
## ------------------- ## ## ------------------- ##
## Token definitions. ## ## Token definitions. ##