diff options
author | Peter Klausler <35819229+klausler@users.noreply.github.com> | 2024-06-24 09:57:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-24 09:57:30 -0700 |
commit | 9ab292d72651c6dda098a653320f7fbb3624b778 (patch) | |
tree | 8755eaf36cf0775d24552a04f9068f23d56c3588 /flang/lib/Semantics/pointer-assignment.cpp | |
parent | 9eba835dec2e7d755a86efdf464ff5745f3c2b1e (diff) | |
download | llvm-9ab292d72651c6dda098a653320f7fbb3624b778.zip llvm-9ab292d72651c6dda098a653320f7fbb3624b778.tar.gz llvm-9ab292d72651c6dda098a653320f7fbb3624b778.tar.bz2 |
[flang] Add/fix some semantic checks for assumed-rank (#96194)
Catch some cases where assumed rank dummy arguments are not allowed.
Diffstat (limited to 'flang/lib/Semantics/pointer-assignment.cpp')
-rw-r--r-- | flang/lib/Semantics/pointer-assignment.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/flang/lib/Semantics/pointer-assignment.cpp b/flang/lib/Semantics/pointer-assignment.cpp index a5c3897..6c634c6 100644 --- a/flang/lib/Semantics/pointer-assignment.cpp +++ b/flang/lib/Semantics/pointer-assignment.cpp @@ -148,6 +148,9 @@ bool PointerAssignmentChecker::CheckLeftHandSide(const SomeExpr &lhs) { msg->Attach(std::move(*whyNot)); } return false; + } else if (evaluate::IsAssumedRank(lhs)) { + Say("The left-hand side of a pointer assignment must not be an assumed-rank dummy argument"_err_en_US); + return false; } else { return true; } |