aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2010-07-18 16:15:43 +0000
committerPaul Thomas <pault@gcc.gnu.org>2010-07-18 16:15:43 +0000
commit91e2faaf6624bd2f4ca173c2d9f033fbae913a6d (patch)
tree82f19d85ddd0a2a78905c71385b5350c02ba514b
parent18fcbc9a69973ca7aa173e2d8f8df95224a90c6c (diff)
downloadgcc-91e2faaf6624bd2f4ca173c2d9f033fbae913a6d.zip
gcc-91e2faaf6624bd2f4ca173c2d9f033fbae913a6d.tar.gz
gcc-91e2faaf6624bd2f4ca173c2d9f033fbae913a6d.tar.bz2
re PR fortran/44353 (rejects legal fortran)
2010-07-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/44353 * match.c (gfc_match_iterator): Remove error that iterator cannot be INTENT(IN). 2010-07-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/44353 * gfortran.dg/data_implied_do_2.f03 : New test. From-SVN: r162286
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/match.c7
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/data_implied_do_2.f9010
4 files changed, 21 insertions, 7 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 81722a1..48144b0 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2010-07-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/44353
+ * match.c (gfc_match_iterator): Remove error that iterator
+ cannot be INTENT(IN).
+
2010-07-17 Mikael Morin <mikael@gcc.gnu.org>
* 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 56e9d1d..3761261 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 aaaed84..7cf7beb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/44353
+ * gfortran.dg/data_implied_do_2.f03 : New test.
+
2010-07-18 Richard Sandiford <rdsandiford@googlemail.com>
* 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 0000000..e07690d
--- /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 <zeccav@gmail.com>
+!
+ subroutine sub(i)
+ intent(in) i
+ integer ii(10)
+ data (ii(i),i=1,10) /10*0/ ! failed here
+ end