mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-18 00:33:03 +00:00
diagnostics: modernize the display of submessages
Since Bison 2.7, output was indented four spaces for explanatory
statements. For example:
input.y:2.7-13: error: %type redeclaration for exp
input.y:1.7-11: previous declaration
Since the introduction of caret-diagnostics, it became less clear.
Remove the indentation and display submessages as in GCC:
input.y:2.7-13: error: %type redeclaration for exp
2 | %type <float> exp
| ^~~~~~~
input.y:1.7-11: note: previous declaration
1 | %type <int> exp
| ^~~~~
* src/complain.h (SUB_INDENT): Remove.
(warnings): Add "note" to the enum.
* src/complain.h, src/complain.c (complain_indent): Replace by...
(subcomplain): this.
Adjust all dependencies.
* tests/actions.at, tests/diagnostics.at, tests/glr-regression.at,
* tests/input.at, tests/named-refs.at, tests/regression.at:
Adjust expectations.
This commit is contained in:
committed by
Akim Demaille
parent
a09d0ae4d1
commit
e09a72eeb0
@@ -189,7 +189,7 @@ flag (const char *arg)
|
||||
else if (STREQ (arg, "fatal"))
|
||||
return fatal;
|
||||
else if (STREQ (arg, "note"))
|
||||
return silent | complaint | no_caret;
|
||||
return silent | complaint | no_caret | note;
|
||||
else if (STREQ (arg, "warn"))
|
||||
return Wother;
|
||||
else
|
||||
@@ -225,14 +225,7 @@ at_complain (int argc, char *argv[], char **out_namep, int *out_linenop)
|
||||
boundary_set_from_string (&loc.end, argv[3]);
|
||||
locp = &loc;
|
||||
}
|
||||
static int indent;
|
||||
if (w & silent)
|
||||
indent += SUB_INDENT;
|
||||
else
|
||||
indent = 0;
|
||||
complain_args (locp, w, &indent, argc - 4, argv + 4);
|
||||
if (w & silent)
|
||||
indent -= SUB_INDENT;
|
||||
complain_args (locp, w, argc - 4, argv + 4);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user