re PR fortran/64674 ([OOP] ICE in ASSOCIATE with class array)
[gcc.git] / gcc / fortran / trans-expr.c
index 5d6555bc84c0524e76a7e3557d2fe12efcf60439..7747a6793c99203cebf643351f1176c7874d5c51 100644 (file)
@@ -2529,7 +2529,8 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr)
                   && !sym->attr.result
                   && (CLASS_DATA (sym)->attr.dimension
                       || CLASS_DATA (sym)->attr.codimension)
-                  && !CLASS_DATA (sym)->attr.allocatable
+                  && (sym->assoc
+                      || !CLASS_DATA (sym)->attr.allocatable)
                   && !CLASS_DATA (sym)->attr.class_pointer)
            se->expr = build_fold_indirect_ref_loc (input_location,
                                                se->expr);