]> git.saurik.com Git - bison.git/commitdiff
skeletons: simplify the protections against "unused" warnings.
authorAkim Demaille <demaille@gostai.com>
Thu, 9 Feb 2012 13:02:22 +0000 (14:02 +0100)
committerAkim Demaille <demaille@gostai.com>
Fri, 10 Feb 2012 08:17:44 +0000 (09:17 +0100)
* data/c.m4 (b4_parse_param_use): Also accept optional arguments
to "use".
Simplify callers.
* data/glr.c (yyuserAction): Simplify use of b4_parse_param_use.
(yy_reduce_print): Don't use b4_parse_param_use, as all the arguments
_are_ used.
* data/lalr1.cc (YY_SYMBOL_PRINT): Even when disabled, "use" the
symbol argument.
This neutralizes a warning in yypush_ when there are no symbols
with a semantic values.
(yy_destroy_): Remove useless "use" of yymsg.

data/c.m4
data/glr.c
data/lalr1.cc

index d09d1f1c3faa56f6751e10ac31c6f7795bd51957..0649e62f02213d252c02ab2b716ff64fea274452 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -120,11 +120,15 @@ m4_popdef([$2])dnl
 m4_popdef([$1])dnl
 ])])
 
-# b4_parse_param_use
-# ------------------
-# `YYUSE' all the parse-params.
+# b4_parse_param_use([VAL], [LOC])
+# --------------------------------
+# `YYUSE' VAL, LOC if locations are enabled, and all the parse-params.
 m4_define([b4_parse_param_use],
-[b4_parse_param_for([Decl], [Formal], [  YYUSE (Formal);
+[m4_ifval([$1], [  YYUSE([$1]);
+])dnl
+m4_ifval([$2], [b4_locations_if([  YYUSE ([$2]);
+])])dnl
+b4_parse_param_for([Decl], [Formal], [  YYUSE (Formal);
 ])dnl
 ])
 
@@ -444,11 +448,7 @@ m4_define_default([b4_yydestruct_generate],
 b4_locations_if(            [, [[YYLTYPE *yylocationp], [yylocationp]]])[]dnl
 m4_ifset([b4_parse_param], [, b4_parse_param]))[
 {
-  YYUSE (yyvaluep);
-]b4_locations_if([  YYUSE (yylocationp);
-])dnl
-b4_parse_param_use[]dnl
-[
+]b4_parse_param_use([yyvaluep], [yylocationp])[
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
@@ -485,14 +485,10 @@ m4_ifset([b4_parse_param], [, b4_parse_param]))[
 {
   if (!yyvaluep)
     return;
-]b4_locations_if([  YYUSE (yylocationp);
-])dnl
-b4_parse_param_use[]dnl
-[# ifdef YYPRINT
+]b4_parse_param_use([yyoutput], [yylocationp])[
+# ifdef YYPRINT
   if (yytype < YYNTOKENS)
     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
-  YYUSE (yyoutput);
 # endif
   switch (yytype)
     {
index 9a3dbc8d2dc99c65d46610c48da2fb7d800bf5f2..9b525f47466d0dcd7759479d01111149aafa46a3 100644 (file)
@@ -852,8 +852,8 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp,
   yybool yynormal __attribute__ ((__unused__)) =
     (yystackp->yysplitPoint == NULL);
   int yylow;
-]b4_parse_param_use[]dnl
-[# undef yyerrok
+]b4_parse_param_use([yyvalp], [yylocp])[
+# undef yyerrok
 # define yyerrok (yystackp->yyerrState = 0)
 # undef YYACCEPT
 # define YYACCEPT return yyaccept
@@ -1330,8 +1330,7 @@ yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
   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",
+  YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
              (unsigned long int) yyk, yyrule - 1,
              (unsigned long int) yyrline[yyrule]);
   if (! yynormal)
index 8afabc21d9f80b91f0079ac6d9a254221e4a92c7..607d0e3c51d32633602ec143be914c81bca6ae31 100644 (file)
@@ -441,7 +441,7 @@ b4_percent_code_get[]dnl
 #else /* !YYDEBUG */
 
 # define YYCDEBUG if (false) std::cerr
-# define YY_SYMBOL_PRINT(Title, Symbol)  static_cast<void>(0)
+# define YY_SYMBOL_PRINT(Title, Symbol)  YYUSE(Symbol)
 # define YY_REDUCE_PRINT(Rule)           static_cast<void>(0)
 # define YY_STACK_PRINT()                static_cast<void>(0)
 
@@ -545,7 +545,6 @@ b4_percent_code_get[]dnl
                                        symbol_base_type<Exact>& yysym) const
   {
     int yytype = yysym.type_get ();
-    YYUSE (yymsg);
     if (yymsg)
       YY_SYMBOL_PRINT (yymsg, yysym);