diff options
Diffstat (limited to 'flang/lib/Semantics/tools.cpp')
| -rw-r--r-- | flang/lib/Semantics/tools.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/flang/lib/Semantics/tools.cpp b/flang/lib/Semantics/tools.cpp index 57d84bde60b4..845183f2d9b2 100644 --- a/flang/lib/Semantics/tools.cpp +++ b/flang/lib/Semantics/tools.cpp @@ -1558,8 +1558,9 @@ bool IsAutomaticallyDestroyed(const Symbol &symbol) { return symbol.has<ObjectEntityDetails>() && (symbol.owner().kind() == Scope::Kind::Subprogram || symbol.owner().kind() == Scope::Kind::BlockConstruct) && - (!IsDummy(symbol) || IsIntentOut(symbol)) && !IsPointer(symbol) && - !IsSaved(symbol) && !FindCommonBlockContaining(symbol); + !IsNamedConstant(symbol) && (!IsDummy(symbol) || IsIntentOut(symbol)) && + !IsPointer(symbol) && !IsSaved(symbol) && + !FindCommonBlockContaining(symbol); } const std::optional<parser::Name> &MaybeGetNodeName( |
