[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
parser: deprecate %error-verbose
From: |
Akim Demaille |
Subject: |
parser: deprecate %error-verbose |
Date: |
Mon, 12 Nov 2018 07:38:08 +0100 |
commit 143d08d4e2ce2d142525a5f305b73a7fc1f3a72f
Author: Akim Demaille <address@hidden>
Date: Mon Nov 12 07:16:59 2018 +0100
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.
diff --git a/NEWS b/NEWS
index 1ed54441..cfddbaad 100644
--- a/NEWS
+++ b/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
diff --git a/src/parse-gram.y b/src/parse-gram.y
index a44326c4..f8716f59 100644
--- a/src/parse-gram.y
+++ b/src/parse-gram.y
@@ -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; }
diff --git a/src/scan-gram.l b/src/scan-gram.l
index 22d56cbd..52b53fea 100644
--- a/src/scan-gram.l
+++ b/src/scan-gram.l
@@ -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");
diff --git a/tests/input.at b/tests/input.at
index 4e65b97d..9a09fa2f 100644
--- a/tests/input.at
+++ b/tests/input.at
@@ -2188,6 +2188,7 @@ AT_DATA_GRAMMAR([[input.y]],
%output = "foo"
%pure_parser
%token_table
+%error-verbose
%glr-parser
%% exp : '0'
]])
@@ -2207,6 +2208,7 @@ 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]
]])
AT_CLEANUP
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- parser: deprecate %error-verbose,
Akim Demaille <=