[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/6] {maint} errors: output prefixing
From: |
Akim Demaille |
Subject: |
Re: [PATCH 0/6] {maint} errors: output prefixing |
Date: |
Wed, 26 Sep 2012 15:53:14 +0200 |
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 <address@hidden>
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 address@hidden
Stefano Lattarini address@hidden
Steve Murphy address@hidden
Sum Wu address@hidden
+Théophile Ranquet address@hidden
Thiru Ramakrishnan address@hidden
Tim Josling address@hidden
Tim Landscheidt address@hidden
@@ -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
]])
- [PATCH 0/6] {maint} errors: output prefixing, Theophile Ranquet, 2012/09/26
- [PATCH 6/6] warnings: introduce -Wdeprecated in the usage info, Theophile Ranquet, 2012/09/26
- [PATCH 1/6] errors: indent "result type clash" error context, Theophile Ranquet, 2012/09/26
- [PATCH 3/6] errors: indent "%define var" redefinition context, Theophile Ranquet, 2012/09/26
- [PATCH 4/6] errors: indent "invalid value for %define" context, Theophile Ranquet, 2012/09/26
- [PATCH 5/6] errors: prefix the output with "error: ", Theophile Ranquet, 2012/09/26
- [PATCH 2/6] errors: indent "symbol redeclaration" context, Theophile Ranquet, 2012/09/26
- Re: [PATCH 0/6] {maint} errors: output prefixing,
Akim Demaille <=
- [PATCH 0/6] {maint} errors: output prefixing, Theophile Ranquet, 2012/09/27
- [PATCH 6/6] warnings: introduce Wdeprecated in the usage info, Theophile Ranquet, 2012/09/27
- [PATCH 4/6] errors: indent "invalid value for %define" context, Theophile Ranquet, 2012/09/27
- [PATCH 2/6] errors: indent "symbol redeclaration" context, Theophile Ranquet, 2012/09/27
- [PATCH 3/6] errors: indent "%define var" redefinition context, Theophile Ranquet, 2012/09/27
- [PATCH 1/6] errors: indent "result type clash" error context, Theophile Ranquet, 2012/09/27
- [PATCH 5/6] errors: prefix the output with "error: ", Theophile Ranquet, 2012/09/27
- Re: [PATCH 0/6] {maint} errors: output prefixing, Théophile Ranquet, 2012/09/27