diff options
author | Peter Klausler <pklausler@nvidia.com> | 2022-02-08 13:49:40 -0800 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2022-02-15 09:39:34 -0800 |
commit | 7763c01401482bc93cac768623a2b6eaf8476637 (patch) | |
tree | 110985ea7583a6115f890ec8e66f4c5dc44d9afa /flang/lib/Semantics/pointer-assignment.cpp | |
parent | 3d85424096ff1e20ca735cbe455870cea7ed098f (diff) | |
download | llvm-7763c01401482bc93cac768623a2b6eaf8476637.zip llvm-7763c01401482bc93cac768623a2b6eaf8476637.tar.gz llvm-7763c01401482bc93cac768623a2b6eaf8476637.tar.bz2 |
[flang] Accept pointer assignment w/ remapping to function result
When a pointer assignment with bounds remapping has a function
reference as its right-hand side, don't check for array conformance.
Differential Revision: https://reviews.llvm.org/D119845
Diffstat (limited to 'flang/lib/Semantics/pointer-assignment.cpp')
-rw-r--r-- | flang/lib/Semantics/pointer-assignment.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/flang/lib/Semantics/pointer-assignment.cpp b/flang/lib/Semantics/pointer-assignment.cpp index 0fe8643..2b065253 100644 --- a/flang/lib/Semantics/pointer-assignment.cpp +++ b/flang/lib/Semantics/pointer-assignment.cpp @@ -172,7 +172,8 @@ bool PointerAssignmentChecker::Check(const evaluate::FunctionRef<T> &f) { const auto *frTypeAndShape{funcResult->GetTypeAndShape()}; CHECK(frTypeAndShape); if (!lhsType_->IsCompatibleWith(context_.messages(), *frTypeAndShape, - "pointer", "function result", false /*elemental*/, + "pointer", "function result", + isBoundsRemapping_ /*omit shape check*/, evaluate::CheckConformanceFlags::BothDeferredShape)) { return false; // IsCompatibleWith() emitted message } |