]> git.saurik.com Git - bison.git/blobdiff - tests/push.at
* tests/push.at (Push Parsing: Memory Leak for Early Deletion): Do not
[bison.git] / tests / push.at
index 62593d3e30076fb299db7df71303076fb9f1292c..4a9862904ae17209b845640ad74bcab98375125b 100644 (file)
@@ -52,24 +52,22 @@ yyerror (char const *msg)
 int
 main (void)
 {
-  yypstate *yyps;
-  YYSTYPE yylval;
-
-  /* Make sure we don't try to free yyps->yyss in this case.  */
-  yyps = yypstate_new ();
-  yypstate_delete (yyps);
-
-  /* yypstate_delete used to leak yyps->yyss if the stack was reallocated but
-     the parse did not return on success, syntax error, or memory
-     exhaustion.  */
-  yyps = yypstate_new ();
-  assert (yypush_parse (yyps, 'a', &yylval) == YYPUSH_MORE);
-  yypstate_delete (yyps);
-
-  yyps = yypstate_new ();
-  assert (yypush_parse (yyps, 'a', &yylval) == YYPUSH_MORE);
-  assert (yypush_parse (yyps, 'b', &yylval) == YYPUSH_MORE);
-  yypstate_delete (yyps);
+  yypstate *ps;
+
+  /* Make sure we don't try to free ps->yyss in this case.  */
+  ps = yypstate_new ();
+  yypstate_delete (ps);
+
+  /* yypstate_delete used to leak ps->yyss if the stack was reallocated but the
+     parse did not return on success, syntax error, or memory exhaustion.  */
+  ps = yypstate_new ();
+  assert (yypush_parse (ps, 'a', NULL) == YYPUSH_MORE);
+  yypstate_delete (ps);
+
+  ps = yypstate_new ();
+  assert (yypush_parse (ps, 'a', NULL) == YYPUSH_MORE);
+  assert (yypush_parse (ps, 'b', NULL) == YYPUSH_MORE);
+  yypstate_delete (ps);
 
   return 0;
 }