aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMikael Morin <mikael.morin@tele2.fr>2008-12-15 15:46:22 +0100
committerMikael Morin <mikael@gcc.gnu.org>2008-12-15 14:46:22 +0000
commit618f4f46bd9b08eb519da2a8d12ecf57fd76afee (patch)
tree8811a443c65444ec2cbe37ad951a4e338f1821f5 /gcc
parentd277db6b0f99b39c846cafe4abb3b19f245fb7f4 (diff)
downloadgcc-618f4f46bd9b08eb519da2a8d12ecf57fd76afee.zip
gcc-618f4f46bd9b08eb519da2a8d12ecf57fd76afee.tar.gz
gcc-618f4f46bd9b08eb519da2a8d12ecf57fd76afee.tar.bz2
re PR fortran/38113 (on warning/error: skip whitespaces, move position marker to actual variable name)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog8
-rw-r--r--gcc/fortran/error.c10
-rw-r--r--gcc/fortran/primary.c3
3 files changed, 11 insertions, 10 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ad49481..7b50b8c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index a7005e9..29efbd1 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -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');
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index 032fa90..c7ca861 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -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;