Message ID | CAESRpQBmeYksSTbBXxi5jUWzdvSFbeLPuaf+LoepwjC2iVsD1g@mail.gmail.com |
---|---|
State | New |
Headers | show |
Manuel López-Ibáñez <lopezibanez@gmail.com> writes: > libcpp uses diagnostic->override_column to give a custom column number > to diagnostics. This is taken into account when building the prefix, > but it was missing when placing the caret. > > Before: > > /home/manuel/override_column.c:1:4: warning: "/*" within comment [-Wcomment] > /* /* */ > ^ > > After: > > /home/manuel/override_column.c:1:4: warning: "/*" within comment [-Wcomment] > /* /* */ > ^ > > > Committed as obvious in r218295. Thank you for this. > 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org> > > * diagnostic.c (diagnostic_show_locus): Honor override_column when > placing the caret. > > --- gcc/diagnostic.c (revision 218278) > +++ gcc/diagnostic.c (working copy) > @@ -308,10 +308,12 @@ diagnostic_show_locus (diagnostic_contex > || diagnostic->location == context->last_location) > return; > > context->last_location = diagnostic->location; > s = expand_location_to_spelling_point (diagnostic->location); > + if (diagnostic->override_column) > + s.column = diagnostic->override_column; > line = location_get_source_line (s, &line_width); > if (line == NULL || s.column > line_width) > return; Thinking about it again, it would be nice to have a regression test for this. At some point, I guess we should do something for regression' tests about the placement of the caret. Oh well. Cheers,
--- gcc/diagnostic.c (revision 218278) +++ gcc/diagnostic.c (working copy) @@ -308,10 +308,12 @@ diagnostic_show_locus (diagnostic_contex || diagnostic->location == context->last_location) return; context->last_location = diagnostic->location; s = expand_location_to_spelling_point (diagnostic->location); + if (diagnostic->override_column) + s.column = diagnostic->override_column; line = location_get_source_line (s, &line_width); if (line == NULL || s.column > line_width) return;