[Lldb-commits] [PATCH] D133945: [clang][ASTImporter] DeclContext::localUncachedLookup: Continue lookup into decl chain when regular lookup fails
Michael Buch via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Sep 15 08:42:44 PDT 2022
Michael137 updated this revision to Diff 460429.
Michael137 added a comment.
- Undo incorrect previous change
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133945/new/
https://reviews.llvm.org/D133945
Files:
clang/lib/AST/DeclBase.cpp
clang/unittests/AST/ASTImporterTest.cpp
lldb/test/API/lang/cpp/gmodules/base-template-with-same-arg/TestBaseTemplateWithSameArg.py
Index: lldb/test/API/lang/cpp/gmodules/base-template-with-same-arg/TestBaseTemplateWithSameArg.py
===================================================================
--- lldb/test/API/lang/cpp/gmodules/base-template-with-same-arg/TestBaseTemplateWithSameArg.py
+++ lldb/test/API/lang/cpp/gmodules/base-template-with-same-arg/TestBaseTemplateWithSameArg.py
@@ -30,7 +30,6 @@
class TestBaseTemplateWithSameArg(TestBase):
@add_test_categories(["gmodules"])
- @skipIf(bugnumber='rdar://96581048')
def test_same_base_template_arg(self):
self.build()
Index: clang/unittests/AST/ASTImporterTest.cpp
===================================================================
--- clang/unittests/AST/ASTImporterTest.cpp
+++ clang/unittests/AST/ASTImporterTest.cpp
@@ -4924,9 +4924,9 @@
FooDC->getRedeclContext()->localUncachedLookup(FooName, FoundDecls);
EXPECT_EQ(FoundDecls.size(), 0u);
- // Cannot find in the LookupTable of its LexicalDC (A).
+ // Finds via linear search of its LexicalDC (A).
FooLexicalDC->getRedeclContext()->localUncachedLookup(FooName, FoundDecls);
- EXPECT_EQ(FoundDecls.size(), 0u);
+ EXPECT_EQ(FoundDecls.size(), 1u);
// Can't find in the list of Decls of the DC.
EXPECT_EQ(findInDeclListOfDC(FooDC, FooName), nullptr);
Index: clang/lib/AST/DeclBase.cpp
===================================================================
--- clang/lib/AST/DeclBase.cpp
+++ clang/lib/AST/DeclBase.cpp
@@ -1771,7 +1771,8 @@
if (!hasExternalVisibleStorage() && !hasExternalLexicalStorage() && Name) {
lookup_result LookupResults = lookup(Name);
Results.insert(Results.end(), LookupResults.begin(), LookupResults.end());
- return;
+ if (!Results.empty())
+ return;
}
// If we have a lookup table, check there first. Maybe we'll get lucky.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133945.460429.patch
Type: text/x-patch
Size: 1813 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220915/5c5cd113/attachment-0001.bin>
More information about the lldb-commits
mailing list