From c1a3b6650d36a1defa9e50049828459716dbc661 Mon Sep 17 00:00:00 2001 From: tobi Date: Fri, 9 Jul 2004 21:20:50 +0000 Subject: PR fortran/13201 * resolve.c (resolve_symbol): Verify that the shape of a parameter array is not only explicit, but also constant. * array.c (gfc_is_compile_time_shape): New function. * gfortran.h (gfc_is_compile_time_shape): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84400 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/array.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gcc/fortran/array.c') diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index a7081d84305..c7fc8bbccf7 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -1973,3 +1973,22 @@ gfc_find_array_ref (gfc_expr * e) return &ref->u.ar; } + + +/* Find out if an array shape is known at compile time. */ + +int +gfc_is_compile_time_shape (gfc_array_spec *as) +{ + int i; + + if (as->type != AS_EXPLICIT) + return 0; + + for (i = 0; i < as->rank; i++) + if (!gfc_is_constant_expr (as->lower[i]) + || !gfc_is_constant_expr (as->upper[i])) + return 0; + + return 1; +} -- cgit v1.2.3