X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7d6bad195977b0204fc8406cac57cf5a4f1c769b..8bf276d8207dd31432305002f3a9e81c80ca62af:/tests/headers.at diff --git a/tests/headers.at b/tests/headers.at index 995c2a3b..9c1d00bc 100644 --- a/tests/headers.at +++ b/tests/headers.at @@ -1,6 +1,6 @@ # Bison Parser Headers. -*- Autotest -*- -# Copyright (C) 2001-2002, 2006-2007, 2009-2013 Free Software +# Copyright (C) 2001-2002, 2006-2007, 2009-2015 Free Software # Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -41,7 +41,7 @@ AT_DATA_GRAMMAR([$1.y], ]AT_YYLEX_DECLARE_EXTERN[ %} %% -dummy:; +dummy: /* empty */; %% #include <$1.h> ]) @@ -68,30 +68,21 @@ AT_TEST_CPP_GUARD_H([9foo], [%glr-parser]) AT_SETUP([export YYLTYPE]) +AT_BISON_OPTION_PUSHDEFS([%name-prefix "my_"]) AT_DATA_GRAMMAR([input.y], -[%locations +[[%locations %name-prefix "my_" %{ #include #include -static int -my_lex (void) -{ - return EOF; -} - -static void -my_error (const char *msg) -{ - fprintf (stderr, "%s\n", msg); -} - +]AT_YYERROR_DEFINE[ +]AT_YYLEX_DEFINE[ %} %% -exp:; -]) +exp: /* empty */; +]]) AT_BISON_CHECK([--defines -o input.c input.y]) @@ -102,11 +93,7 @@ YYLTYPE *my_llocp = &my_lloc; int my_parse (void); -int -main (void) -{ - return my_parse (); -} +]AT_MAIN_DEFINE[ ]]) # Link and execute, just to make sure everything is fine (and in @@ -115,7 +102,7 @@ AT_COMPILE([caller.o]) AT_COMPILE([input.o]) AT_COMPILE([caller], [caller.o input.o]) AT_PARSER_CHECK([./caller]) - +AT_BISON_OPTION_POPDEFS AT_CLEANUP ## ----------------- ## @@ -130,9 +117,9 @@ AT_SETUP([Several parsers]) # nor yy* identifiers in the header. Check that headers are # self-contained, and can be compiled by a C++ compiler. m4_pushdef([AT_TEST], -[AT_BISON_OPTION_PUSHDEFS([%define api.prefix "$1_" $2]) +[AT_BISON_OPTION_PUSHDEFS([%define api.prefix {$1_} $2]) AT_DATA_GRAMMAR([$1.y], -[[%define api.prefix "$1_" +[[%define api.prefix {$1_} $2 %error-verbose %union @@ -236,9 +223,13 @@ AT_CHECK([[$PERL -n -0777 -e ' s{/\*.*?\*/}{}gs; s{//.*}{}g; s{\b(YYChar - |YYPUSH_MORE(_DEFINED)? + |YYPUSH_MORE(?:_DEFINED)? + |YYUSE + |YY_ATTRIBUTE(?:_PURE|_UNUSED)? + |YY_IGNORE_MAYBE_UNINITIALIZED_(?:BEGIN|END) + |YY_INITIAL_VALUE |YY_\w+_INCLUDED - |YY_NULL + |YY_NULLPTR |(defined|if)\ YYDEBUG )\b}{}gx; while (/^(.*YY.*)$/gm)