mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Quoc Peyrot <chojin@lrde.epita.fr>,
Robert Anisko <anisko_r@lrde.epita.fr> * data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop when the stacks contain one element, as the loop would otherwise free the last state, and then use the top state (the one we just popped). This means that the initial elements will not be freed explicitly, as is the case in yacc.c; it is not a problem, as these elements have fake values.
This commit is contained in:
11
ChangeLog
11
ChangeLog
@@ -1,3 +1,14 @@
|
||||
2003-01-13 Akim Demaille <akim@epita.fr>,
|
||||
Quoc Peyrot <chojin@lrde.epita.fr>,
|
||||
Robert Anisko <anisko_r@lrde.epita.fr>
|
||||
|
||||
* data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop
|
||||
when the stacks contain one element, as the loop would otherwise
|
||||
free the last state, and then use the top state (the one we just
|
||||
popped). This means that the initial elements will not be freed
|
||||
explicitly, as is the case in yacc.c; it is not a problem, as
|
||||
these elements have fake values.
|
||||
|
||||
2003-01-11 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* NEWS: %expect-violations are now just warnings, reverting
|
||||
|
||||
@@ -302,7 +302,10 @@ yy::]b4_parser_class_name[::parse ()
|
||||
int nerrs = 0;
|
||||
int errstatus = 0;
|
||||
|
||||
/* Initialize stack. */
|
||||
/* Initialize the stacks. The initial state will be pushed in
|
||||
yynewstate, since the latter expects the semantical and the
|
||||
location values to have been already stored, initialize these
|
||||
stacks with a primary value. */
|
||||
state_stack_ = StateStack (0);
|
||||
semantic_stack_ = SemanticStack (1);
|
||||
location_stack_ = LocationStack (1);
|
||||
@@ -545,7 +548,7 @@ b4_syncline([@oline@], [@ofile@])[
|
||||
}
|
||||
|
||||
/* Pop the current state because it cannot handle the error token. */
|
||||
if (!state_stack_.height ())
|
||||
if (state_stack_.height () == 1)
|
||||
goto yyabortlab;
|
||||
|
||||
#if YYDEBUG
|
||||
|
||||
Reference in New Issue
Block a user