aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2019-08-05 19:24:31 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2019-08-05 19:24:31 +0000
commit719f5a10e750ab216700d13074122ac410bf106f (patch)
tree464c0cb3916ce3a0f20c43e2bf341b4656de7143 /gcc/fortran/decl.c
parentab574db6b9b2c06b9d68326a9cab6b4193a303e1 (diff)
downloadgcc-719f5a10e750ab216700d13074122ac410bf106f.zip
gcc-719f5a10e750ab216700d13074122ac410bf106f.tar.gz
gcc-719f5a10e750ab216700d13074122ac410bf106f.tar.bz2
re PR fortran/91372 (Error: Unclassifiable statement)
2019-08-05 Steven g. Kargl <kargl@gcc.gnu.org> PR fortran/91372 * decl.c (gfc_match_data): Allow an implied do-loop to nestle against DATA. 2019-08-05 Steven g. Kargl <kargl@gcc.gnu.org> PR fortran/91372 * gfortran.dg/pr91372.f90: New test. From-SVN: r274122
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 1415b97..7a442ca 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -624,9 +624,10 @@ gfc_match_data (void)
char c;
/* DATA has been matched. In free form source code, the next character
- needs to be whitespace. Check that here. */
+ needs to be whitespace or '(' from an implied do-loop. Check that
+ here. */
c = gfc_peek_ascii_char ();
- if (gfc_current_form == FORM_FREE && !gfc_is_whitespace (c))
+ if (gfc_current_form == FORM_FREE && !gfc_is_whitespace (c) && c != '(')
return MATCH_NO;
/* Before parsing the rest of a DATA statement, check F2008:c1206. */