aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven G. Kargl <kargls@comcast.net>2005-03-05 23:35:44 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2005-03-05 23:35:44 +0000
commit87ebdf2fabc94752156aa882c6a2214d36af8c4e (patch)
treed8d5e2c7a1d0e5e4912a1628daff199bde036517
parent8c355f427e89acfddf0cf51a993b65e34233d104 (diff)
downloadgcc-87ebdf2fabc94752156aa882c6a2214d36af8c4e.zip
gcc-87ebdf2fabc94752156aa882c6a2214d36af8c4e.tar.gz
gcc-87ebdf2fabc94752156aa882c6a2214d36af8c4e.tar.bz2
re PR fortran/19936 (confused error message about implied do loop)
PR 19936 * primary.c (match_complex_constant): Mangled complex constant may be an implied do-loop. Give implied do-loop matcher a chance. From-SVN: r95951
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/primary.c10
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 514b29a..a39f8a5 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2005-03-05 Steven G. Kargl <kargls@comcast.net>
+
+ PR 19936
+ * primary.c (match_complex_constant): Mangled complex constant may
+ be an implied do-loop. Give implied do-loop matcher a chance.
+
+
2005-03-05 Steven G. Kargl <kargls@comcast.net>
PR fortran/19754
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index b87d72a..992bc5f 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -1074,7 +1074,17 @@ match_complex_constant (gfc_expr ** result)
m = gfc_match_char (')');
if (m == MATCH_NO)
+ {
+ /* Give the matcher for implied do-loops a chance to run. This
+ yields a much saner error message for (/ (i, 4=i, 6) /). */
+ if (gfc_peek_char () == '=')
+ {
+ m = MATCH_ERROR;
+ goto cleanup;
+ }
+ else
goto syntax;
+ }
if (m == MATCH_ERROR)
goto cleanup;