]> git.saurik.com Git - bison.git/commitdiff
(yyparse): Don't take the address of an item before the start of an
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 27 Aug 2001 17:24:34 +0000 (17:24 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 27 Aug 2001 17:24:34 +0000 (17:24 +0000)
array, as that doesn't conform to the C Standard.

src/bison.simple

index 2da7f273779e9a8a8936bee6ad779c69c0af0978..26a6a019a83c5226fd347a2d62f5865807b5b6ab 100644 (file)
@@ -483,11 +483,12 @@ int
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
 #if YYLSP_NEEDED
   yylsp = yyls;
 #endif
+  goto yysetstate;
 
 /*------------------------------------------------------------.
 | yynewstate -- Push a new state, which is found in yystate.  |
@@ -496,7 +497,10 @@ yynewstate:
   /* In all cases, when you get here, the value and location stacks
      have just been pushed. so pushing a state here evens the stacks.
      */
-  *++yyssp = yystate;
+  yyssp++;
+
+yysetstate:
+  *yyssp = yystate;
 
   if (yyssp >= yyss + yystacksize - 1)
     {