From 5bd450025f7e32fc45229f9f8a8552e270f9a84d Mon Sep 17 00:00:00 2001 From: pault Date: Sun, 18 Jul 2010 16:15:43 +0000 Subject: [PATCH] 2010-07-18 Paul Thomas PR fortran/44353 * match.c (gfc_match_iterator): Remove error that iterator cannot be INTENT(IN). 2010-07-18 Paul Thomas PR fortran/44353 * gfortran.dg/data_implied_do_2.f03 : New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162286 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/match.c | 7 ------- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/data_implied_do_2.f90 | 10 ++++++++++ 4 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/data_implied_do_2.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 81722a1b7b5..48144b05806 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2010-07-18 Paul Thomas + + PR fortran/44353 + * match.c (gfc_match_iterator): Remove error that iterator + cannot be INTENT(IN). + 2010-07-17 Mikael Morin * trans-array.c (gfc_free_ss): Don't free beyond ss rank. diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 56e9d1d515d..3761261fff0 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -978,13 +978,6 @@ gfc_match_iterator (gfc_iterator *iter, int init_flag) goto cleanup; } - if (var->symtree->n.sym->attr.intent == INTENT_IN) - { - gfc_error ("Loop variable '%s' at %C cannot be INTENT(IN)", - var->symtree->n.sym->name); - goto cleanup; - } - gfc_match_char ('='); var->symtree->n.sym->attr.implied_index = 1; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aaaed845a52..7cf7beba5af 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-07-18 Paul Thomas + + PR fortran/44353 + * gfortran.dg/data_implied_do_2.f03 : New test. + 2010-07-18 Richard Sandiford * gcc.target/mips/cache-1.c: Allow 0 instead of 0x0. diff --git a/gcc/testsuite/gfortran.dg/data_implied_do_2.f90 b/gcc/testsuite/gfortran.dg/data_implied_do_2.f90 new file mode 100644 index 00000000000..e07690d4f62 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/data_implied_do_2.f90 @@ -0,0 +1,10 @@ +! { dg-do compile } +! Tests the fix for PR44353 +! +! Contributed by Vittorio Zecca +! + subroutine sub(i) + intent(in) i + integer ii(10) + data (ii(i),i=1,10) /10*0/ ! failed here + end -- 2.11.4.GIT