From: Akim Demaille Date: Fri, 21 Sep 2012 09:10:37 +0000 (+0200) Subject: yacc: fix handling of CPP guards when no header is generated X-Git-Tag: v2.6.3~22 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/6b4cb804b5fe6b4e2f087babab809c2b790d2b89?ds=sidebyside yacc: fix handling of CPP guards when no header is generated When no header was to be generated, Bison would issue: /* In a future release of Bison, this section will be replaced by #include "". */ #ifndef YY_ # define YY_ It now properly generates nothing. * data/c.m4 (b4_cpp_guard_open, b4_cpp_guard_close): Issue nothing when the file name is empty. * data/yacc.c: Do not generate the above comment when there is no header to generate. * NEWS: Update. --- diff --git a/NEWS b/NEWS index 7fdbc037..75a11bf0 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,17 @@ GNU Bison NEWS * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + + Bugs in the test suite have been fixed. + + Some errors in translations have been addressed, and --help now directs + users to the appropriate place to report them. + + Stray Info files shipped by accident are removed. + + Incorrect definitions of YY_, issued by yacc.c when no parser header is + generated, are removed. * Noteworthy changes in release 2.6.2 (2012-08-03) [stable] diff --git a/data/c.m4 b/data/c.m4 index 45468e3c..ccb4969e 100644 --- a/data/c.m4 +++ b/data/c.m4 @@ -36,13 +36,15 @@ m4_define([b4_cpp_guard], # b4_cpp_guard_open(FILE) # b4_cpp_guard_close(FILE) # ------------------------ -# Open/close CPP inclusion guards for FILE. +# If FILE does not expand to nothing, open/close CPP inclusion guards for FILE. m4_define([b4_cpp_guard_open], +[m4_ifval(m4_quote($1), [#ifndef b4_cpp_guard([$1]) -# define b4_cpp_guard([$1])]) +# define b4_cpp_guard([$1])])]) m4_define([b4_cpp_guard_close], -[#endif b4_comment([!b4_cpp_guard([$1])])]) +[m4_ifval(m4_quote($1), +[#endif b4_comment([!b4_cpp_guard([$1])])])]) ## ---------------- ## diff --git a/data/yacc.c b/data/yacc.c index 2c57f01d..7bcbd7ca 100644 --- a/data/yacc.c +++ b/data/yacc.c @@ -345,9 +345,11 @@ m4_if(b4_api_prefix, [yy], [], # define YYERROR_VERBOSE ]b4_error_verbose_flag[ #endif -/* In a future release of Bison, this section will be replaced +]m4_ifval(m4_quote(b4_spec_defines_file), +[[/* In a future release of Bison, this section will be replaced by #include "@basename(]b4_spec_defines_file[@)". */ -]b4_shared_declarations[ +]])dnl +b4_shared_declarations[ /* Copy the second part of user declarations. */ ]b4_user_post_prologue