This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH obvious/diagnostics] Honor override_column when printing the caret
- From: Dodji Seketeli <dodji at redhat dot com>
- To: Manuel LÃpez-IbÃÃez <lopezibanez at gmail dot com>
- Cc: Gcc Patch List <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 03 Dec 2014 09:48:56 +0100
- Subject: Re: [PATCH obvious/diagnostics] Honor override_column when printing the caret
- Authentication-results: sourceware.org; auth=none
- References: <CAESRpQBmeYksSTbBXxi5jUWzdvSFbeLPuaf+LoepwjC2iVsD1g at mail dot gmail dot com>
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,
--
Dodji