This patch fixes parts of the PR 49324: There was a deep copy missing for assigning an array constructor of a DT with allocatable components. Whether a deep copy is done, depends on a flag. I think the flag has been added to avoid a deep copy and multiple evaluation for functions, which return DT w/ allocatable components, and for user-defined operators. Remains to do be done: - RESHAPE is mishandled (design error): No deep copy. - Reallocate on assignment fails (missing NULL initialization of the malloced memory). Build and regtested on x86-64-linux. OK? Tobias