[flang] Address TODO: define IsAssumedRank predicate, use it
Original-commit: flang-compiler/f18@f75c3e0ccfc763644afc3b0fe37861e3a5adcdd9
Reviewed-on: https://github.com/flang-compiler/f18/pull/225
Tree-same-pre-rewrite: false
diff --git a/flang/lib/evaluate/intrinsics.cc b/flang/lib/evaluate/intrinsics.cc
index 872b46f..8f133f3 100644
--- a/flang/lib/evaluate/intrinsics.cc
+++ b/flang/lib/evaluate/intrinsics.cc
@@ -933,9 +933,9 @@
for (std::size_t j{0}; j < dummies; ++j) {
const IntrinsicDummyArgument &d{dummy[std::min(j, dummyArgPatterns - 1)]};
if (const ActualArgument * arg{actualForDummy[j]}) {
- if (arg->isAssumedRank && d.rank != Rank::anyOrAssumedRank) {
- messages.Say(
- "assumed-rank array cannot be used for '%s=' argument"_err_en_US,
+ if (IsAssumedRank(*arg->value) && d.rank != Rank::anyOrAssumedRank) {
+ messages.Say("assumed-rank array cannot be forwarded to "
+ "'%s=' argument"_err_en_US,
d.keyword);
return std::nullopt;
}