From e02df72c2d249de05c28b1fbcd79131c816405d2 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Fri, 30 Apr 2010 14:41:07 -0400 Subject: [PATCH] Revert 2009-12-30 change for undefined %prec token complaints. That is, keep them as warnings because that should be sufficient to satisfy POSIX without creating backward compatibility issues. Suggested by Richard Stallman at . * NEWS (2.5): Remove mention of complaint. * src/reader.c (grammar_rule_check): Convert warning back to complaint. * tests/input.at (%prec's token must be defined): Update. (cherry picked from commit 02354690ee02dfa05564137aafc6721eb54d21ab) --- ChangeLog | 12 ++++++++++++ NEWS | 6 ------ src/reader.c | 4 ++-- tests/input.at | 4 ++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0afeb458..5f7e63bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2010-04-30 Joel E. Denny + + Revert 2009-12-30 change for undefined %prec token complaints. + That is, keep them as warnings because that should be sufficient + to satisfy POSIX without creating backward compatibility issues. + Suggested by Richard Stallman at + . + * NEWS (2.5): Remove mention of complaint. + * src/reader.c (grammar_rule_check): Convert warning back to + complaint. + * tests/input.at (%prec's token must be defined): Update. + 2010-04-25 Joel E. Denny build: don't require src/bison during bootstrap. diff --git a/NEWS b/NEWS index df2c9f17..b2e9e7c6 100644 --- a/NEWS +++ b/NEWS @@ -130,12 +130,6 @@ Bison News discussion of how to suppress C preprocessor warnings about YYFAIL being unused, see the Bison 2.4.2 NEWS entry. -** `%prec IDENTIFIER' requires IDENTIFIER to be defined separately. - - As promised in Bison 2.4.2's NEWS entry, it is now an error if a token - that appears after a %prec directive is not defined by %token, %left, - %right, or %nonassoc. This is required by POSIX. - ** Temporary hack for adding a semicolon to the user action. Previously, Bison appended a semicolon to every user action for diff --git a/src/reader.c b/src/reader.c index 03c5bae5..f1be24b3 100644 --- a/src/reader.c +++ b/src/reader.c @@ -327,8 +327,8 @@ grammar_rule_check (const symbol_list *r) if (r->ruleprec && r->ruleprec->tag[0] != '\'' && r->ruleprec->tag[0] != '"' && !r->ruleprec->declared && !r->ruleprec->prec) - complain_at (r->location, _("token for %%prec is not defined: %s"), - r->ruleprec->tag); + warn_at (r->location, _("token for %%prec is not defined: %s"), + r->ruleprec->tag); } diff --git a/tests/input.at b/tests/input.at index fb537cee..960b931a 100644 --- a/tests/input.at +++ b/tests/input.at @@ -811,8 +811,8 @@ AT_DATA([[input.y]], start: %prec PREC ; ]]) -AT_BISON_CHECK([[input.y]], [[1]], [], -[[input.y:2.8-17: token for %prec is not defined: PREC +AT_BISON_CHECK([[input.y]], [[0]], [], +[[input.y:2.8-17: warning: token for %prec is not defined: PREC ]]) AT_CLEANUP -- 2.45.2