]> git.saurik.com Git - bison.git/blobdiff - tests/c++.at
build: fix VPATH issue
[bison.git] / tests / c++.at
index 19856fffb31da118feac40a6e9a7485df0dcb003..a5d41a98ed9f823c755ab2ef74a6575757beecbb 100644 (file)
@@ -34,7 +34,7 @@ AT_DATA_GRAMMAR([list.yy],
 [[%debug
 %skeleton "lalr1.cc"
 %defines
-%define variant
+%define api.value.type variant
 ]m4_bpatsubst([$1], [\\n], [
 ])[
 
@@ -456,7 +456,7 @@ AT_DATA_GRAMMAR([[input.yy]],
 }
 
 %defines
-%define variant
+%define api.value.type variant
 %define parse.error verbose
 %define parse.trace
 %%
@@ -752,3 +752,46 @@ AT_PARSER_CHECK([[./input aaaaR]], [[0]])
 AT_BISON_OPTION_POPDEFS
 
 AT_CLEANUP
+
+## ------------------------------------ ##
+## C++ GLR parser identifier shadowing  ##
+## ------------------------------------ ##
+
+AT_SETUP([[C++ GLR parser identifier shadowing]])
+
+AT_DATA_GRAMMAR([input.yy], [
+%skeleton "glr.cc"
+
+%union
+{
+  int ival;
+}
+
+%token <ival> ZERO;
+
+%code
+{
+  int yylex (yy::parser::semantic_type *yylval);
+}
+
+%%
+exp: ZERO
+
+%%
+
+int yylex (yy::parser::semantic_type *yylval)
+{
+  return yy::parser::token::ZERO;
+}
+
+void yy::parser::error (std::string const& msg)
+{}
+
+int main()
+{}
+])
+
+AT_BISON_CHECK([[-o input.cc input.yy]])
+AT_COMPILE_CXX([[input]])
+
+AT_CLEANUP