diff options
author | Peter Klausler <pklausler@nvidia.com> | 2023-01-27 15:51:20 -0800 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2023-01-27 15:52:33 -0800 |
commit | f0c5a4d8546fd49f71c83b8aea0121bb2e639da5 (patch) | |
tree | 7228139d40acca455ee7b130d15738ead46f0e3e | |
parent | 864133c5f95070e273cc6515e52c7a752fbfea30 (diff) | |
download | llvm-f0c5a4d8546fd49f71c83b8aea0121bb2e639da5.zip llvm-f0c5a4d8546fd49f71c83b8aea0121bb2e639da5.tar.gz llvm-f0c5a4d8546fd49f71c83b8aea0121bb2e639da5.tar.bz2 |
[flang] Fix shared library build
A recent patch introduced a dependency upon Semantics from
Evaluate; fixing immediately.
-rw-r--r-- | flang/lib/Evaluate/type.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/flang/lib/Evaluate/type.cpp b/flang/lib/Evaluate/type.cpp index fa57755..8d49f62 100644 --- a/flang/lib/Evaluate/type.cpp +++ b/flang/lib/Evaluate/type.cpp @@ -215,7 +215,15 @@ static const semantics::Symbol *FindParentComponent( } if (scope) { const auto &dtDetails{typeSymbol.get<semantics::DerivedTypeDetails>()}; - return dtDetails.GetParentComponent(*scope); + // TODO: Combine with semantics::DerivedTypeDetails::GetParentComponent + if (auto extends{dtDetails.GetParentComponentName()}) { + if (auto iter{scope->find(*extends)}; iter != scope->cend()) { + if (const semantics::Symbol & symbol{*iter->second}; + symbol.test(semantics::Symbol::Flag::ParentComp)) { + return &symbol; + } + } + } } return nullptr; } |