Le 26 sept. 2012 à 15:45, Theophile Ranquet a écrit : > Theophile Ranquet (6): > errors: indent "result type clash" error context > errors: indent "symbol redeclaration" context > errors: indent "%define var" redefinition context > errors: indent "invalid value for %define" context > errors: prefix the output with "error: " > warnings: introduce -Wdeprecated in the usage info
Nice work! Thanks. Installed in maint, and merged in master as follows: commit b34359cb54f52d3fb0e13bd3cde8550ba66cb80c Merge: 37cfa11 bd52638 Author: Akim Demaille <[email protected]> Date: Wed Sep 26 14:35:47 2012 +0200 Merge branch 'maint' * maint: warnings: introduce -Wdeprecated in the usage info errors: prefix the output with "error: " errors: indent "invalid value for %define" context errors: indent "%define var" redefinition context errors: indent "symbol redeclaration" context errors: indent "result type clash" error context Conflicts: src/complain.c src/muscle-tab.c src/reader.c src/symtab.c tests/conflicts.at tests/input.at tests/named-refs.at tests/output.at tests/skeletons.at diff --git a/NEWS b/NEWS index 7f0fe8b..a70c23d 100644 --- a/NEWS +++ b/NEWS @@ -211,6 +211,18 @@ GNU Bison NEWS Incorrect definitions of YY_, issued by yacc.c when no parser header is generated, are removed. +** Changes in the format of errors and exceptions output + + This used to be the format of many error reports: + + foo.y:5.10-24: result type clash on merge function 'merge': <t3> != <t2> + foo.y:4.13-27: previous declaration + + It is now: + + foo.y:5.10-25: result type clash on merge function 'merge': <t3> != <t2> + foo.y:4.13-27: previous declaration + * Noteworthy changes in release 2.6.2 (2012-08-03) [stable] ** Bug fixes diff --git a/THANKS b/THANKS index 4ed4256..19ec28a 100644 --- a/THANKS +++ b/THANKS @@ -104,6 +104,7 @@ Shura [email protected] Stefano Lattarini [email protected] Steve Murphy [email protected] Sum Wu [email protected] +Théophile Ranquet [email protected] Thiru Ramakrishnan [email protected] Tim Josling [email protected] Tim Landscheidt [email protected] @@ -127,6 +128,7 @@ thank them! Please, help us keeping this list up to date. Local Variables: mode: text +coding: utf-8 End: ----- diff --git a/gnulib b/gnulib --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit cb38ce7db84edb421fbaeea5abe16ebeb8ad8a5c +Subproject commit cb38ce7db84edb421fbaeea5abe16ebeb8ad8a5c-dirty diff --git a/src/complain.c b/src/complain.c index d79a250..1834120 100644 --- a/src/complain.c +++ b/src/complain.c @@ -122,7 +122,9 @@ complains (const location *loc, warnings flags, const char *message, { if (flags & complaint) { - error_message (loc, complaint, NULL, message, args); + error_message (loc, complaint, + indent_ptr && *indent_ptr ? NULL : _("error"), + message, args); complaint_issued = true; } else if (flags & fatal) @@ -140,13 +142,17 @@ complains (const location *loc, warnings flags, const char *message, else if (warnings_flag & Wyacc) { set_warning_issued (); - error_message (loc, flags, _("warning"), message, args); + error_message (loc, flags, + indent_ptr && *indent_ptr ? NULL : _("warning"), + message, args); } } else if (warnings_flag & flags) { set_warning_issued (); - error_message (loc, flags, _("warning"), message, args); + error_message (loc, flags, + indent_ptr && *indent_ptr ? NULL : _("warning"), + message, args); } } @@ -179,6 +185,7 @@ void complain_at_indent (location loc, warnings flags, unsigned *indent, va_end (args); } + /*--------------------------------. | Report a warning, and proceed. | `--------------------------------*/ diff --git a/src/complain.h b/src/complain.h index 44be293..452508e 100644 --- a/src/complain.h +++ b/src/complain.h @@ -48,6 +48,9 @@ extern warnings warnings_flag; /** Display a "[-Wyacc]" like message on stderr. */ void warnings_print_categories (warnings warn_flags); +/* Sub-messages indent. */ +#define SUB_INDENT (4) + /** Record that a warning is about to be issued, and treat it as an error if <tt>warnings_flag & Werror</tt>. This is exported only for the sake of Yacc-compatible conflict reports in conflicts.c. diff --git a/src/getargs.c b/src/getargs.c index 74be410..97f061f 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -326,13 +326,14 @@ Warning categories include:\n\ `yacc' incompatibilities with POSIX Yacc\n\ `conflicts-sr' S/R conflicts (enabled by default)\n\ `conflicts-rr' R/R conflicts (enabled by default)\n\ + `deprecated' obsolete constructs\n\ `other' all other warnings (enabled by default)\n\ `all' all the warnings\n\ `no-CATEGORY' turn off warnings in CATEGORY\n\ `none' turn off all the warnings\n\ `error' treat warnings as errors\n\ -\n\ "), stdout); + putc ('\n', stdout); fputs (_("\ THINGS is a list of comma separated words that can include:\n\ diff --git a/src/muscle-tab.c b/src/muscle-tab.c index 8e56981..4738fdf 100644 --- a/src/muscle-tab.c +++ b/src/muscle-tab.c @@ -439,12 +439,16 @@ muscle_percent_define_insert (char const *variable, location variable_loc, && muscle_find_const (name)) { muscle_percent_define_how how_old = atoi (muscle_find_const (how_name)); + unsigned i = 0; if (how_old == MUSCLE_PERCENT_DEFINE_F) return; - complain_at (variable_loc, complaint, _("%%define variable %s redefined"), - quote (variable)); - location loc = muscle_percent_define_get_loc (variable); - complain_at (loc, complaint, _("previous definition")); + complain_at_indent (variable_loc, complaint, &i, + _("%%define variable %s redefined"), + quote (variable)); + i += SUB_INDENT; + complain_at_indent (muscle_percent_define_get_loc (variable), + complaint, &i, + _("previous definition")); } MUSCLE_INSERT_STRING (name, value); @@ -600,13 +604,16 @@ muscle_percent_define_check_values (char const * const *values) } if (!*values) { + unsigned i = 0; location loc = muscle_percent_define_get_loc (*variablep); - complain_at (loc, complaint, - _("invalid value for %%define variable %s: %s"), - quote (*variablep), quote_n (1, value)); + complain_at_indent + (loc, complaint, &i, + _("invalid value for %%define variable %s: %s"), + quote (*variablep), quote_n (1, value)); + i += SUB_INDENT; for (values = variablep + 1; *values; ++values) - complain_at (loc, complaint, _("accepted value: %s"), - quote (*values)); + complain_at_indent (loc, complaint, &i, _("accepted value: %s"), + quote (*values)); } else { diff --git a/src/reader.c b/src/reader.c index 52c0b13..f658e64 100644 --- a/src/reader.c +++ b/src/reader.c @@ -128,11 +128,16 @@ record_merge_function_type (int merger, uniqstr type, location declaration_loc) aver (merge_function != NULL && merger_find == merger); if (merge_function->type != NULL && !UNIQSTR_EQ (merge_function->type, type)) { - complain_at (declaration_loc, complaint, - _("result type clash on merge function %s: <%s> != <%s>"), - quote (merge_function->name), type, merge_function->type); - complain_at (merge_function->type_declaration_location, complaint, - _("previous declaration")); + unsigned indent = 0; + complain_at_indent (declaration_loc, complaint, &indent, + _("result type clash on merge function %s: " + "<%s> != <%s>"), + quote (merge_function->name), type, + merge_function->type); + indent += SUB_INDENT; + complain_at_indent (merge_function->type_declaration_location, complaint, + &indent, + _("previous declaration")); } merge_function->type = uniqstr_new (type); merge_function->type_declaration_location = declaration_loc; diff --git a/src/symtab.c b/src/symtab.c index 21c6125..916536a 100644 --- a/src/symtab.c +++ b/src/symtab.c @@ -193,16 +193,24 @@ static void symbol_redeclaration (symbol *s, const char *what, location first, location second) { - complain_at (second, complaint, _("%s redeclaration for %s"), what, s->tag); - complain_at (first, complaint, _("previous declaration")); + unsigned i = 0; + complain_at_indent (second, complaint, &i, + _("%s redeclaration for %s"), what, s->tag); + i += SUB_INDENT; + complain_at_indent (first, complaint, &i, + _("previous declaration")); } static void semantic_type_redeclaration (semantic_type *s, const char *what, location first, location second) { - complain_at (second, complaint, _("%s redeclaration for <%s>"), what, s->tag); - complain_at (first, complaint, _("previous declaration")); + unsigned i = 0; + complain_at_indent (second, complaint, &i, + _("%s redeclaration for <%s>"), what, s->tag); + i += SUB_INDENT; + complain_at_indent (first, complaint, &i, + _("previous declaration")); } @@ -546,6 +554,7 @@ symbol_pack_processor (void *this, void *null ATTRIBUTE_UNUSED) static void user_token_number_redeclaration (int num, symbol *first, symbol *second) { + unsigned i = 0; /* User token numbers are not assigned during the parsing, but in a second step, via a traversal of the symbol table sorted on tag. @@ -557,11 +566,12 @@ user_token_number_redeclaration (int num, symbol *first, symbol *second) first = second; second = tmp; } - complain_at (second->location, complaint, - _("user token number %d redeclaration for %s"), - num, second->tag); - complain_at (first->location, complaint, _("previous declaration for %s"), - first->tag); + complain_at_indent (second->location, complaint, &i, + _("user token number %d redeclaration for %s"), + num, second->tag); + complain_at_indent (first->location, complaint, &i, + _("previous declaration for %s"), + first->tag); } /*--------------------------------------------------. diff --git a/tests/conflicts.at b/tests/conflicts.at index 83ef128..b3f6709 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -945,7 +945,7 @@ exp: exp OP exp | NUM; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y: shift/reduce conflicts: 1 found, 0 expected +[[input.y: error: shift/reduce conflicts: 1 found, 0 expected ]]) AT_CLEANUP @@ -981,7 +981,7 @@ exp: exp OP exp | NUM; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y: shift/reduce conflicts: 1 found, 2 expected +[[input.y: error: shift/reduce conflicts: 1 found, 2 expected ]]) AT_CLEANUP @@ -1000,7 +1000,7 @@ a: 'a'; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y: reduce/reduce conflicts: 1 found, 0 expected +[[input.y: error: reduce/reduce conflicts: 1 found, 0 expected ]]) AT_CLEANUP @@ -1584,12 +1584,12 @@ for gram in sr-rr sr rr; do if test -z "$sr_exp_i" && test "$sr_count" -ne 0; then echo "warning: $sr_count shift/reduce conflicts" elif test "$sr_exp_i" -ne "$sr_count"; then - echo "shift/reduce conflicts: $sr_count found, $sr_exp_i expected" + echo "error: shift/reduce conflicts: $sr_count found, $sr_exp_i expected" fi if test -z "$rr_exp_i" && test "$rr_count" -ne 0; then echo "warning: $rr_count reduce/reduce conflicts" elif test "$rr_exp_i" -ne "$rr_count"; then - echo "reduce/reduce conflicts: $rr_count found, $rr_exp_i expected" + echo "error: reduce/reduce conflicts: $rr_count found, $rr_exp_i expected" fi } | sed -e "s/^/$file: /" > experr ]AT_BISON_CHECK([[-Wnone $file]], [[1]], [[]], [[experr]])[ diff --git a/tests/glr-regression.at b/tests/glr-regression.at index 98ebdfa..b376c1c 100644 --- a/tests/glr-regression.at +++ b/tests/glr-regression.at @@ -1652,11 +1652,11 @@ main (void) AT_BISON_OPTION_POPDEFS AT_BISON_CHECK([[-o glr-regr18.c glr-regr18.y]], 1, [], -[glr-regr18.y:26.18-24: result type clash on merge function 'merge': <type2> != <type1> -glr-regr18.y:25.18-24: previous declaration -glr-regr18.y:27.13-19: result type clash on merge function 'merge': <type3> != <type2> -glr-regr18.y:26.18-24: previous declaration -]) +[[glr-regr18.y:26.18-24: error: result type clash on merge function 'merge': <type2> != <type1> +glr-regr18.y:25.18-24: previous declaration +glr-regr18.y:27.13-19: error: result type clash on merge function 'merge': <type3> != <type2> +glr-regr18.y:26.18-24: previous declaration +]]) AT_CLEANUP diff --git a/tests/input.at b/tests/input.at index 056e578..5bb707e 100644 --- a/tests/input.at +++ b/tests/input.at @@ -33,8 +33,8 @@ exp: { @$ = @1 ; }; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:2.13-14: integer out of range: '$1' -input.y:3.13-14: integer out of range: '@1' +[[input.y:2.13-14: error: integer out of range: '$1' +input.y:3.13-14: error: integer out of range: '@1' ]]) AT_CLEANUP @@ -58,8 +58,8 @@ exp: foo { $$; } foo { $2; } foo ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:5.12-13: $$ for the midrule at $2 of 'exp' has no declared type -input.y:5.24-25: $2 of 'exp' has no declared type +[[input.y:5.12-13: error: $$ for the midrule at $2 of 'exp' has no declared type +input.y:5.24-25: error: $2 of 'exp' has no declared type input.y:5.6-32: warning: type clash on default action: <bar> != <> [-Wother] input.y:6.6-8: warning: type clash on default action: <bar> != <> [-Wother] input.y:7.5: warning: empty rule for typed nonterminal, and no action [-Wother] @@ -200,30 +200,30 @@ start: ; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:1.13-29: %destructor redeclaration for <*> -input.y:1.13-29: previous declaration -input.y:2.10-24: %printer redeclaration for <*> -input.y:2.10-24: previous declaration -input.y:4.13-29: %destructor redeclaration for <*> -input.y:1.13-29: previous declaration -input.y:5.10-24: %printer redeclaration for <*> -input.y:2.10-24: previous declaration -input.y:7.13-29: %destructor redeclaration for <> -input.y:7.13-29: previous declaration -input.y:8.10-24: %printer redeclaration for <> -input.y:8.10-24: previous declaration -input.y:10.13-29: %destructor redeclaration for <> -input.y:7.13-29: previous declaration -input.y:11.10-24: %printer redeclaration for <> -input.y:8.10-24: previous declaration -input.y:17.13-29: %destructor redeclaration for <*> -input.y:4.13-29: previous declaration -input.y:18.10-24: %printer redeclaration for <*> -input.y:5.10-24: previous declaration -input.y:20.13-29: %destructor redeclaration for <> -input.y:10.13-29: previous declaration -input.y:21.10-24: %printer redeclaration for <> -input.y:11.10-24: previous declaration +[[input.y:1.13-29: error: %destructor redeclaration for <*> +input.y:1.13-29: previous declaration +input.y:2.10-24: error: %printer redeclaration for <*> +input.y:2.10-24: previous declaration +input.y:4.13-29: error: %destructor redeclaration for <*> +input.y:1.13-29: previous declaration +input.y:5.10-24: error: %printer redeclaration for <*> +input.y:2.10-24: previous declaration +input.y:7.13-29: error: %destructor redeclaration for <> +input.y:7.13-29: previous declaration +input.y:8.10-24: error: %printer redeclaration for <> +input.y:8.10-24: previous declaration +input.y:10.13-29: error: %destructor redeclaration for <> +input.y:7.13-29: previous declaration +input.y:11.10-24: error: %printer redeclaration for <> +input.y:8.10-24: previous declaration +input.y:17.13-29: error: %destructor redeclaration for <*> +input.y:4.13-29: previous declaration +input.y:18.10-24: error: %printer redeclaration for <*> +input.y:5.10-24: previous declaration +input.y:20.13-29: error: %destructor redeclaration for <> +input.y:10.13-29: previous declaration +input.y:21.10-24: error: %printer redeclaration for <> +input.y:11.10-24: previous declaration ]]) AT_CLEANUP @@ -251,22 +251,22 @@ start: ; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:4.13-29: %destructor redeclaration for <field1> -input.y:1.13-29: previous declaration -input.y:4.13-29: %destructor redeclaration for <field1> -input.y:4.13-29: previous declaration -input.y:5.10-24: %printer redeclaration for <field2> -input.y:2.10-24: previous declaration -input.y:5.10-24: %printer redeclaration for <field2> -input.y:5.10-24: previous declaration -input.y:11.13-29: %destructor redeclaration for <field1> -input.y:4.13-29: previous declaration -input.y:11.13-29: %destructor redeclaration for <field2> -input.y:1.13-29: previous declaration -input.y:12.10-24: %printer redeclaration for <field1> -input.y:2.10-24: previous declaration -input.y:12.10-24: %printer redeclaration for <field2> -input.y:5.10-24: previous declaration +[[input.y:4.13-29: error: %destructor redeclaration for <field1> +input.y:1.13-29: previous declaration +input.y:4.13-29: error: %destructor redeclaration for <field1> +input.y:4.13-29: previous declaration +input.y:5.10-24: error: %printer redeclaration for <field2> +input.y:2.10-24: previous declaration +input.y:5.10-24: error: %printer redeclaration for <field2> +input.y:5.10-24: previous declaration +input.y:11.13-29: error: %destructor redeclaration for <field1> +input.y:4.13-29: previous declaration +input.y:11.13-29: error: %destructor redeclaration for <field2> +input.y:1.13-29: previous declaration +input.y:12.10-24: error: %printer redeclaration for <field1> +input.y:2.10-24: previous declaration +input.y:12.10-24: error: %printer redeclaration for <field2> +input.y:5.10-24: previous declaration ]]) AT_CLEANUP @@ -286,7 +286,7 @@ exp: bar; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:2.16-18: symbol bar is used, but is not defined as a token and has no rules +[[input.y:2.16-18: error: symbol bar is used, but is not defined as a token and has no rules input.y:1.17-19: warning: symbol baz is used, but is not defined as a token and has no rules [-Wother] input.y:1.13-15: warning: symbol foo is used, but is not defined as a token and has no rules [-Wother] input.y:3.13-15: warning: symbol qux is used, but is not defined as a token and has no rules [-Wother] @@ -480,14 +480,14 @@ exp: foo; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:8.7-11: %type redeclaration for foo -input.y:3.7-11: previous declaration -input.y:10.13-17: %destructor redeclaration for foo -input.y:5.13-17: previous declaration -input.y:9.10-14: %printer redeclaration for foo -input.y:4.10-14: previous declaration -input.y:11.1-5: %left redeclaration for foo -input.y:6.1-5: previous declaration +[[input.y:8.7-11: error: %type redeclaration for foo +input.y:3.7-11: previous declaration +input.y:10.13-17: error: %destructor redeclaration for foo +input.y:5.13-17: previous declaration +input.y:9.10-14: error: %printer redeclaration for foo +input.y:4.10-14: previous declaration +input.y:11.1-5: error: %left redeclaration for foo +input.y:6.1-5: previous declaration ]]) AT_CLEANUP @@ -506,7 +506,7 @@ AT_SETUP([Torturing the Scanner]) AT_BISON_OPTION_PUSHDEFS AT_DATA([input.y], []) AT_BISON_CHECK([input.y], [1], [], -[[input.y:1.1: syntax error, unexpected end of file +[[input.y:1.1: error: syntax error, unexpected end of file ]]) @@ -514,7 +514,7 @@ AT_DATA([input.y], [{} ]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:1.1-2: syntax error, unexpected {...} +[[input.y:1.1-2: error: syntax error, unexpected {...} ]]) @@ -780,9 +780,9 @@ AT_DATA_GRAMMAR([input.y], start: .GOOD GOOD ]]) AT_BISON_CHECK([-o input.c input.y], [1], [], -[[input.y:10.10: invalid character: '-' -input.y:11.10-16: invalid identifier: '1NV4L1D' -input.y:12.10: invalid character: '-' +[[input.y:10.10: error: invalid character: '-' +input.y:11.10-16: error: invalid identifier: '1NV4L1D' +input.y:12.10: error: invalid character: '-' ]]) AT_CLEANUP @@ -804,9 +804,9 @@ start: DECIMAL_1 HEXADECIMAL_2; ]]) AT_BISON_CHECK([redecl.y], [1], [], -[[redecl.y:10.10-22: user token number 11259375 redeclaration for HEXADECIMAL_1 -redecl.y:9.8-16: previous declaration for DECIMAL_1 -redecl.y:12.10-18: user token number 16702650 redeclaration for DECIMAL_2 +[[redecl.y:10.10-22: error: user token number 11259375 redeclaration for HEXADECIMAL_1 +redecl.y:9.8-16: previous declaration for DECIMAL_1 +redecl.y:12.10-18: error: user token number 16702650 redeclaration for DECIMAL_2 redecl.y:11.10-22: previous declaration for HEXADECIMAL_2 ]]) @@ -819,8 +819,8 @@ start: TOO_LARGE_DEC TOO_LARGE_HEX ]]) AT_BISON_CHECK([too-large.y], [1], [], -[[too-large.y:9.22-42: integer out of range: '999999999999999999999' -too-large.y:10.24-44: integer out of range: '0xFFFFFFFFFFFFFFFFFFF' +[[too-large.y:9.22-42: error: integer out of range: '999999999999999999999' +too-large.y:10.24-44: error: integer out of range: '0xFFFFFFFFFFFFFFFFFFF' ]]) AT_CLEANUP @@ -860,12 +860,12 @@ start: ; ]]) AT_BISON_CHECK([-o input.c input.y], 1, [], -[[input.y:1.10-2.0: missing '"' at end of line -input.y:4.10-5.0: missing "'" at end of line -input.y:14.11-15.0: missing "'" at end of line -input.y:16.11-17.0: missing '"' at end of line -input.y:19.13-20.0: missing '}' at end of file -input.y:20.1: syntax error, unexpected end of file +[[input.y:1.10-2.0: error: missing '"' at end of line +input.y:4.10-5.0: error: missing "'" at end of line +input.y:14.11-15.0: error: missing "'" at end of line +input.y:16.11-17.0: error: missing '"' at end of line +input.y:19.13-20.0: error: missing '}' at end of file +input.y:20.1: error: syntax error, unexpected end of file ]]) AT_CLEANUP @@ -907,7 +907,7 @@ PREC: ; ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:3.1-4: rule given for PREC, which is a token +[[input.y:3.1-4: error: rule given for PREC, which is a token ]]) AT_CLEANUP @@ -948,10 +948,10 @@ AT_DATA([input-c.y], start: ; ]]) AT_BISON_CHECK([[input-c.y]], [[1]], [], -[[input-c.y:1.7: %code qualifier 'q' is not used -input-c.y:2.7-9: %code qualifier 'bad' is not used -input-c.y:3.7-9: %code qualifier 'bad' is not used -input-c.y:4.7-12: %code qualifier 'format' is not used +[[input-c.y:1.7: error: %code qualifier 'q' is not used +input-c.y:2.7-9: error: %code qualifier 'bad' is not used +input-c.y:3.7-9: error: %code qualifier 'bad' is not used +input-c.y:4.7-12: error: %code qualifier 'format' is not used ]]) AT_DATA([input-c-glr.y], @@ -962,9 +962,9 @@ AT_DATA([input-c-glr.y], start: ; ]]) AT_BISON_CHECK([[input-c-glr.y]], [[1]], [], -[[input-c-glr.y:1.7: %code qualifier 'q' is not used -input-c-glr.y:2.7-9: %code qualifier 'bad' is not used -input-c-glr.y:3.8-10: %code qualifier 'bad' is not used +[[input-c-glr.y:1.7: error: %code qualifier 'q' is not used +input-c-glr.y:2.7-9: error: %code qualifier 'bad' is not used +input-c-glr.y:3.8-10: error: %code qualifier 'bad' is not used ]]) AT_DATA([input-c++.y], @@ -975,9 +975,9 @@ AT_DATA([input-c++.y], start: ; ]]) AT_BISON_CHECK([[input-c++.y]], [[1]], [], -[[input-c++.y:1.7: %code qualifier 'q' is not used -input-c++.y:2.7-9: %code qualifier 'bad' is not used -input-c++.y:3.8: %code qualifier 'q' is not used +[[input-c++.y:1.7: error: %code qualifier 'q' is not used +input-c++.y:2.7-9: error: %code qualifier 'bad' is not used +input-c++.y:3.8: error: %code qualifier 'q' is not used ]]) AT_DATA([input-c++-glr.y], @@ -988,9 +988,9 @@ AT_DATA([input-c++-glr.y], start: ; ]]) AT_BISON_CHECK([[input-c++-glr.y]], [[1]], [], -[[input-c++-glr.y:1.7-9: %code qualifier 'bad' is not used -input-c++-glr.y:2.7: %code qualifier 'q' is not used -input-c++-glr.y:3.7: %code qualifier 'q' is not used +[[input-c++-glr.y:1.7-9: error: %code qualifier 'bad' is not used +input-c++-glr.y:2.7: error: %code qualifier 'q' is not used +input-c++-glr.y:3.7: error: %code qualifier 'q' is not used ]]) AT_DATA([special-char-@@.y], @@ -1001,9 +1001,9 @@ AT_DATA([special-char-@@.y], start: ; ]]) AT_BISON_CHECK([[special-char-@@.y]], [[1]], [], -[[special-char-@@.y:1.7-9: %code qualifier 'bad' is not used -special-char-@@.y:2.7: %code qualifier 'q' is not used -special-char-@@.y:3.7: %code qualifier 'q' is not used +[[special-char-@@.y:1.7-9: error: %code qualifier 'bad' is not used +special-char-@@.y:2.7: error: %code qualifier 'q' is not used +special-char-@@.y:3.7: error: %code qualifier 'q' is not used ]]) AT_DATA([special-char-@:>@.y], @@ -1014,9 +1014,9 @@ AT_DATA([special-char-@:>@.y], start: ; ]]) AT_BISON_CHECK([[special-char-@:>@.y]], [[1]], [], -[[special-char-@:>@.y:1.7-9: %code qualifier 'bad' is not used -special-char-@:>@.y:2.7: %code qualifier 'q' is not used -special-char-@:>@.y:3.7: %code qualifier 'q' is not used +[[special-char-@:>@.y:1.7-9: error: %code qualifier 'bad' is not used +special-char-@:>@.y:2.7: error: %code qualifier 'q' is not used +special-char-@:>@.y:3.7: error: %code qualifier 'q' is not used ]]) AT_CLEANUP @@ -1039,10 +1039,10 @@ start: ; ]]) AT_BISON_CHECK([[input-redefined.y]], [[1]], [], -[[input-redefined.y:2.9-11: %define variable 'var' redefined -input-redefined.y:1.9-11: previous definition -input-redefined.y:3.10-12: %define variable 'var' redefined -input-redefined.y:2.9-11: previous definition +[[input-redefined.y:2.9-11: error: %define variable 'var' redefined +input-redefined.y:1.9-11: previous definition +input-redefined.y:3.10-12: error: %define variable 'var' redefined +input-redefined.y:2.9-11: previous definition ]]) AT_DATA([input-unused.y], @@ -1052,7 +1052,7 @@ start: ; ]]) AT_BISON_CHECK([[input-unused.y]], [[1]], [], -[[input-unused.y:1.9-11: %define variable 'var' is not used +[[input-unused.y:1.9-11: error: %define variable 'var' is not used ]]) AT_CLEANUP @@ -1096,8 +1096,8 @@ AT_DATA([[input-dg.y]], start: ; ]]) AT_BISON_CHECK([[-Dvar=cmd-d input-dg.y]], [[1]], [], -[[input-dg.y:1.9-11: %define variable 'var' redefined -<command line>:2: previous definition +[[input-dg.y:1.9-11: error: %define variable 'var' redefined +<command line>:2: previous definition ]]) AT_DATA([[input-unused.y]], @@ -1105,8 +1105,8 @@ AT_DATA([[input-unused.y]], start: ; ]]) AT_BISON_CHECK([[-Dunused-d -Funused-f input-unused.y]], [[1]], [], -[[<command line>:2: %define variable 'unused-d' is not used -<command line>:3: %define variable 'unused-f' is not used +[[<command line>:2: error: %define variable 'unused-d' is not used +<command line>:3: error: %define variable 'unused-f' is not used ]]) AT_CLEANUP @@ -1126,7 +1126,7 @@ start: ; ]]) AT_BISON_CHECK([[Input.y]], [1], [], -[[Input.y:2.9-14: invalid value for %define Boolean variable 'public' +[[Input.y:2.9-14: error: invalid value for %define Boolean variable 'public' ]]) AT_CLEANUP @@ -1144,23 +1144,24 @@ AT_DATA([[input.y]], start: ; ]]) AT_BISON_CHECK([[input.y]], [[1]], [[]], -[[input.y:1.9-29: invalid value for %define variable 'lr.default-reductions': 'bogus' -input.y:1.9-29: accepted value: 'most' -input.y:1.9-29: accepted value: 'consistent' -input.y:1.9-29: accepted value: 'accepting' +[[input.y:1.9-29: error: invalid value for %define variable 'lr.default-reductions': 'bogus' +input.y:1.9-29: accepted value: 'most' +input.y:1.9-29: accepted value: 'consistent' +input.y:1.9-29: accepted value: 'accepting' ]]) # Back-end. +# FIXME: these should be indented, but we shouldn't mess with the m4 yet AT_DATA([[input.y]], [[%define api.push-pull neither %% start: ; ]]) AT_BISON_CHECK([[input.y]], [1], [], -[[input.y:1.9-21: invalid value for %define variable 'api.push-pull': 'neither' -input.y:1.9-21: accepted value: 'pull' -input.y:1.9-21: accepted value: 'push' -input.y:1.9-21: accepted value: 'both' +[[input.y:1.9-21: error: invalid value for %define variable 'api.push-pull': 'neither' +input.y:1.9-21: error: accepted value: 'pull' +input.y:1.9-21: error: accepted value: 'push' +input.y:1.9-21: error: accepted value: 'both' ]]) AT_CLEANUP @@ -1181,10 +1182,10 @@ start: ; ]]) AT_BISON_CHECK([[input.y]], [1], [], [[input.y:1.9-21: warning: deprecated %define variable name: 'api.push_pull', use 'api.push-pull' [-Wdeprecated] -input.y:1.9-21: invalid value for %define variable 'api.push-pull': 'neither' -input.y:1.9-21: accepted value: 'pull' -input.y:1.9-21: accepted value: 'push' -input.y:1.9-21: accepted value: 'both' +input.y:1.9-21: error: invalid value for %define variable 'api.push-pull': 'neither' +input.y:1.9-21: error: accepted value: 'pull' +input.y:1.9-21: error: accepted value: 'push' +input.y:1.9-21: error: accepted value: 'both' ]]) AT_DATA([[input.y]], @@ -1194,7 +1195,7 @@ start: ; ]]) AT_BISON_CHECK([[input.y]], [1], [], [[input.y:1.9-34: warning: deprecated %define variable name: 'lr.keep_unreachable_states', use 'lr.keep-unreachable-states' [-Wdeprecated] -input.y:1.9-34: invalid value for %define Boolean variable 'lr.keep-unreachable-states' +input.y:1.9-34: error: invalid value for %define Boolean variable 'lr.keep-unreachable-states' ]]) AT_DATA([[input.y]], @@ -1205,8 +1206,8 @@ start: ; ]]) AT_BISON_CHECK([[input.y]], [1], [], [[input.y:1.9-17: warning: deprecated %define variable name: 'namespace', use 'api.namespace' [-Wdeprecated] -input.y:2.9-21: %define variable 'api.namespace' redefined -input.y:1.9-17: previous definition +input.y:2.9-21: error: %define variable 'api.namespace' redefined +input.y:1.9-17: previous definition ]]) AT_DATA([[input.y]], @@ -1215,7 +1216,7 @@ AT_DATA([[input.y]], start: ; ]]) AT_BISON_CHECK([[input.y]], [[1]], [], -[[input.y:1.9-15: %define variable 'foo_bar' is not used +[[input.y:1.9-15: error: %define variable 'foo_bar' is not used ]]) AT_CLEANUP @@ -1240,7 +1241,7 @@ start: ; ]]) AT_BISON_CHECK([[input.y]], [[1]], [], -[[input.y:1.9-16: %define variable 'api.pure' is not used +[[input.y:1.9-16: error: %define variable 'api.pure' is not used ]]) ]) @@ -1274,7 +1275,7 @@ start: ; AT_BISON_CHECK([[input.y]], [1], [], [m4_foreach([b4_arg], m4_dquote(m4_shift($@)), -[[input.y:3.9-21: ]b4_arg[ +[[input.y:3.9-21: error: ]b4_arg[ ]])]) ]) @@ -1325,9 +1326,9 @@ AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]]) AT_BISON_CHECK([empty.y], [1], [], [[empty.y:2.8-9: warning: empty character literal [-Wother] empty.y:3.8-4.0: warning: empty character literal [-Wother] -empty.y:3.8-4.0: missing "'" at end of line +empty.y:3.8-4.0: error: missing "'" at end of line empty.y:4.8: warning: empty character literal [-Wother] -empty.y:4.8: missing "'" at end of file +empty.y:4.8: error: missing "'" at end of file ]]) AT_DATA([two.y], @@ -1340,9 +1341,9 @@ AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]]) AT_BISON_CHECK([two.y], [1], [], [[two.y:2.8-11: warning: extra characters in character literal [-Wother] two.y:3.8-4.0: warning: extra characters in character literal [-Wother] -two.y:3.8-4.0: missing "'" at end of line +two.y:3.8-4.0: error: missing "'" at end of line two.y:4.8-10: warning: extra characters in character literal [-Wother] -two.y:4.8-10: missing "'" at end of file +two.y:4.8-10: error: missing "'" at end of file ]]) AT_DATA([three.y], @@ -1355,9 +1356,9 @@ AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]]) AT_BISON_CHECK([three.y], [1], [], [[three.y:2.8-12: warning: extra characters in character literal [-Wother] three.y:3.8-4.0: warning: extra characters in character literal [-Wother] -three.y:3.8-4.0: missing "'" at end of line +three.y:3.8-4.0: error: missing "'" at end of line three.y:4.8-11: warning: extra characters in character literal [-Wother] -three.y:4.8-11: missing "'" at end of file +three.y:4.8-11: error: missing "'" at end of file ]]) AT_CLEANUP @@ -1383,30 +1384,30 @@ AT_CHECK([[perl -e 'print "start: \"\\\t\\\f\\\0\\\1\" ;";' >> input.y \ || exit 77]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:2.9-12: invalid number after \-escape: 777 +[[input.y:2.9-12: error: invalid number after \-escape: 777 input.y:2.8-13: warning: empty character literal [-Wother] -input.y:2.16-17: invalid number after \-escape: 0 +input.y:2.16-17: error: invalid number after \-escape: 0 input.y:2.15-18: warning: empty character literal [-Wother] -input.y:2.21-25: invalid number after \-escape: xfff +input.y:2.21-25: error: invalid number after \-escape: xfff input.y:2.20-26: warning: empty character literal [-Wother] -input.y:2.29-31: invalid number after \-escape: x0 +input.y:2.29-31: error: invalid number after \-escape: x0 input.y:2.28-32: warning: empty character literal [-Wother] -input.y:3.9-14: invalid number after \-escape: uffff +input.y:3.9-14: error: invalid number after \-escape: uffff input.y:3.8-15: warning: empty character literal [-Wother] -input.y:3.18-23: invalid number after \-escape: u0000 +input.y:3.18-23: error: invalid number after \-escape: u0000 input.y:3.17-24: warning: empty character literal [-Wother] -input.y:3.27-36: invalid number after \-escape: Uffffffff +input.y:3.27-36: error: invalid number after \-escape: Uffffffff input.y:3.26-37: warning: empty character literal [-Wother] -input.y:3.40-49: invalid number after \-escape: U00000000 +input.y:3.40-49: error: invalid number after \-escape: U00000000 input.y:3.39-50: warning: empty character literal [-Wother] -input.y:4.9-10: invalid character after \-escape: ' ' +input.y:4.9-10: error: invalid character after \-escape: ' ' input.y:4.8-11: warning: empty character literal [-Wother] -input.y:4.14-15: invalid character after \-escape: A +input.y:4.14-15: error: invalid character after \-escape: A input.y:4.13-16: warning: empty character literal [-Wother] -input.y:5.9-16: invalid character after \-escape: \t -input.y:5.17: invalid character after \-escape: \f -input.y:5.18: invalid character after \-escape: \0 -input.y:5.19: invalid character after \-escape: \001 +input.y:5.9-16: error: invalid character after \-escape: \t +input.y:5.17: error: invalid character after \-escape: \f +input.y:5.18: error: invalid character after \-escape: \0 +input.y:5.19: error: invalid character after \-escape: \001 ]]) AT_CLEANUP @@ -1425,11 +1426,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: %define variable 'parse.lac.es-capacity-initial' is not used +[[<command line>:2: 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: %define variable 'parse.lac.memory-trace' is not used +[[<command line>:2: error: %define variable 'parse.lac.memory-trace' is not used ]]) AT_CLEANUP @@ -1483,7 +1484,7 @@ m4_pushdef([AT_TEST], exp:; ]]) AT_BISON_CHECK([[$2 input.y]], [[1]], [[]], -[[$3: '%name-prefix' and '%define api.prefix' cannot be used together +[[$3: error: '%name-prefix' and '%define api.prefix' cannot be used together ]]) ]) diff --git a/tests/named-refs.at b/tests/named-refs.at index f9e48a5..1cd55b3 100644 --- a/tests/named-refs.at +++ b/tests/named-refs.at @@ -251,16 +251,16 @@ exp: ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:50.51-60: invalid reference: '$<ival>lo9' +[[test.y:50.51-60: error: invalid reference: '$<ival>lo9' test.y:50.3-68: symbol not found in production: lo9 test.y:51.51-60: warning: misleading reference: '$<ival>exp' [-Wother] -test.y:42.1-3: warning: refers to: $exp at $$ [-Wother] -test.y:51.7: warning: possibly meant: $x, hiding $exp at $1 [-Wother] -test.y:51.41: warning: possibly meant: $r, hiding $exp at $4 [-Wother] -test.y:52.51-52: $l of 'exp' has no declared type -test.y:55.46-49: invalid reference: '$r12' +test.y:42.1-3: refers to: $exp at $$ [-Wother] +test.y:51.7: possibly meant: $x, hiding $exp at $1 [-Wother] +test.y:51.41: possibly meant: $r, hiding $exp at $4 [-Wother] +test.y:52.51-52: error: $l of 'exp' has no declared type +test.y:55.46-49: error: invalid reference: '$r12' test.y:55.3-53: symbol not found in production: r12 -test.y:56.29-33: invalid reference: '$expo' +test.y:56.29-33: error: invalid reference: '$expo' test.y:56.3-46: symbol not found in production: expo ]]) AT_BISON_OPTION_POPDEFS @@ -278,8 +278,8 @@ foo.bar: '2' ]]) AT_BISON_CHECK([-o test.c test.y], 0, [], [[test.y:11.22-29: warning: misleading reference: '$foo.bar' [-Wother] -test.y:11.8-10: warning: refers to: $foo at $1 [-Wother] -test.y:11.12-18: warning: possibly meant: $[foo.bar] at $2 [-Wother] +test.y:11.8-10: refers to: $foo at $1 [-Wother] +test.y:11.12-18: possibly meant: $[foo.bar] at $2 [-Wother] ]]) AT_CLEANUP @@ -353,43 +353,43 @@ factor: '(' expr ')' { $$ = $2; } ; ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:24.36-41: invalid reference: '$cond1' +[[test.y:24.36-41: error: invalid reference: '$cond1' test.y:23.11-24.62: symbol not found in production: cond1 -test.y:26.43-53: invalid reference: '$stmt.field' +test.y:26.43-53: error: invalid reference: '$stmt.field' test.y:25.11-26.60: symbol not found in production: stmt test.y:25.35-38: possibly meant: $then.field, hiding $stmt.field at $4 -test.y:28.43-52: invalid reference: '$stmt.list' +test.y:28.43-52: error: invalid reference: '$stmt.list' test.y:27.11-28.59: symbol not found in production: stmt test.y:27.30-38: possibly meant: $[stmt.list] at $4 -test.y:30.43-46: ambiguous reference: '$xyz' +test.y:30.43-46: error: ambiguous reference: '$xyz' test.y:29.35-37: refers to: $xyz at $4 test.y:29.50-52: refers to: $xyz at $6 -test.y:32.43-52: invalid reference: '$stmt.list' +test.y:32.43-52: error: invalid reference: '$stmt.list' test.y:31.11-32.63: symbol not found in production: stmt test.y:31.40-43: possibly meant: $then, hiding $[stmt.list] at $4 test.y:31.61-64: possibly meant: $else, hiding $[stmt.list] at $6 -test.y:34.43-58: invalid reference: '$stmt.list.field' +test.y:34.43-58: error: invalid reference: '$stmt.list.field' test.y:33.11-34.69: symbol not found in production: stmt test.y:33.40-43: possibly meant: $then.field, hiding $[stmt.list].field at $4 test.y:33.61-64: possibly meant: $else.field, hiding $[stmt.list].field at $6 -test.y:36.43-54: invalid reference: '$[stmt.list]' +test.y:36.43-54: error: invalid reference: '$[stmt.list]' test.y:35.11-36.71: symbol not found in production: stmt.list test.y:35.40-43: possibly meant: $then, hiding $[stmt.list] at $4 test.y:35.61-64: possibly meant: $else, hiding $[stmt.list] at $6 -test.y:38.43-49: invalid reference: '$then.1' +test.y:38.43-49: error: invalid reference: '$then.1' test.y:37.11-38.60: symbol not found in production: then test.y:37.40-45: possibly meant: $[then.1] at $4 -test.y:40.43-55: invalid reference: '$then.1.field' +test.y:40.43-55: error: invalid reference: '$then.1.field' test.y:39.11-40.66: symbol not found in production: then test.y:39.40-45: possibly meant: $[then.1].field at $4 -test.y:42.44-50: invalid reference: '$stmt.x' +test.y:42.44-50: error: invalid reference: '$stmt.x' test.y:41.12-42.57: symbol not found in production: stmt test.y:41.36-41: possibly meant: $[stmt.x].x, hiding $stmt.x at $4 test.y:41.36-41: possibly meant: $[stmt.x] at $4 -test.y:44.13-22: invalid reference: '$if-stmt-a' +test.y:44.13-22: error: invalid reference: '$if-stmt-a' test.y:43.12-44.59: symbol not found in production: if test.y:43.1-9: possibly meant: $[if-stmt-a] at $$ -test.y:46.46-54: invalid reference: '$then-a.f' +test.y:46.46-54: error: invalid reference: '$then-a.f' test.y:45.12-46.65: symbol not found in production: then test.y:45.41-46: possibly meant: $[then-a].f at $4 ]]) @@ -405,7 +405,7 @@ start: foo[] bar { s = $foo; } ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.12: an identifier expected +[[test.y:11.12: error: an identifier expected ]]) AT_CLEANUP @@ -419,7 +419,7 @@ start: foo[ a d ] bar { s = $foo; } ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.15: unexpected identifier in bracketed name: 'd' +[[test.y:11.15: error: unexpected identifier in bracketed name: 'd' ]]) AT_CLEANUP @@ -433,7 +433,7 @@ start: foo[/* comment */] bar { s = $foo; } ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.25: an identifier expected +[[test.y:11.25: error: an identifier expected ]]) AT_CLEANUP @@ -447,10 +447,10 @@ start: foo[ /* aaa */ *&-.+ ] bar { s = $foo; } ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.23: invalid character in bracketed name: '*' -test.y:11.24: invalid character in bracketed name: '&' -test.y:11.25: invalid character in bracketed name: '-' -test.y:11.27: invalid character in bracketed name: '+' +[[test.y:11.23: error: invalid character in bracketed name: '*' +test.y:11.24: error: invalid character in bracketed name: '&' +test.y:11.25: error: invalid character in bracketed name: '-' +test.y:11.27: error: invalid character in bracketed name: '+' ]]) AT_CLEANUP @@ -463,7 +463,7 @@ AT_DATA_GRAMMAR([test.y], start[a s]: foo; ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:11.9: unexpected identifier in bracketed name: 's' +[[test.y:11.9: error: unexpected identifier in bracketed name: 's' ]]) AT_CLEANUP @@ -510,37 +510,37 @@ sym_a: 'a'; sym_b: 'b'; ]]) AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:12.22-31: invalid reference: '$sym.field' +[[test.y:12.22-31: error: invalid reference: '$sym.field' test.y:12.3-35: symbol not found in production: sym -test.y:13.22-35: invalid reference: '$<aa>sym.field' +test.y:13.22-35: error: invalid reference: '$<aa>sym.field' test.y:13.3-39: symbol not found in production: sym -test.y:14.22-33: invalid reference: '$[sym.field]' +test.y:14.22-33: error: invalid reference: '$[sym.field]' test.y:14.3-37: symbol not found in production: sym.field -test.y:15.22-37: invalid reference: '$<aa>[sym.field]' +test.y:15.22-37: error: invalid reference: '$<aa>[sym.field]' test.y:15.3-41: symbol not found in production: sym.field -test.y:16.22-25: invalid reference: '$sym' +test.y:16.22-25: error: invalid reference: '$sym' test.y:16.3-29: symbol not found in production: sym -test.y:17.22-29: invalid reference: '$<aa>sym' +test.y:17.22-29: error: invalid reference: '$<aa>sym' test.y:17.3-33: symbol not found in production: sym -test.y:18.22-27: invalid reference: '$[sym]' +test.y:18.22-27: error: invalid reference: '$[sym]' test.y:18.3-65: symbol not found in production before $3: sym -test.y:18.52-61: invalid reference: '$<aa>[sym]' +test.y:18.52-61: error: invalid reference: '$<aa>[sym]' test.y:18.3-65: symbol not found in production: sym -test.y:22.22-31: invalid reference: '$sym-field' +test.y:22.22-31: error: invalid reference: '$sym-field' test.y:22.3-35: symbol not found in production: sym -test.y:23.22-35: invalid reference: '$<aa>sym-field' +test.y:23.22-35: error: invalid reference: '$<aa>sym-field' test.y:23.3-39: symbol not found in production: sym -test.y:24.22-33: invalid reference: '$[sym-field]' +test.y:24.22-33: error: invalid reference: '$[sym-field]' test.y:24.3-37: symbol not found in production: sym-field -test.y:25.22-37: invalid reference: '$<aa>[sym-field]' +test.y:25.22-37: error: invalid reference: '$<aa>[sym-field]' test.y:25.3-41: symbol not found in production: sym-field -test.y:26.22-25: invalid reference: '$sym' +test.y:26.22-25: error: invalid reference: '$sym' test.y:26.3-29: symbol not found in production: sym -test.y:27.22-29: invalid reference: '$<aa>sym' +test.y:27.22-29: error: invalid reference: '$<aa>sym' test.y:27.3-33: symbol not found in production: sym -test.y:28.22-27: invalid reference: '$[sym]' +test.y:28.22-27: error: invalid reference: '$[sym]' test.y:28.3-65: symbol not found in production before $3: sym -test.y:28.52-61: invalid reference: '$<aa>[sym]' +test.y:28.52-61: error: invalid reference: '$<aa>[sym]' test.y:28.3-65: symbol not found in production: sym ]]) AT_CLEANUP @@ -558,10 +558,10 @@ start: .field: ; ]]) AT_BISON_CHECK([[test.y]], [[1]], [], -[[test.y:4.12-18: invalid reference: '$.field' +[[test.y:4.12-18: error: invalid reference: '$.field' test.y:4.13: syntax error after '$', expecting integer, letter, '_', '@<:@', or '$' test.y:4.3-8: possibly meant: $[.field] at $1 -test.y:5.12-18: invalid reference: '@.field' +test.y:5.12-18: error: invalid reference: '@.field' test.y:5.13: syntax error after '@', expecting integer, letter, '_', '@<:@', or '$' ]]) AT_DATA([[test.y]], diff --git a/tests/output.at b/tests/output.at index cce330e..3a13fd3 100644 --- a/tests/output.at +++ b/tests/output.at @@ -191,7 +191,7 @@ AT_CHECK_CONFLICTING_OUTPUT([foo.y], ]]) AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [-o foo.y], -[[foo.y: refusing to overwrite the input file 'foo.y' +[[foo.y: error: refusing to overwrite the input file 'foo.y' ]], 1) diff --git a/tests/push.at b/tests/push.at index d2c0926..1b99397 100644 --- a/tests/push.at +++ b/tests/push.at @@ -153,7 +153,7 @@ start: ; AT_BISON_OPTION_POPDEFS AT_BISON_CHECK([[input.y]], [[1]], [], -[[input.y:2.9-21: %define variable 'api.push-pull' is not used +[[input.y:2.9-21: error: %define variable 'api.push-pull' is not used ]]) AT_CLEANUP diff --git a/tests/regression.at b/tests/regression.at index 5911c53..2fb180e 100644 --- a/tests/regression.at +++ b/tests/regression.at @@ -401,15 +401,15 @@ default: 'a' } ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:2.1: invalid character: '?' -input.y:3.14: invalid character: '}' -input.y:4.1: invalid character: '%' -input.y:4.2: invalid character: '&' -input.y:5.1-17: invalid directive: '%a-does-not-exist' -input.y:6.1: invalid character: '%' -input.y:6.2: invalid character: '-' -input.y:7.1-8.0: missing '%}' at end of file -input.y:7.1-8.0: syntax error, unexpected %{...%} +[[input.y:2.1: error: invalid character: '?' +input.y:3.14: error: invalid character: '}' +input.y:4.1: error: invalid character: '%' +input.y:4.2: error: invalid character: '&' +input.y:5.1-17: error: invalid directive: '%a-does-not-exist' +input.y:6.1: error: invalid character: '%' +input.y:6.2: error: invalid character: '-' +input.y:7.1-8.0: error: missing '%}' at end of file +input.y:7.1-8.0: error: syntax error, unexpected %{...%} ]]) AT_CLEANUP @@ -428,7 +428,7 @@ AT_DATA([input.y], ]]) AT_BISON_CHECK([input.y], [1], [], -[[input.y:3.1-15: syntax error, unexpected %initial-action, expecting {...} +[[input.y:3.1-15: error: syntax error, unexpected %initial-action, expecting {...} ]]) AT_CLEANUP diff --git a/tests/skeletons.at b/tests/skeletons.at index ce32e88..ce079d6 100644 --- a/tests/skeletons.at +++ b/tests/skeletons.at @@ -157,7 +157,7 @@ start: ; ]]) AT_BISON_CHECK([[input.y]], [[1]], [[]], -[[<skeleton default value>: invalid value for %define Boolean variable 'foo' +[[<skeleton default value>: error: invalid value for %define Boolean variable 'foo' ]]) AT_CLEANUP @@ -193,8 +193,8 @@ start: ; AT_BISON_CHECK([[input1.y]], [[1]], [[]], [[input1.y: warning: foow fubar [-Wother] foow.y:2.3-5.3: warning: foowat fubar [-Wother] -input1.y: fooc fubar -fooc.y:1.1-10.5: foocat fubar +input1.y: error: fooc fubar +fooc.y:1.1-10.5: error: foocat fubar input1.y: fatal error: foof fubar ]]) @@ -264,7 +264,7 @@ start: ; ]]) AT_BISON_CHECK([[input1.y]], [[1]], [[]], -[[input1.y: non-fatal error +[[input1.y: error: non-fatal error input1.y: fatal error: M4 should exit immediately here ]])
