diff options
Diffstat (limited to 'gcc/fortran/array.c')
-rw-r--r-- | gcc/fortran/array.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index a1449fd..b36d517 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -2112,6 +2112,9 @@ gfc_array_dimen_size (gfc_expr *array, int dimen, mpz_t *result) gfc_ref *ref; int i; + if (array->ts.type == BT_CLASS) + return FAILURE; + if (dimen < 0 || array == NULL || dimen > array->rank - 1) gfc_internal_error ("gfc_array_dimen_size(): Bad dimension"); @@ -2190,6 +2193,9 @@ gfc_array_size (gfc_expr *array, mpz_t *result) int i; gfc_try t; + if (array->ts.type == BT_CLASS) + return FAILURE; + switch (array->expr_type) { case EXPR_ARRAY: |