diff mbox

[obvious,fix] fix off-by-one error when printing the caret character

Message ID CAESRpQDcAocXMAZ4WHi8j56+DnUCM6oe4xrZy8VM-FZ067nsRw@mail.gmail.com
State New
Headers show

Commit Message

Manuel López-Ibáñez May 20, 2015, 4 p.m. UTC
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.

Comments

Dodji Seketeli May 21, 2015, 8:24 a.m. UTC | #1
Manuel López-Ibáñez <lopezibanez@gmail.com> writes:


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

This is OK, thanks!

Cheers,
diff mbox

Patch

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