[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/3] {maint} minor fixes
From: |
Akim Demaille |
Subject: |
Re: [PATCH 0/3] {maint} minor fixes |
Date: |
Wed, 5 Dec 2012 11:11:38 +0100 |
Le 4 déc. 2012 à 15:06, Theophile Ranquet <address@hidden> a écrit :
> The following patches are pretty self-explanatory. They address:
> * an error message that should have been indented alongside the others back
> in September
> * the labelling of --language as experimental (which is no longer the case)
> * a minor issue with locations related to command-line arguments (they were
> off by one)
>
> Theophile Ranquet (3):
> errors: indent missing action code semicolon warning
> getargs: fix the locations of command-line input
> getargs: don't label --language/-l as experimental
Merged in master as follows.
commit d6dc4d36d1db744b060029254eaabaaa525a1c19
Merge: 9527072 effd30c
Author: Akim Demaille <address@hidden>
Date: Wed Dec 5 11:03:08 2012 +0100
Merge remote-tracking branch 'origin/maint'
* origin/maint:
getargs: don't label --language/-l as experimental
getargs: fix the locations of command-line input
errors: indent missing action code semicolon warning
Conflicts:
NEWS
src/scan-code.l
tests/actions.at
diff --git a/NEWS b/NEWS
index a1bb0f9..e9b7fd9 100644
--- a/NEWS
+++ b/NEWS
@@ -242,6 +242,11 @@ GNU Bison NEWS
* Noteworthy changes in release ?.? (????-??-??) [?]
+** %language is no longer an experimental feature.
+
+ The introduction of this feature, in 2.4, was four years ago. The --language
+ option and the %language directive are no longer experimental.
+
** New value for %define variable: api.pure full
The %define variable api.pure requests a pure (reentrant) parser. However,
diff --git a/doc/bison.texi b/doc/bison.texi
index a6ff03b..874e68e 100644
--- a/doc/bison.texi
+++ b/doc/bison.texi
@@ -5237,8 +5237,6 @@ Specify the programming language for the generated
parser. Currently
supported languages include C, C++, and Java.
@var{language} is case-insensitive.
-This directive is experimental and its effect may be modified in future
-releases.
@end deffn
@deffn {Directive} %locations
@@ -9656,9 +9654,6 @@ Specify the programming language for the generated
parser, as if
Summary}). Currently supported languages include C, C++, and Java.
@var{language} is case-insensitive.
-This option is experimental and its effect may be modified in future
-releases.
-
@item --locations
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
diff --git a/src/getargs.c b/src/getargs.c
index cf5af69..77c1cbf 100644
--- a/src/getargs.c
+++ b/src/getargs.c
@@ -321,7 +321,6 @@ Operation modes:\n\
fputs (_("\
Parser:\n\
-L, --language=LANGUAGE specify the output programming language\n\
- (this is an experimental feature)\n\
-S, --skeleton=FILE specify the skeleton to use\n\
-t, --debug instrument the parser for tracing\n\
same as `-Dparse.trace'\n\
@@ -572,7 +571,7 @@ command_line_location (void)
{
location res;
/* "<command line>" is used in GCC's messages about -D. */
- boundary_set (&res.start, uniqstr_new ("<command line>"), optind, -1);
+ boundary_set (&res.start, uniqstr_new ("<command line>"), optind - 1, -1);
res.end = res.start;
return res;
}
diff --git a/src/scan-code.l b/src/scan-code.l
index 1024913..c16515d 100644
--- a/src/scan-code.l
+++ b/src/scan-code.l
@@ -221,12 +221,16 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
/* As an undocumented Bison extension, append ';' before the last
brace in braced code, so that the user code can omit trailing
';'. But do not append ';' if emulating Yacc, since Yacc does
- not append one. */
+ not append one. This is deprecated since release 2.4.1. */
if (outer_brace && !yacc_flag && language_prio == default_prio
&& skeleton_prio == default_prio && need_semicolon && ! in_cpp)
{
- complain (loc, Wdeprecated, _("a ';' might be needed at the end of
action code"));
- complain (loc, Wdeprecated, _("future versions of Bison will not add
the ';'"));
+ unsigned int indent = 0;
+ complain_indent (loc, Wdeprecated, &indent,
+ _("a ';' might be needed at the end of action code"));
+ indent += SUB_INDENT;
+ complain_indent (loc, Wdeprecated | silent, &indent,
+ _("future versions of Bison will not add the ';'"));
obstack_1grow (&obstack_for_string, ';');
}
@@ -472,9 +476,6 @@ show_sub_messages (warnings warning,
points to LHS ($$) of the current rule or midrule. */
#define LHS_REF (INT_MIN + 1)
-/* Sub-messages indent. */
-#define SUB_INDENT (4)
-
/* Parse named or positional reference. In case of positional
references, can return negative values for $-n "deep" stack
accesses. */
diff --git a/tests/actions.at b/tests/actions.at
index c148391..6d160ef 100644
--- a/tests/actions.at
+++ b/tests/actions.at
@@ -1607,41 +1607,41 @@ AT_BISON_OPTION_POPDEFS
AT_BISON_CHECK([[-o input.c input.y]], [0], [],
[[input.y:8.48: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:8.48: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:8.48: future versions of Bison will not add the ';'
input.y:9.48: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:9.48: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:9.48: future versions of Bison will not add the ';'
input.y:10.48: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:10.48: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:10.48: future versions of Bison will not add the ';'
input.y:11.48: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:11.48: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:11.48: future versions of Bison will not add the ';'
input.y:12.48: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:12.48: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:12.48: future versions of Bison will not add the ';'
input.y:13.48: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:13.48: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:13.48: future versions of Bison will not add the ';'
input.y:20.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:20.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:20.1: future versions of Bison will not add the ';'
input.y:21.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:21.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:21.1: future versions of Bison will not add the ';'
input.y:22.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:22.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:22.1: future versions of Bison will not add the ';'
input.y:23.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:23.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:23.1: future versions of Bison will not add the ';'
input.y:24.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:24.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:24.1: future versions of Bison will not add the ';'
input.y:25.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:25.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:25.1: future versions of Bison will not add the ';'
input.y:31.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:31.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:31.1: future versions of Bison will not add the ';'
input.y:32.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:32.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:32.1: future versions of Bison will not add the ';'
input.y:33.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:33.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:33.1: future versions of Bison will not add the ';'
input.y:34.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:34.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:34.1: future versions of Bison will not add the ';'
input.y:35.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:35.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:35.1: future versions of Bison will not add the ';'
input.y:36.1: warning: a ';' might be needed at the end of action code
[-Wdeprecated]
-input.y:36.1: warning: future versions of Bison will not add the ';'
[-Wdeprecated]
+input.y:36.1: future versions of Bison will not add the ';'
]])
AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]])
diff --git a/tests/input.at b/tests/input.at
index 98a6784..7ba0063 100644
--- a/tests/input.at
+++ b/tests/input.at
@@ -1154,7 +1154,7 @@ start: ;
]])
AT_BISON_CHECK([[-Dvar=cmd-d input-dg.y]], [[1]], [],
[[input-dg.y:1.9-11: error: %define variable 'var' redefined
-<command line>:2: previous definition
+<command line>:1: previous definition
]])
AT_DATA([[input-unused.y]],
@@ -1162,8 +1162,8 @@ AT_DATA([[input-unused.y]],
start: ;
]])
AT_BISON_CHECK([[-Dunused-d -Funused-f input-unused.y]], [[1]], [],
-[[<command line>:2: error: %define variable 'unused-d' is not used
-<command line>:3: error: %define variable 'unused-f' is not used
+[[<command line>:1: error: %define variable 'unused-d' is not used
+<command line>:2: error: %define variable 'unused-f' is not used
]])
AT_CLEANUP
@@ -1483,11 +1483,11 @@ start: ;
# parse.lac.* options are useless if LAC isn't actually activated.
AT_BISON_CHECK([[-Dparse.lac.es-capacity-initial=1 input.y]],
[[1]], [],
-[[<command line>:2: error: %define variable 'parse.lac.es-capacity-initial' is
not used
+[[<command line>:1: error: %define variable 'parse.lac.es-capacity-initial' is
not used
]])
AT_BISON_CHECK([[-Dparse.lac.memory-trace=full input.y]],
[[1]], [],
-[[<command line>:2: error: %define variable 'parse.lac.memory-trace' is not
used
+[[<command line>:1: error: %define variable 'parse.lac.memory-trace' is not
used
]])
AT_CLEANUP
@@ -1545,8 +1545,8 @@ AT_BISON_CHECK([[$2 input.y]], [[1]], [[]],
])
AT_TEST([%define api.prefix foo %name-prefix "bar"], [], [input.y:1.9-18])
-AT_TEST([], [-Dapi.prefix=foo -p bar], [<command line>:2])
-AT_TEST([%name-prefix "bar"], [-Dapi.prefix=foo], [<command line>:2])
+AT_TEST([], [-Dapi.prefix=foo -p bar], [<command line>:1])
+AT_TEST([%name-prefix "bar"], [-Dapi.prefix=foo], [<command line>:1])
AT_TEST([%define api.prefix foo], [-p bar], [input.y:1.9-18])
m4_popdef([AT_TEST])