summaryrefslogtreecommitdiff
path: root/flang/lib/Semantics/tools.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Semantics/tools.cpp')
-rw-r--r--flang/lib/Semantics/tools.cpp5
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(