https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125690

--- Comment #3 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
Simple fix.

diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc
index 9d8e913a84a..ff97d3996ca 100644
--- a/gcc/fortran/trans-array.cc
+++ b/gcc/fortran/trans-array.cc
@@ -11540,7 +11540,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree
decl, tree dest,
              gfc_add_expr_to_block (&fnblock, tmp);
            }

-         if (c->attr.pdt_array || c->attr.pdt_string)
+         if (c->attr.pdt_array || (c->attr.pdt_string && !c->as))
            {
              tmp = comp;
              if (c->attr.pdt_array)

Reply via email to