aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/resolve.c4
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/initialization_1.f903
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fa5bb4f..4453d89 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2005-12-23 Paul Thomas <pault@gcc.gnu.org>
+
+ 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 <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/18990
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 5f5ce56..4966a63 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 b5f1063..9c8789a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-23 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/25029
+ PR fortran/21256
+ *gfortran.dg/initialization_1.f90: Add test of SIZE.
+
2005-12-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25307
diff --git a/gcc/testsuite/gfortran.dg/initialization_1.f90 b/gcc/testsuite/gfortran.dg/initialization_1.f90
index 3ce6b10..4e85269 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