## Qualified $$ in actions. ##
## ------------------------- ##
-# Check that we can used qualified $$ (v.g., $<type>$) not only in
-# rule actions, but also where $$ is valid: %printer and %destructor.
+# Check that we can use qualified $$ (v.g., $<type>$) not only in rule
+# actions, but also where $$ is valid: %destructor/%printer and
+# %initial-action.
#
-# FIXME: Not actually checking %desctructor, but it's the same code as
+# FIXME: Not actually checking %destructor, but it's the same code as
# %printer...
#
# To do that, use a semantic value that has two fields (sem_type),
AT_DATA_GRAMMAR([[input.y]],
[[%skeleton "$1"
-%defines // FIXME: Mandated by lalr1.cc in Bison 2.6.
%debug
%code requires
{
-# include <stdio.h>
-
typedef struct sem_type
{
int ival;
# define YYSTYPE sem_type
-#ifdef __cplusplus
+]AT_SKEL_CC_IF([[
# include <iostream>
static void
report (std::ostream& yyo, int ival, float fval)
{
yyo << "ival: " << ival << ", fval: " << fval;
}
-#else
+]], [[
+# include <stdio.h>
static void
report (FILE* yyo, int ival, float fval)
{
fprintf (yyo, "ival: %d, fval: %1.1f", ival, fval);
}
-#endif
+]])[
}
%code
AT_BISON_OPTION_POPDEFS
AT_BISON_CHECK([[-o input.c input.y]], [0], [],
-[[input.y:8.48: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:8.48: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:9.48: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:9.48: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:10.48: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:10.48: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:11.48: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:11.48: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:12.48: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:12.48: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:13.48: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:13.48: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:20.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:20.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:21.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:21.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:22.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:22.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:23.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:23.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:24.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:24.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:25.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:25.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:31.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:31.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:32.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:32.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:33.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:33.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:34.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:34.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:35.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:35.1: warning: future versions of Bison will not add the ';' [-Wother]
-input.y:36.1: warning: a ';' might be needed at the end of action code [-Wother]
-input.y:36.1: warning: future versions of Bison will not add the ';' [-Wother]
+[[input.y:8.48: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:8.48: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:9.48: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:9.48: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:10.48: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:10.48: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:11.48: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:11.48: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:12.48: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:12.48: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:13.48: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:13.48: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:20.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:20.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:21.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:21.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:22.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:22.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:23.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:23.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:24.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:24.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:25.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:25.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:31.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:31.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:32.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:32.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:33.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:33.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:34.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:34.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:35.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:35.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
+input.y:36.1: warning: a ';' might be needed at the end of action code [-Wdeprecated]
+input.y:36.1: warning: future versions of Bison will not add the ';' [-Wdeprecated]
]])
AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]])