[flang][runtime] Handle aliasing in Assign()

Detect and handle LHS/RHS aliasing when effecting intrinsic
assignments via the Assign() runtime function.

Also: don't apply special handling for allocatable LHS when calling
a user-defined type-bound ASSIGNMENT(=) generic procedure for a
polymorphic type, and refactor some code into utility functions to
make Assign() more comprehensible.

Differential Revision: https://reviews.llvm.org/D144026
This commit is contained in:
Peter Klausler
2023-02-01 15:25:54 -08:00
parent 0f52c1f86c
commit 755535b5eb
6 changed files with 262 additions and 109 deletions

View File

@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
#include "flang/Runtime/allocatable.h"
#include "assign.h"
#include "assign-impl.h"
#include "derived.h"
#include "stat.h"
#include "terminator.h"