]> git.saurik.com Git - bison.git/commitdiff
Merge remote-tracking branch 'origin/maint'
authorAkim Demaille <akim@lrde.epita.fr>
Wed, 5 Dec 2012 10:03:08 +0000 (11:03 +0100)
committerAkim Demaille <akim@lrde.epita.fr>
Wed, 5 Dec 2012 10:03:08 +0000 (11:03 +0100)
* 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

NEWS
doc/bison.texi
src/getargs.c
src/scan-code.l
tests/actions.at
tests/input.at

diff --git a/NEWS b/NEWS
index a1bb0f91c8a1f9aee932ca01ef0ca434f370d4e7..e9b7fd9bed5fceb40b2e4b7d833c2c54df8f89cc 100644 (file)
--- 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,
index a6ff03b2c1b5f263cbcfdb966c4f76d46280a8c8..874e68e17a4ba78827d54c668c6727fd69fff55a 100644 (file)
@@ -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}.
 
index cf5af69477cde89ad032015562971e9799b4fe50..77c1cbfbebd70b7c7d1afb4e2686eb94c2e0cb06 100644 (file)
@@ -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;
 }
index 1024913a999f929b794e1ed4a6e5590645cb423a..c16515dddba35aae53a11a1ff1d3e58d10c974ba 100644 (file)
@@ -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. */
index c148391d731435cfef9af6fbed189e3a7a601871..6d160efdc9667f1a1487b8cf98253c39ec6654c9 100644 (file)
@@ -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]])
index 98a67847d48080c56ad157160afb0ee713551281..7ba006366bc2cf9515a2ccd56114d0bd705019b7 100644 (file)
@@ -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])