When a literal string is used to define two different tokens,

`bison -v' segfaults.
Reported by Piotr Gackiewicz, and fixed by Neil Booth.
* tests/regression.m4: New file.
Include the core of the sample provided by Piotr Gackiewicz.
* src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
properly.
This commit is contained in:
Akim Demaille
2000-10-04 11:52:53 +00:00
parent a9e64249c8
commit 8e03724b11
6 changed files with 58 additions and 11 deletions

26
tests/regression.m4 Normal file
View File

@@ -0,0 +1,26 @@
# -*- Autoconf -*-
cat <<EOF
Regression tests.
EOF
AT_SETUP(Duplicate string)
AT_DATA([duplicate.y],
[[/* `Bison -v' used to dump core when two tokens are defined with the same
string, as LE and GE below. */
%token NUM
%token LE "<="
%token GE "<="
%%
exp: '(' exp ')' | NUM ;
%%
]])
AT_CHECK([bison -v duplicate.y -o duplicate.c], 0, ignore, ignore)
AT_CLEANUP(duplicate.*)