tests: run the printer/destructor test on glr.cc

* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust for
glr.cc, and use it.
This commit is contained in:
Akim Demaille
2019-01-26 07:23:51 +01:00
parent aa85bfe3a7
commit 53d379b905

View File

@@ -543,7 +543,7 @@ AT_DATA_GRAMMAR([[input.y]],
#define YYINITDEPTH 10 #define YYINITDEPTH 10
#define YYMAXDEPTH 10 #define YYMAXDEPTH 10
#define RANGE(Location) ]AT_LALR1_CC_IF([(Location).begin.line, (Location).end.line], #define RANGE(Location) ]AT_CXX_IF([(Location).begin.line, (Location).end.line],
[(Location).first_line, (Location).last_line])[ [(Location).first_line, (Location).last_line])[
#define USE(SYM) #define USE(SYM)
@@ -572,8 +572,8 @@ AT_LALR1_CC_IF([typedef yy::location YYLTYPE;])[
/* FIXME: This %printer isn't actually tested. */ /* FIXME: This %printer isn't actually tested. */
%printer %printer
{ {
]AT_LALR1_CC_IF([yyo << $$;], ]AT_CXX_IF([yyo << $$;],
[fprintf (yyo, "%d", $$)])[; [fprintf (yyo, "%d", $$)])[;
} }
'(' 'x' 'y' ')' ';' thing line input '!' raise check-spontaneous-errors END '(' 'x' 'y' ')' ';' thing line input '!' raise check-spontaneous-errors END
@@ -734,9 +734,8 @@ static
fprintf (stderr, " (%d@%d-%d)\n", c, RANGE (]AT_LOC[)); fprintf (stderr, " (%d@%d-%d)\n", c, RANGE (]AT_LOC[));
return source[c]; return source[c];
} }
]AT_LALR1_CC_IF( ]AT_LALR1_CC_IF([static bool yydebug;])[
[static bool yydebug; ]AT_CXX_IF([int
int
yyparse () yyparse ()
{ {
yy::parser parser; yy::parser parser;
@@ -999,11 +998,14 @@ AT_CLEANUP
AT_CHECK_PRINTER_AND_DESTRUCTOR([]) AT_CHECK_PRINTER_AND_DESTRUCTOR([])
AT_CHECK_PRINTER_AND_DESTRUCTOR([], [ with union]) AT_CHECK_PRINTER_AND_DESTRUCTOR([], [ with union])
AT_CHECK_PRINTER_AND_DESTRUCTOR([%glr-parser])
AT_CHECK_PRINTER_AND_DESTRUCTOR([%glr-parser], [ with union])
AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "lalr1.cc"]) AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "lalr1.cc"])
AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "lalr1.cc"], [ with union]) AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "lalr1.cc"], [ with union])
AT_CHECK_PRINTER_AND_DESTRUCTOR([%glr-parser]) AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "glr.cc"])
AT_CHECK_PRINTER_AND_DESTRUCTOR([%glr-parser], [ with union]) AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "glr.cc"], [ with union])