https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115700
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |anlauf at gcc dot gnu.org --- Comment #5 from anlauf at gcc dot gnu.org --- Submitted: https://gcc.gnu.org/pipermail/fortran/2024-July/060625.html What the patch does not address is substring references, e.g. associate (tmp4 => x(:)(1:)) if (len (tmp4) /= len (x)) stop 4 end associate I looked at resolve_assoc_var, at the block: /* Fix up the type-spec for CHARACTER types. */ creating a new string length and setting sym->ts.deferred = 1; but could not find suitable restrictions so that no regression occurs. Maybe gfc_conv_expr_descriptor is another place: /* Set the string_length for a character array. */ but gfc_get_expr_charlen (expr) returns a non_lvalue_expr, so this fails for me sooner or later.