aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <Thomas.Koenig@online.de>2007-02-20 21:50:20 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2007-02-20 21:50:20 +0000
commitb241831b6d7dfd5107299ad17f8b5c8d5e8967c7 (patch)
treee5e24ada34da38d9342e277d3eae593191a9a0f3 /gcc
parent41e56bf7d66af98e2db00489deffb3e6178dd5b2 (diff)
downloadgcc-b241831b6d7dfd5107299ad17f8b5c8d5e8967c7.zip
gcc-b241831b6d7dfd5107299ad17f8b5c8d5e8967c7.tar.gz
gcc-b241831b6d7dfd5107299ad17f8b5c8d5e8967c7.tar.bz2
re PR fortran/30869 ([4.1 only] Rejects pointer to integer as loop variable)
2007-02-20 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/30869 * match.c(gfc_match_iterator): Remove conflict between loop variable and pointer. 2007-02-20 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/30869 * gfortran.dg/do_pointer_1.f90: New test. From-SVN: r122176
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/match.c6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/do_pointer_1.f909
4 files changed, 20 insertions, 6 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 13598b7..3597c36 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2007-02-20 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR fortran/30869
+ * match.c(gfc_match_iterator): Remove conflict between
+ loop variable and pointer.
+
2007-02-20 Tobias Burnus <burnus@net-b.de>
PR fortran/30522
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 012f549..9d199e2 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -534,12 +534,6 @@ gfc_match_iterator (gfc_iterator *iter, int init_flag)
goto cleanup;
}
- if (var->symtree->n.sym->attr.pointer)
- {
- gfc_error ("Loop variable at %C cannot have the POINTER attribute");
- goto cleanup;
- }
-
m = init_flag ? gfc_match_init_expr (&e1) : gfc_match_expr (&e1);
if (m == MATCH_NO)
goto syntax;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c62ef00..d387079 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-20 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR fortran/30869
+ * gfortran.dg/do_pointer_1.f90: New test.
+
2007-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/torture/builtin-nonneg-1.c: Add checks for scalb, scalbn
diff --git a/gcc/testsuite/gfortran.dg/do_pointer_1.f90 b/gcc/testsuite/gfortran.dg/do_pointer_1.f90
new file mode 100644
index 0000000..548177a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/do_pointer_1.f90
@@ -0,0 +1,9 @@
+! { dg-do compile }
+! PR 30869 - pointer loop variables were wrongly rejected.
+program main
+ integer, pointer :: i
+ allocate (i)
+ do i=1,10
+ end do
+ deallocate (i)
+end program main