From b241831b6d7dfd5107299ad17f8b5c8d5e8967c7 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Tue, 20 Feb 2007 21:50:20 +0000 Subject: [PATCH] re PR fortran/30869 ([4.1 only] Rejects pointer to integer as loop variable) 2007-02-20 Thomas Koenig PR fortran/30869 * match.c(gfc_match_iterator): Remove conflict between loop variable and pointer. 2007-02-20 Thomas Koenig PR fortran/30869 * gfortran.dg/do_pointer_1.f90: New test. From-SVN: r122176 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/match.c | 6 ------ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/do_pointer_1.f90 | 9 +++++++++ 4 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/do_pointer_1.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 13598b7a4a2..3597c36d70c 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-02-20 Thomas Koenig + + PR fortran/30869 + * match.c(gfc_match_iterator): Remove conflict between + loop variable and pointer. + 2007-02-20 Tobias Burnus PR fortran/30522 diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 012f549d224..9d199e26653 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 c62ef00734e..d3870792369 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-02-20 Thomas Koenig + + PR fortran/30869 + * gfortran.dg/do_pointer_1.f90: New test. + 2007-02-20 Kaveh R. Ghazi * 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 00000000000..548177acc0a --- /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 -- 2.30.2