]> git.saurik.com Git - bison.git/blobdiff - data/glr.c
* data/glr.c, data/lalr1.cc, data/yacc.c: When YYABORT was
[bison.git] / data / glr.c
index 883c248e6488dd4185b0dcf786074f87b1fe53b7..fbbd993babf9866bec2951e5257bf7aec19dc14e 100644 (file)
@@ -1916,7 +1916,13 @@ yyrecoverSyntaxError (yyGLRStack* yystack,
       yyposn = yystack.yytops.yystates[0]->yyposn;
     }
  yyDone:
-  ;
+  /* On YYABORT, free the lookahead. */
+  if (yystack.yyerrflag == 1 && yytoken != YYEMPTY)
+    {
+      YY_SYMBOL_PRINT ("Error: discarding lookahead",
+                       yytoken, yylvalp, yyllocp);
+      yydestruct (yytoken, yylvalp]b4_location_if([, yyllocp])[);
+    }
 
   yyfreeGLRStack (&yystack);
   return yystack.yyerrflag;