From dd55e286d4b1ea92a85632f15c416c513d2455ba Mon Sep 17 00:00:00 2001 From: Paul Thomas Date: Fri, 23 Dec 2005 06:41:52 +0000 Subject: [PATCH] re PR fortran/25029 (Assumed size array can be associated with array pointer without upper bound of last dimension) 2005-12-23 Paul Thomas PR fortran/25029 PR fortran/21256 *resolve.c(resolve_function): Remove assumed size checking for SIZE and UBOUND and rely on their built-in checking. 2005-12-23 Paul Thomas PR fortran/25029 PR fortran/21256 *gfortran.dg/initialization_1.f90: Add test of SIZE. From-SVN: r109009 --- gcc/fortran/ChangeLog | 7 +++++++ gcc/fortran/resolve.c | 4 +++- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gfortran.dg/initialization_1.f90 | 3 +++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index fa5bb4f1d27..4453d8924b4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2005-12-23 Paul Thomas + + PR fortran/25029 + PR fortran/21256 + *resolve.c(resolve_function): Remove assumed size checking for SIZE + and UBOUND and rely on their built-in checking. + 2005-12-22 Tobias Schl"uter PR fortran/18990 diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 5f5ce5694e3..4966a633c2a 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1231,7 +1231,9 @@ resolve_function (gfc_expr * expr) else if (expr->value.function.actual != NULL && expr->value.function.isym != NULL - && strcmp (expr->value.function.isym->name, "lbound")) + && strcmp (expr->value.function.isym->name, "lbound") + && strcmp (expr->value.function.isym->name, "ubound") + && strcmp (expr->value.function.isym->name, "size")) { /* Array instrinsics must also have the last upper bound of an asumed size array argument. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b5f10631b75..9c8789a0e6b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2005-12-23 Paul Thomas + + PR fortran/25029 + PR fortran/21256 + *gfortran.dg/initialization_1.f90: Add test of SIZE. + 2005-12-22 Jerry DeLisle PR libgfortran/25307 diff --git a/gcc/testsuite/gfortran.dg/initialization_1.f90 b/gcc/testsuite/gfortran.dg/initialization_1.f90 index 3ce6b101339..4e852697c92 100644 --- a/gcc/testsuite/gfortran.dg/initialization_1.f90 +++ b/gcc/testsuite/gfortran.dg/initialization_1.f90 @@ -20,6 +20,7 @@ contains real(8) :: x (1:2, *) real(8) :: y (0:,:) + integer :: i ! However, this gives a warning because it is an initialization expression. integer :: l1 = len (ch1) ! { dg-warning "assumed character length variable" } @@ -29,9 +30,11 @@ contains integer :: m2(2) = shape (x) ! { dg-error "assumed size array" } ! These are warnings because they are gfortran extensions. + integer :: m3 = size (x, 1) ! { dg-warning "Evaluation of nonstandard initialization" } integer :: m4(2) = shape (z) ! { dg-warning "Evaluation of nonstandard initialization" } ! This does not depend on non-constant properties. real(8) :: big = huge (x) + end subroutine foo end module const