bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[committed] Fix some errors that were causing testsuite failures for GLR


From: Paul Hilfinger
Subject: [committed] Fix some errors that were causing testsuite failures for GLR.
Date: Wed, 08 Sep 2010 01:21:59 -0700

        * data/glr.c (yy_reduce_print): Change yyrhsVals to yyvsp to remove
        compiler errors when using %debug.
        Add declaration of yylow when locations in use to avoid compilation
        error.
        (yyglrReduce): Conditionalize message "Parse ... rejected by rule..."
        on whether we are in split mode, for consistency with behavior of
        non-GLR parsing.
---
 ChangeLog  |   10 ++++++++++
 data/glr.c |   15 ++++++++-------
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1f33443..cef54a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-09-08  Paul Hilfinger  <address@hidden>
+
+       * data/glr.c (yy_reduce_print): Change yyrhsVals to yyvsp to remove
+       compiler errors when using %debug.
+       Add declaration of yylow when locations in use to avoid compilation
+       error.
+       (yyglrReduce): Conditionalize message "Parse ... rejected by rule..."
+       on whether we are in split mode, for consistency with behavior of
+       non-GLR parsing.
+
 2010-09-01  Akim Demaille  <address@hidden>
 
        Address GCC warnings about shadowed local variables (yyflag).
diff --git a/data/glr.c b/data/glr.c
index 7c76fa3..944c334 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -1325,26 +1325,27 @@ do {                                    \
 `----------------------------------------------------------------------*/
 
 /*ARGSUSED*/ static inline void
-yy_reduce_print (int yynormal, yyGLRStackItem* yyrhsVals, size_t yyk, 
yyRuleNum yyrule]b4_user_formals[)
+yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk, yyRuleNum 
yyrule]b4_user_formals[)
 {
-  int yynrhs = yyrhsLength (yyrule);
+  int yynrhs = yyrhsLength (yyrule);]b4_locations_if([
+  int yylow = 1;])[
   int yyi;
 ]b4_parse_param_use[]dnl
 [  YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
             (unsigned long int) yyk, yyrule - 1,
             (unsigned long int) yyrline[yyrule]);
   if (! yynormal)
-    yyfillin (yyrhsVals, 1, -yynrhs);
+    yyfillin (yyvsp, 1, -yynrhs);
   /* The symbols being reduced.  */
   for (yyi = 0; yyi < yynrhs; yyi++)
     {
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
       yy_symbol_print (stderr,
-                      yystos[yyrhsVals[yyi - yynrhs + 1].yystate.yylrState],
-                      &yyrhsVals[yyi - yynrhs + 1].yystate.yysemantics.yysval
+                      yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
+                      &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
                       ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 
1))[]dnl
                       b4_user_args[);
-      if (!yyrhsVals[yyi - yynrhs + 1].yystate.yyresolved)
+      if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
         YYFPRINTF (stderr, " (unresolved)");
       YYFPRINTF (stderr, "\n");
     }
@@ -1423,7 +1424,7 @@ yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum 
yyrule,
 
       yyflag = yydoAction (yystackp, yyk, yyrule, &yysval,
                           &yyloc]b4_user_args[);
-      if (yyflag == yyerr)
+      if (yyflag == yyerr && yystackp->yysplitPoint != NULL)
         {
          YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
                     (unsigned long int) yyk, yyrule - 1));
-- 
1.7.0.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]