[flang][runtime] Handle explicit-length character padding & truncation in Assign()
authorPeter Klausler <pklausler@nvidia.com>
Wed, 22 Feb 2023 18:19:25 +0000 (10:19 -0800)
committerPeter Klausler <pklausler@nvidia.com>
Thu, 2 Mar 2023 18:33:59 +0000 (10:33 -0800)
commit8489f17713833b7ae79a734e065e9c181b9bc294
treea140f910eb2f3ed33063ce87193fb2bb5f9fda16
parenta3c6a7d53d21e09a45171c47456a33d89bc47738
[flang][runtime] Handle explicit-length character padding & truncation in Assign()

When the left-hand side of an allocatable assignment has an explicit character length,
rather than a deferred length that might imply reallocation, handle any discrepancy
in lengths via truncation or blank padding.

Differential Revision: https://reviews.llvm.org/D145111
flang/include/flang/Runtime/assign.h
flang/runtime/assign.cpp
flang/runtime/type-info.h