diff options
author | kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-05 23:35:44 +0000 |
---|---|---|
committer | kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-05 23:35:44 +0000 |
commit | dea4362cc0ec41e38b34331be2c5e2460dd5982c (patch) | |
tree | d8d5e2c7a1d0e5e4912a1628daff199bde036517 /gcc | |
parent | 6003287601f491b20444ab3bcdc17ed6dec1f63c (diff) | |
download | gcc-dea4362cc0ec41e38b34331be2c5e2460dd5982c.tar.gz |
PR 19936
* primary.c (match_complex_constant): Mangled complex constant may
be an implied do-loop. Give implied do-loop matcher a chance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95951 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/primary.c | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 514b29ad346..a39f8a5c370 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 b87d72a1830..992bc5f0af7 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; |