diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2017-05-31 19:37:23 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2017-05-31 19:37:23 +0000 |
commit | 6166fdcebcfd4c62bb91ad81bf486a07041e94b9 (patch) | |
tree | ca96c3e541a5af4fb12e600f5994f7d56086a415 /contrib/byacc/output.c | |
parent | f8b883c1329f6ca7004a4fb2dcaf6866cadd2164 (diff) | |
parent | 8bb3d1b8fb77d3704e1de225c83b8b66ca673da8 (diff) | |
download | src-6166fdcebcfd4c62bb91ad81bf486a07041e94b9.tar.gz src-6166fdcebcfd4c62bb91ad81bf486a07041e94b9.zip |
MFV: r319352
Merge byacc 20170430.
Notes
Notes:
svn path=/head/; revision=319354
Diffstat (limited to 'contrib/byacc/output.c')
-rw-r--r-- | contrib/byacc/output.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/contrib/byacc/output.c b/contrib/byacc/output.c index 0f5194a76bcf..d52d920b53ae 100644 --- a/contrib/byacc/output.c +++ b/contrib/byacc/output.c @@ -1,4 +1,4 @@ -/* $Id: output.c,v 1.79 2016/12/02 20:42:38 tom Exp $ */ +/* $Id: output.c,v 1.81 2017/04/30 23:23:32 tom Exp $ */ #include "defs.h" @@ -1584,6 +1584,19 @@ output_pure_parser(FILE * fp) putc_code(fp, '\n'); } +#if defined(YY_NO_LEAKS) +static void +output_no_leaks(FILE * fp) +{ + putc_code(fp, '\n'); + + if (fp == code_file) + ++outline; + fputs("#define YY_NO_LEAKS 1\n", fp); + putc_code(fp, '\n'); +} +#endif + static void output_trailing_text(void) { @@ -1985,6 +1998,9 @@ output(void) output_prefix(fp); output_pure_parser(fp); +#if defined(YY_NO_LEAKS) + output_no_leaks(fp); +#endif output_stored_text(fp); output_stype(fp); #if defined(YYBTYACC) @@ -2068,6 +2084,10 @@ output(void) write_section(code_file, body_vars); } write_section(code_file, body_2); + if (pure_parser) + { + write_section(code_file, init_vars); + } #if defined(YYBTYACC) if (initial_action) output_initial_action(); |