It seems I made an off-by-one error in my last patch for multiple
locations. This only affected the position of the caret character,
which we don't test (since the testsuite uses
-fno-diagnostics-show-caret). Fixed thusly and added a comment to
remind me and others that locations start at 1, but we still want to
start at 0 (but not start at 0 and add an extra space like I did
before).

Cheers,

Manuel.

Index: ChangeLog
===================================================================
--- ChangeLog   (revision 223445)
+++ ChangeLog   (working copy)
@@ -1,3 +1,8 @@
+2015-05-20  Manuel López-Ibáñez  <m...@gcc.gnu.org>
+
+       * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
+       when printing the caret character.
+
 2015-05-20  Marek Polacek  <pola...@redhat.com>

        * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
Index: diagnostic.c
===================================================================
--- diagnostic.c        (revision 223445)
+++ diagnostic.c        (working copy)
@@ -420,7 +420,8 @@
   int caret_min = cmin == xloc1.column ? caret1 : caret2;
   int caret_max = cmin == xloc1.column ? caret2 : caret1;

-  pp_space (context->printer);
+  /* cmin is >= 1, but we indent with an extra space at the start like
+     we did above.  */
   int i;
   for (i = 0; i < cmin; i++)
     pp_space (context->printer);

Reply via email to