mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-18 11:20:51 +08:00
re PR c++/53289 (unnecessary repetition of caret diagnostics)
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/53289 gcc/ * diagnostic.h (diagnostic_context): Add last_location. * diagnostic.c (diagnostic_initialize): Initialize it. (diagnostic_show_locus): Use it. From-SVN: r187355
This commit is contained in:
parent
d21a7b447a
commit
1b8b126f38
@ -10,6 +10,13 @@
|
||||
(xop_mulv2div2di3_low): Remove insn_and_split pattern.
|
||||
(xop_mulv2div2di3_high): Ditto.
|
||||
|
||||
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR c++/53289
|
||||
* diagnostic.h (diagnostic_context): Add last_location.
|
||||
* diagnostic.c (diagnostic_initialize): Initialize it.
|
||||
(diagnostic_show_locus): Use it.
|
||||
|
||||
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
* doc/extend.texi (Function Attributes): Point xref to section
|
||||
|
@ -147,6 +147,7 @@ diagnostic_initialize (diagnostic_context *context, int n_opts)
|
||||
context->option_enabled = NULL;
|
||||
context->option_state = NULL;
|
||||
context->option_name = NULL;
|
||||
context->last_location = UNKNOWN_LOCATION;
|
||||
context->last_module = 0;
|
||||
context->x_data = NULL;
|
||||
context->lock = 0;
|
||||
@ -263,9 +264,11 @@ diagnostic_show_locus (diagnostic_context * context,
|
||||
|
||||
|
||||
if (!context->show_caret
|
||||
|| diagnostic->location <= BUILTINS_LOCATION)
|
||||
|| diagnostic->location <= BUILTINS_LOCATION
|
||||
|| diagnostic->location == context->last_location)
|
||||
return;
|
||||
|
||||
context->last_location = diagnostic->location;
|
||||
s = expand_location_to_spelling_point (diagnostic->location);
|
||||
line = location_get_source_line (s);
|
||||
if (line == NULL)
|
||||
|
@ -172,6 +172,9 @@ struct diagnostic_context
|
||||
/* Auxiliary data for client. */
|
||||
void *x_data;
|
||||
|
||||
/* Used to detect that the last caret was printed at the same location. */
|
||||
location_t last_location;
|
||||
|
||||
/* Used to detect when the input file stack has changed since last
|
||||
described. */
|
||||
const struct line_map *last_module;
|
||||
|
Loading…
x
Reference in New Issue
Block a user