diff options
Diffstat (limited to 'flang/lib/Semantics/definable.cpp')
-rw-r--r-- | flang/lib/Semantics/definable.cpp | 3 |
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); |