aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/array.c')
-rw-r--r--gcc/fortran/array.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index a7081d8..c7fc8bb 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;
+}