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
<http://lists.gnu.org/archive/html/bison-patches/2010-03/msg00033.html>.
* 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 02354690ee)
This commit is contained in:
Joel E. Denny
2010-04-30 14:41:07 -04:00
parent ba3063f613
commit e02df72c2d
4 changed files with 16 additions and 10 deletions

View File

@@ -1,3 +1,15 @@
2010-04-30 Joel E. Denny <joeldenny@joeldenny.org>
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
<http://lists.gnu.org/archive/html/bison-patches/2010-03/msg00033.html>.
* 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 <joeldenny@joeldenny.org> 2010-04-25 Joel E. Denny <joeldenny@joeldenny.org>
build: don't require src/bison during bootstrap. build: don't require src/bison during bootstrap.

6
NEWS
View File

@@ -130,12 +130,6 @@ Bison News
discussion of how to suppress C preprocessor warnings about YYFAIL discussion of how to suppress C preprocessor warnings about YYFAIL
being unused, see the Bison 2.4.2 NEWS entry. 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. ** Temporary hack for adding a semicolon to the user action.
Previously, Bison appended a semicolon to every user action for Previously, Bison appended a semicolon to every user action for

View File

@@ -327,8 +327,8 @@ grammar_rule_check (const symbol_list *r)
if (r->ruleprec if (r->ruleprec
&& r->ruleprec->tag[0] != '\'' && r->ruleprec->tag[0] != '"' && r->ruleprec->tag[0] != '\'' && r->ruleprec->tag[0] != '"'
&& !r->ruleprec->declared && !r->ruleprec->prec) && !r->ruleprec->declared && !r->ruleprec->prec)
complain_at (r->location, _("token for %%prec is not defined: %s"), warn_at (r->location, _("token for %%prec is not defined: %s"),
r->ruleprec->tag); r->ruleprec->tag);
} }

View File

@@ -811,8 +811,8 @@ AT_DATA([[input.y]],
start: %prec PREC ; start: %prec PREC ;
]]) ]])
AT_BISON_CHECK([[input.y]], [[1]], [], AT_BISON_CHECK([[input.y]], [[0]], [],
[[input.y:2.8-17: token for %prec is not defined: PREC [[input.y:2.8-17: warning: token for %prec is not defined: PREC
]]) ]])
AT_CLEANUP AT_CLEANUP