mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
parser: deprecate %error-verbose
It is unfortunate that %error_verbose was properly diagnosed as obsoleted by "%define parse.error verbose", but %error-verbose was not. * src/parse-gram.y (%error-verbose): Remove support. * src/scan-gram.l: Do it here instead, with a warning. * tests/input.at (Deprecated directives): Check it.
This commit is contained in:
3
NEWS
3
NEWS
@@ -23,6 +23,9 @@ GNU Bison NEWS
|
||||
was never officially documented. Its use now triggers warnings.
|
||||
Eventually, support will be removed. Use %type instead.
|
||||
|
||||
The use of the %error-verbose directive is deprecated in favor of "%define
|
||||
parse.error verbose" since Bison 3.0, but no warning was issued.
|
||||
|
||||
* Noteworthy changes in release 3.2.1 (2018-11-09) [stable]
|
||||
|
||||
** Bug fixes
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
PERCENT_DEFAULT_PREC "%default-prec"
|
||||
PERCENT_DEFINE "%define"
|
||||
PERCENT_DEFINES "%defines"
|
||||
PERCENT_ERROR_VERBOSE "%error-verbose"
|
||||
PERCENT_EXPECT "%expect"
|
||||
PERCENT_EXPECT_RR "%expect-rr"
|
||||
PERCENT_FLAG "%<flag>"
|
||||
@@ -290,12 +289,6 @@ prologue_declaration:
|
||||
defines_flag = true;
|
||||
spec_defines_file = xstrdup ($2);
|
||||
}
|
||||
| "%error-verbose"
|
||||
{
|
||||
muscle_percent_define_insert ("parse.error", @1, muscle_keyword,
|
||||
"verbose",
|
||||
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
|
||||
}
|
||||
| "%expect" INT { expected_sr_conflicts = $2; }
|
||||
| "%expect-rr" INT { expected_rr_conflicts = $2; }
|
||||
| "%file-prefix" STRING { spec_file_prefix = $2; }
|
||||
|
||||
@@ -223,7 +223,6 @@ eqopt ([[:space:]]*=)?
|
||||
"%destructor" return PERCENT_DESTRUCTOR;
|
||||
"%dprec" return PERCENT_DPREC;
|
||||
"%empty" return PERCENT_EMPTY;
|
||||
"%error-verbose" return PERCENT_ERROR_VERBOSE;
|
||||
"%expect" return PERCENT_EXPECT;
|
||||
"%expect-rr" return PERCENT_EXPECT_RR;
|
||||
"%file-prefix" return PERCENT_FILE_PREFIX;
|
||||
@@ -259,6 +258,10 @@ eqopt ([[:space:]]*=)?
|
||||
"%verbose" return PERCENT_VERBOSE;
|
||||
"%yacc" return PERCENT_YACC;
|
||||
|
||||
/* Deprecated since Bison 3.0 (2013-07-25), but the warning is
|
||||
issued only since Bison 3.3. */
|
||||
"%error-verbose" DEPRECATED("%define parse.error verbose");
|
||||
|
||||
/* Deprecated since Bison 2.7.90, 2012. */
|
||||
"%default"[-_]"prec" DEPRECATED("%default-prec");
|
||||
"%error"[-_]"verbose" DEPRECATED("%define parse.error verbose");
|
||||
|
||||
@@ -2188,11 +2188,12 @@ AT_DATA_GRAMMAR([[input.y]],
|
||||
%output = "foo"
|
||||
%pure_parser
|
||||
%token_table
|
||||
%error-verbose
|
||||
%glr-parser
|
||||
%% exp : '0'
|
||||
]])
|
||||
|
||||
AT_BISON_CHECK([[input.y]], [[0]], [[]],
|
||||
AT_BISON_CHECK([[input.y]], [[1]], [[]],
|
||||
[[input.y:10.1-13: warning: deprecated directive: '%default_prec', use '%default-prec' [-Wdeprecated]
|
||||
input.y:11.1-14: warning: deprecated directive: '%error_verbose', use '%define parse.error verbose' [-Wdeprecated]
|
||||
input.y:12.1-10: warning: deprecated directive: '%expect_rr', use '%expect-rr' [-Wdeprecated]
|
||||
@@ -2207,6 +2208,9 @@ input.y:23.1-9: warning: deprecated directive: '%no_lines', use '%no-lines' [-Wd
|
||||
input.y:24.1-9: warning: deprecated directive: '%output =', use '%output' [-Wdeprecated]
|
||||
input.y:25.1-12: warning: deprecated directive: '%pure_parser', use '%pure-parser' [-Wdeprecated]
|
||||
input.y:26.1-12: warning: deprecated directive: '%token_table', use '%token-table' [-Wdeprecated]
|
||||
input.y:27.1-14: warning: deprecated directive: '%error-verbose', use '%define parse.error verbose' [-Wdeprecated]
|
||||
input.y:27-6: error: %define variable 'parse.error' redefined
|
||||
input.y:11-6: previous definition
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
Reference in New Issue
Block a user