diff options
author | Todd C. Miller <Todd.Miller@sudo.ws> | 2020-11-10 07:36:11 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2020-11-11 08:47:21 +0100 |
commit | c47bb87f9f1285309377adee7bb21263decc503c (patch) | |
tree | a5e2c03fb181129a6365ff731e23cdb6eb714b29 | |
parent | 98c35e0025f43838d4c451553a4cf8b345b047f8 (diff) | |
download | bison-c47bb87f9f1285309377adee7bb21263decc503c.tar.gz |
yacc.c: fix #definition of YYEMPTY
When generating a C parser, YYEMPTY is present in enum yytokentype but
there is no corresponding #define like there is for the other values.
There is a special case for YYEMPTY in b4_token_enums but no
corresponding case in b4_token_defines.
* data/skeletons/c.m4 (b4_token_defines): Do define YYEMPTY.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | data/skeletons/c.m4 | 7 |
2 files changed, 8 insertions, 3 deletions
@@ -2,6 +2,10 @@ GNU Bison NEWS * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + + In Yacc mode, all the tokens are defined twice: once as an enum, and then + as a macro. YYEMPTY was missing its macro. * Noteworthy changes in release 3.7.3 (2020-10-13) [stable] diff --git a/data/skeletons/c.m4 b/data/skeletons/c.m4 index 2452ed2e..c8689038 100644 --- a/data/skeletons/c.m4 +++ b/data/skeletons/c.m4 @@ -509,10 +509,11 @@ m4_define([b4_token_define], # ---------------- # Output the definition of the tokens. m4_define([b4_token_defines], -[b4_any_token_visible_if([/* Token kinds. */ -m4_join([ +[[/* Token kinds. */ +#define ]b4_symbol([-2], [id])[ -2 +]m4_join([ ], b4_symbol_map([b4_token_define])) -])]) +]) # b4_token_enum(TOKEN-NUM) |