bison-patches
[Top][All Lists]
Advanced

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

FYI: glr: Address GCC warnings about shadowed local variables (yyflag).


From: Akim Demaille
Subject: FYI: glr: Address GCC warnings about shadowed local variables (yyflag).
Date: Wed, 1 Sep 2010 15:17:28 +0200

Hi Paul,

I had a number of failures in the test suite that can be caught when 
--enable-gcc-warnings.  This was simple to solve, as in the patch below.  But 
there are still several other test that fail since your changes in GLR.  Do you 
see them?

130. actions.at:577: 130. Printers and Destructors : %glr-parser 
(actions.at:577): FAILED (actions.at:577)
131. actions.at:578: 131. Printers and Destructors with union: %glr-parser 
(actions.at:578): FAILED (actions.at:578)
189. calc.at:664: 189. Calculator %glr-parser %debug (calc.at:664): FAILED 
(calc.at:664)
190. calc.at:665: 190. Calculator %glr-parser %define parse.error verbose 
%debug %locations %defines %name-prefix "calc" %verbose %yacc (calc.at:665): 
FAILED (calc.at:665)
191. calc.at:666: 191. Calculator %glr-parser %define parse.error verbose 
%debug %locations %defines %name-prefix "calc" %define api.tokens.prefix "TOK_" 
%verbose %yacc (calc.at:666): FAILED (calc.at:666)
192. calc.at:668: 192. Calculator %glr-parser %define api.pure %define 
parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose 
%yacc (calc.at:668): FAILED (calc.at:668)
193. calc.at:670: 193. Calculator %glr-parser %define api.pure %define 
parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose 
%yacc %parse-param {semantic_value *result} %parse-param {int *count} 
(calc.at:670): FAILED (calc.at:670)
207. calc.at:723: 207. Calculator %language "C++" %glr-parser %defines 
%locations %debug (calc.at:723): FAILED (calc.at:723)
208. calc.at:724: 208. Calculator %language "C++" %glr-parser %defines 
%locations %define parse.error verbose %debug %name-prefix "calc" %verbose 
%yacc (calc.at:724): FAILED (calc.at:724)
209. calc.at:726: 209. Calculator %language "C++" %glr-parser %defines 
%locations %pure-parser %define parse.error verbose %debug %name-prefix "calc" 
%verbose %yacc (calc.at:726): FAILED (calc.at:726)
210. calc.at:727: 210. Calculator %language "C++" %glr-parser %defines 
%locations %pure-parser %define parse.error verbose %debug %name-prefix "calc" 
%define api.tokens.prefix "TOK_" %verbose %yacc (calc.at:727): FAILED 
(calc.at:727)
211. calc.at:729: 211. Calculator %language "C++" %glr-parser %defines 
%locations %pure-parser %define parse.error verbose %debug %name-prefix "calc" 
%verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} 
(calc.at:729): FAILED (calc.at:729)



From c49784f5f5c0b8a4ffda574e2cf5a1e3e63110ba Mon Sep 17 00:00:00 2001
From: Akim Demaille <address@hidden>
Date: Wed, 1 Sep 2010 15:13:27 +0200
Subject: [PATCH] Address GCC warnings about shadowed local variables (yyflag).

        * data/glr.c (YYCHK): Rename yyflag as yychk_flag.
        (yyprocessOneStack): Reduce the scope of yyaction, yyconflicts,
        yyrule, and yyflag.
---
 ChangeLog  |   11 +++++++++--
 data/glr.c |   24 +++++++++++-------------
 2 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0ed063d..1f33443 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-09-01  Akim Demaille  <address@hidden>
+
+       Address GCC warnings about shadowed local variables (yyflag).
+       * data/glr.c (YYCHK): Rename yyflag as yychk_flag.
+       (yyprocessOneStack): Reduce the scope of yyaction, yyconflicts,
+       yyrule, and yyflag.
+
 2010-08-05  Joel E. Denny  <address@hidden>
 
        Version 2.4.3.
@@ -119,7 +126,7 @@
         (packgram): Transfer is_predicate value.
         * src/reader.h (grammar_current_rule_action_append): New interface.
         * doc/bison.texinfo: Document semantic predicates (%?).
-    
+
         * data/glr.c (yylhsNonterm, yyisDefaultedState,yyDefaultAction)
         (yygetLRActions,yynewGLRStackItem,yyaddDeferredAction,yyinitStateSet)
         (yyinitGLRStack,yyexpandGLRStack,yyupdateSplit,yymarkStackDeleted)
@@ -130,7 +137,7 @@
         (struct yyGLRState): Fix description of yyposn field.
         (yyresolveLocations): Correct comment so as not to imply action when
         yyn1==0.
-       
+
 2010-06-17  Paul Eggert  <address@hidden>
 
        Update from GFDL GFDL 1.2 to 1.3.
diff --git a/data/glr.c b/data/glr.c
index e1c8a45..7c76fa3 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -511,9 +511,9 @@ typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
 
 #define YYCHK(YYE)                              \
   do {                                          \
-    YYRESULTTAG yyflag = YYE;                   \
-    if (yyflag != yyok)                         \
-      return yyflag;                            \
+    YYRESULTTAG yychk_flag = YYE;               \
+    if (yychk_flag != yyok)                     \
+      return yychk_flag;                        \
   } while (YYID (0))
 
 #if YYDEBUG
@@ -1429,7 +1429,7 @@ yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum 
yyrule,
                     (unsigned long int) yyk, yyrule - 1));
         }
       if (yyflag != yyok)
-        return yyflag;      
+        return yyflag;
       YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
       yyglrShift (yystackp, yyk,
                  yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
@@ -1964,11 +1964,6 @@ static YYRESULTTAG
 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
                   size_t yyposn]b4_pure_formals[)
 {
-  int yyaction;
-  const short int* yyconflicts;
-  yyRuleNum yyrule;
-  YYRESULTTAG yyflag;
-
   while (yystackp->yytops.yystates[yyk] != NULL)
     {
       yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
@@ -1979,7 +1974,8 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
 
       if (yyisDefaultedState (yystate))
        {
-         yyrule = yydefaultAction (yystate);
+          YYRESULTTAG yyflag;
+          yyRuleNum yyrule = yydefaultAction (yystate);
          if (yyrule == 0)
            {
              YYDPRINTF ((stderr, "Stack %lu dies.\n",
@@ -2001,6 +1997,8 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
       else
        {
          yySymbol yytoken;
+          int yyaction;
+          const short int* yyconflicts;
 
          yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
          if (yychar == YYEMPTY)
@@ -2037,7 +2035,7 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
                                          yyposn]b4_pure_args[));
              else if (yyflag == yyerr)
                {
-                 YYDPRINTF ((stderr, "Stack %lu dies.\n", 
+                 YYDPRINTF ((stderr, "Stack %lu dies.\n",
                              (unsigned long int) yynewStack));
                  yymarkStackDeleted (yystackp, yynewStack);
                }
@@ -2057,8 +2055,8 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
            }
          else
             {
-             yyflag = yyglrReduce (yystackp, yyk, -yyaction,
-                                   yyimmediate[-yyaction]]b4_user_args[);
+             YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
+                                                
yyimmediate[-yyaction]]b4_user_args[);
              if (yyflag == yyerr)
                 {
                  YYDPRINTF ((stderr, "Stack %lu dies (predicate failure or 
explicit user error).\n",
-- 
1.7.2.2





reply via email to

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