]> gcc.gnu.org Git - gcc.git/commitdiff
re PR fortran/38113 (on warning/error: skip whitespaces, move position marker to...
authorMikael Morin <mikael.morin@tele2.fr>
Mon, 15 Dec 2008 14:46:22 +0000 (15:46 +0100)
committerMikael Morin <mikael@gcc.gnu.org>
Mon, 15 Dec 2008 14:46:22 +0000 (14:46 +0000)
2008-12-15  Mikael Morin  <mikael.morin@tele2.fr>

PR fortran/38113
* error.c (show_locus): Start counting columns at 0.
* primary.c (match_actual_arg): Eat spaces
before copying the current locus.
(match_variable): Copy the locus before matching.

From-SVN: r142763

gcc/fortran/ChangeLog
gcc/fortran/error.c
gcc/fortran/primary.c

index ad494810dccb0d640a98d090caea3c6325ea28f4..7b50b8c0a9347381e3b9830b7d6aebd4609bc252 100644 (file)
@@ -1,3 +1,11 @@
+2008-12-15  Mikael Morin  <mikael.morin@tele2.fr>
+
+       PR fortran/38113
+       * error.c (show_locus): Start counting columns at 0.
+       * primary.c (match_actual_arg): Eat spaces
+       before copying the current locus.
+       (match_variable): Copy the locus before matching.
+
 2008-12-14  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/35937
index a7005e9fbb61ba1915d2aef720ecbcfe16139b59..29efbd1fee0824e18980f17c3a5e37109cc3317e 100644 (file)
@@ -307,14 +307,6 @@ show_locus (locus *loc, int c1, int c2)
 
   offset = 0;
 
-  /* When the loci is not associated with a column, it will have a
-     value of zero.  We adjust this to 1 so that it will appear.  */
-     
-  if (c1 == 0)
-    c1 = 1;
-  if (c2 == 0)
-    c2 = 1;
-
   /* If the two loci would appear in the same column, we shift
      '2' one column to the right, so as to print '12' rather than
      just '1'.  We do this here so it will be accounted for in the
@@ -361,7 +353,7 @@ show_locus (locus *loc, int c1, int c2)
   c1 -= offset;
   c2 -= offset;
 
-  for (i = 1; i <= cmax; i++)
+  for (i = 0; i <= cmax; i++)
     {
       if (i == c1)
        error_char ('1');
index 032fa9024b49b6d4b462dff404b2f353d3c39462..c7ca861a273312d9138c30a042bab1eec8090f99 100644 (file)
@@ -1360,6 +1360,7 @@ match_actual_arg (gfc_expr **result)
   gfc_expr *e;
   char c;
 
+  gfc_gobble_whitespace ();
   where = gfc_current_locus;
 
   switch (gfc_match_name (name))
@@ -2820,10 +2821,10 @@ match_variable (gfc_expr **result, int equiv_flag, int host_flag)
       || gfc_current_state () == COMP_CONTAINS)
     host_flag = 0;
 
+  where = gfc_current_locus;
   m = gfc_match_sym_tree (&st, host_flag);
   if (m != MATCH_YES)
     return m;
-  where = gfc_current_locus;
 
   sym = st->n.sym;
 
This page took 0.073603 seconds and 5 git commands to generate.