aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Semantics/definable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Semantics/definable.cpp')
-rw-r--r--flang/lib/Semantics/definable.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/flang/lib/Semantics/definable.cpp b/flang/lib/Semantics/definable.cpp
index 88f9463e3..6d0155c 100644
--- a/flang/lib/Semantics/definable.cpp
+++ b/flang/lib/Semantics/definable.cpp
@@ -204,7 +204,8 @@ static std::optional<parser::Message> WhyNotDefinableLast(parser::CharBlock at,
}
return std::nullopt; // pointer assignment - skip following checks
}
- if (IsOrContainsEventOrLockComponent(ultimate)) {
+ if (!flags.test(DefinabilityFlag::AllowEventLockOrNotifyType) &&
+ IsOrContainsEventOrLockComponent(ultimate)) {
return BlameSymbol(at,
"'%s' is an entity with either an EVENT_TYPE or LOCK_TYPE"_en_US,
original);