mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
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
This commit is contained in:
5
NEWS
5
NEWS
@@ -242,6 +242,11 @@ GNU Bison NEWS
|
|||||||
|
|
||||||
* Noteworthy changes in release ?.? (????-??-??) [?]
|
* 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
|
** New value for %define variable: api.pure full
|
||||||
|
|
||||||
The %define variable api.pure requests a pure (reentrant) parser. However,
|
The %define variable api.pure requests a pure (reentrant) parser. However,
|
||||||
|
|||||||
@@ -5237,8 +5237,6 @@ Specify the programming language for the generated parser. Currently
|
|||||||
supported languages include C, C++, and Java.
|
supported languages include C, C++, and Java.
|
||||||
@var{language} is case-insensitive.
|
@var{language} is case-insensitive.
|
||||||
|
|
||||||
This directive is experimental and its effect may be modified in future
|
|
||||||
releases.
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Directive} %locations
|
@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.
|
Summary}). Currently supported languages include C, C++, and Java.
|
||||||
@var{language} is case-insensitive.
|
@var{language} is case-insensitive.
|
||||||
|
|
||||||
This option is experimental and its effect may be modified in future
|
|
||||||
releases.
|
|
||||||
|
|
||||||
@item --locations
|
@item --locations
|
||||||
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
|
Pretend that @code{%locations} was specified. @xref{Decl Summary}.
|
||||||
|
|
||||||
|
|||||||
@@ -321,7 +321,6 @@ Operation modes:\n\
|
|||||||
fputs (_("\
|
fputs (_("\
|
||||||
Parser:\n\
|
Parser:\n\
|
||||||
-L, --language=LANGUAGE specify the output programming language\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\
|
-S, --skeleton=FILE specify the skeleton to use\n\
|
||||||
-t, --debug instrument the parser for tracing\n\
|
-t, --debug instrument the parser for tracing\n\
|
||||||
same as `-Dparse.trace'\n\
|
same as `-Dparse.trace'\n\
|
||||||
@@ -572,7 +571,7 @@ command_line_location (void)
|
|||||||
{
|
{
|
||||||
location res;
|
location res;
|
||||||
/* "<command line>" is used in GCC's messages about -D. */
|
/* "<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;
|
res.end = res.start;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -221,12 +221,16 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
/* As an undocumented Bison extension, append ';' before the last
|
/* As an undocumented Bison extension, append ';' before the last
|
||||||
brace in braced code, so that the user code can omit trailing
|
brace in braced code, so that the user code can omit trailing
|
||||||
';'. But do not append ';' if emulating Yacc, since Yacc does
|
';'. 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
|
if (outer_brace && !yacc_flag && language_prio == default_prio
|
||||||
&& skeleton_prio == default_prio && need_semicolon && ! in_cpp)
|
&& skeleton_prio == default_prio && need_semicolon && ! in_cpp)
|
||||||
{
|
{
|
||||||
complain (loc, Wdeprecated, _("a ';' might be needed at the end of action code"));
|
unsigned int indent = 0;
|
||||||
complain (loc, Wdeprecated, _("future versions of Bison will not add the ';'"));
|
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, ';');
|
obstack_1grow (&obstack_for_string, ';');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -472,9 +476,6 @@ show_sub_messages (warnings warning,
|
|||||||
points to LHS ($$) of the current rule or midrule. */
|
points to LHS ($$) of the current rule or midrule. */
|
||||||
#define LHS_REF (INT_MIN + 1)
|
#define LHS_REF (INT_MIN + 1)
|
||||||
|
|
||||||
/* Sub-messages indent. */
|
|
||||||
#define SUB_INDENT (4)
|
|
||||||
|
|
||||||
/* Parse named or positional reference. In case of positional
|
/* Parse named or positional reference. In case of positional
|
||||||
references, can return negative values for $-n "deep" stack
|
references, can return negative values for $-n "deep" stack
|
||||||
accesses. */
|
accesses. */
|
||||||
|
|||||||
@@ -1607,41 +1607,41 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o input.c input.y]], [0], [],
|
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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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]])
|
AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]])
|
||||||
|
|||||||
@@ -1154,7 +1154,7 @@ start: ;
|
|||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([[-Dvar=cmd-d input-dg.y]], [[1]], [],
|
AT_BISON_CHECK([[-Dvar=cmd-d input-dg.y]], [[1]], [],
|
||||||
[[input-dg.y:1.9-11: error: %define variable 'var' redefined
|
[[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]],
|
AT_DATA([[input-unused.y]],
|
||||||
@@ -1162,8 +1162,8 @@ AT_DATA([[input-unused.y]],
|
|||||||
start: ;
|
start: ;
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([[-Dunused-d -Funused-f input-unused.y]], [[1]], [],
|
AT_BISON_CHECK([[-Dunused-d -Funused-f input-unused.y]], [[1]], [],
|
||||||
[[<command line>:2: error: %define variable 'unused-d' is not used
|
[[<command line>:1: error: %define variable 'unused-d' is not used
|
||||||
<command line>:3: error: %define variable 'unused-f' is not used
|
<command line>:2: error: %define variable 'unused-f' is not used
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -1483,11 +1483,11 @@ start: ;
|
|||||||
# parse.lac.* options are useless if LAC isn't actually activated.
|
# parse.lac.* options are useless if LAC isn't actually activated.
|
||||||
AT_BISON_CHECK([[-Dparse.lac.es-capacity-initial=1 input.y]],
|
AT_BISON_CHECK([[-Dparse.lac.es-capacity-initial=1 input.y]],
|
||||||
[[1]], [],
|
[[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]],
|
AT_BISON_CHECK([[-Dparse.lac.memory-trace=full input.y]],
|
||||||
[[1]], [],
|
[[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
|
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([%define api.prefix foo %name-prefix "bar"], [], [input.y:1.9-18])
|
||||||
AT_TEST([], [-Dapi.prefix=foo -p bar], [<command line>:2])
|
AT_TEST([], [-Dapi.prefix=foo -p bar], [<command line>:1])
|
||||||
AT_TEST([%name-prefix "bar"], [-Dapi.prefix=foo], [<command line>:2])
|
AT_TEST([%name-prefix "bar"], [-Dapi.prefix=foo], [<command line>:1])
|
||||||
AT_TEST([%define api.prefix foo], [-p bar], [input.y:1.9-18])
|
AT_TEST([%define api.prefix foo], [-p bar], [input.y:1.9-18])
|
||||||
|
|
||||||
m4_popdef([AT_TEST])
|
m4_popdef([AT_TEST])
|
||||||
|
|||||||
Reference in New Issue
Block a user