skeletons: simplify the protections against "unused" warnings.

* 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.
This commit is contained in:
Akim Demaille
2012-02-09 14:02:22 +01:00
parent f86a780785
commit beadb220d5
3 changed files with 15 additions and 21 deletions

View File

@@ -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)
{

View 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)

View 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);