Fix bug with non-%union parsers that have printers or destructors,
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 22 Jul 2004 14:42:11 +0000 (14:42 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 22 Jul 2004 14:42:11 +0000 (14:42 +0000)
which led to a Bison core dump.

ChangeLog

index 5211570..7f38696 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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