diff options
author | Thomas Schwinge <tschwinge@baylibre.com> | 2024-04-10 10:55:10 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@baylibre.com> | 2024-04-10 10:55:10 +0200 |
commit | e02c6e686bd345089480237d58f2d153cbcc463c (patch) | |
tree | 5a61030629450dd778b1beb356c10a208a6aeb78 /gcc/fortran/trans-array.cc | |
parent | 0de2032ecf451e9fed2ad16c3ce771663fbc37a5 (diff) | |
parent | 4c2169d2f4061e72e1e61e9a175d16f7ff50f5c0 (diff) | |
download | gcc-e02c6e686bd345089480237d58f2d153cbcc463c.zip gcc-e02c6e686bd345089480237d58f2d153cbcc463c.tar.gz gcc-e02c6e686bd345089480237d58f2d153cbcc463c.tar.bz2 |
Merge commit 'ceed844b5284aeabbdfe25ccf099e7ebeeb14a9b^' into HEAD
Diffstat (limited to 'gcc/fortran/trans-array.cc')
-rw-r--r-- | gcc/fortran/trans-array.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index 26e7ada..1e0d698 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -3600,7 +3600,7 @@ array_bound_check_elemental (gfc_se * se, gfc_ss * ss, gfc_expr * expr) continue; } - if (ref->type == REF_ARRAY && ref->u.ar.dimen > 0) + if (ref->type == REF_ARRAY && ref->u.ar.type == AR_SECTION) { ar = &ref->u.ar; for (dim = 0; dim < ar->dimen; dim++) @@ -4063,7 +4063,10 @@ gfc_conv_array_ref (gfc_se * se, gfc_array_ref * ar, gfc_expr *expr, } decl = se->expr; - if (IS_CLASS_ARRAY (sym) && sym->attr.dummy && ar->as->type != AS_DEFERRED) + if (UNLIMITED_POLY(sym) + && IS_CLASS_ARRAY (sym) + && sym->attr.dummy + && ar->as->type != AS_DEFERRED) decl = sym->backend_decl; cst_offset = offset = gfc_index_zero_node; |