Fix bug with non-%union parsers that have printers or destructors,

which led to a Bison core dump.
This commit is contained in:
Paul Eggert
2004-07-22 14:42:11 +00:00
parent ac700aa646
commit c9cbf7c58e

View File

@@ -1,3 +1,22 @@
2004-07-22 Paul Eggert <eggert@cs.ucla.edu>
Fix bug with non-%union parsers that have printers or destructors,
which led to a Bison core dump. Reported by Peter Fales in
<http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>.
* data/c.m4 (b4_symbol_actions): Don't assume %union was used.
* data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE,
not to our own type.
* src/output.c (symbol_destructors_output, symbol_printers_output):
Don't assume %union.
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR,
AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument
UNION-FLAG. All callers changed.
(_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union.
Use type char, not unsigned int, when declaring an array of char;
this lets us remove a cast.
(Printers and Destructors): Add non-%union test cases.
2004-06-21 Paul Eggert <eggert@cs.ucla.edu>
* doc/bison.texinfo: Minor editorial changes, mostly to the new