* src/reader.c (read_declarations): Don't abort on tok_illegal,

issue an error message.
* tests/regression.at (Invalid %directive): New.
Reported by Hans Aberg.
This commit is contained in:
Akim Demaille
2001-11-26 09:50:29 +00:00
parent 5e147124b5
commit e0c40012bd
3 changed files with 33 additions and 5 deletions

View File

@@ -1,3 +1,10 @@
2001-11-26 Akim Demaille <akim@epita.fr>
* src/reader.c (read_declarations): Don't abort on tok_illegal,
issue an error message.
* tests/regression.at (Invalid %directive): New.
Reported by Hans Aberg.
2001-11-26 Akim Demaille <akim@epita.fr>
* configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.

View File

@@ -1054,10 +1054,10 @@ read_declarations (void)
case tok_stropt:
case tok_intopt:
case tok_obsolete:
case tok_illegal:
abort ();
break;
case tok_illegal:
default:
complain (_("unrecognized: %s"), token_buffer);
skip_to_char ('%');

View File

@@ -380,9 +380,9 @@ AT_DATA([input.y],
]])
AT_CHECK([bison input.y], [1], [],
[input.y:2: invalid input: `?'
[[input.y:2: invalid input: `?'
input.y:3: fatal error: no rules in the input grammar
])
]])
AT_CLEANUP
@@ -400,8 +400,29 @@ default: 'a' }
]])
AT_CHECK([bison input.y], [1], [],
[input.y:2: invalid input: `}'
])
[[input.y:2: invalid input: `}'
]])
AT_CLEANUP
## -------------------- ##
## Invalid %directive. ##
## -------------------- ##
AT_SETUP([Invalid %directive])
AT_DATA([input.y],
[[%invalid
]])
AT_CHECK([bison input.y], [1], [],
[[input.y:1: unrecognized: %invalid
input.y:1: Skipping to next %
input.y:2: fatal error: no input grammar
]])
AT_CLEANUP