b4_copyright([C++ Skeleton parser for LALR(1) parsing with Bison],
[2002, 2003, 2004, 2005])
dnl FIXME: This is wrong, we want computed header guards.
-dnl FIXME: I do not know why the macros are missing now. :(
[
#ifndef PARSER_HEADER_H
# define PARSER_HEADER_H
{ \
(Current).begin = (Current).end = (Rhs)[0].end; \
} \
-} while (0)
+} while (false)
#endif
namespace yy
# endif
#endif
+/* Suppress unused-variable warnings by "using" E. */
+#define YYUSE(e) do {;} while (false && (e))
+
/* A pseudo ostream that takes yydebug_ into account. */
# define YYCDEBUG \
for (bool yydebugcond_ = yydebug_; yydebugcond_; yydebugcond_ = false) \
yysymprint_ ((Type), (Value), (Location)); \
*yycdebug_ << std::endl; \
} \
-} while (0)
+} while (false)
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug_) \
yyreduce_print_ (Rule); \
-} while (0)
+} while (false)
# define YY_STACK_PRINT() \
do { \
if (yydebug_) \
yystack_print_ (); \
-} while (0)
+} while (false)
#else /* !YYDEBUG */
yy::]b4_parser_class_name[::yysymprint_ (int yytype,
const semantic_type* yyvaluep, const location_type* yylocationp)
{
- /* Pacify ``unused variable'' warnings. */
- (void) yyvaluep;
- (void) yylocationp;
/* Backward compatibility, but should be removed eventually. */
std::ostream& cdebug_ = *yycdebug_;
- (void) cdebug_;
+
+ YYUSE (!&cdebug_);
+ YYUSE (yylocationp);
+ YYUSE (yyvaluep);
*yycdebug_ << (yytype < yyntokens_ ? "token" : "nterm")
<< ' ' << yytname_[yytype] << " ("
yy::]b4_parser_class_name[::yydestruct_ (const char* yymsg,
int yytype, semantic_type* yyvaluep, location_type* yylocationp)
{
- /* Pacify ``unused variable'' warnings. */
- (void) yymsg;
- (void) yyvaluep;
- (void) yylocationp;
+ YYUSE (yylocationp);
+ YYUSE (yymsg);
+ YYUSE (yyvaluep);
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);