mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
warnings: used but undeclared symbols are warnings
We used to raise an error if a symbol appears only in a %printer or %destructor. Make it a warning. * src/symtab.h (status): New enum. (symbol): Replace the binary "declared" with the three-state "status". Adjust dependencies. * src/symtab.c (symbol_check_defined): Needed symbols are an error, whereas "used" are simply warnings. * src/symlist.c (symbol_list_destructor_set, symbol_list_printer): Set symbol status to 'used' when associated to destructors or printers. * input.at (Undeclared symbols used for a printer or destructor): New.
This commit is contained in:
committed by
Akim Demaille
parent
dda2c1adba
commit
b921d92fcb
@@ -333,7 +333,7 @@ grammar_rule_check (const symbol_list *r)
|
||||
it for char literals and strings, which are always tokens. */
|
||||
if (r->ruleprec
|
||||
&& r->ruleprec->tag[0] != '\'' && r->ruleprec->tag[0] != '"'
|
||||
&& !r->ruleprec->declared && !r->ruleprec->prec)
|
||||
&& r->ruleprec->status != declared && !r->ruleprec->prec)
|
||||
warn_at (r->location, _("token for %%prec is not defined: %s"),
|
||||
r->ruleprec->tag);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user