================ @@ -0,0 +1,45 @@ +""" +Standalone reproducer for the lookup failure originally seen in +TestAbiTagLookup.py on Apple platforms, where the dyld shared cache +happens to expose two internal data symbols literally named `v1`. + +This test plants two unrelated internal data symbols named +`colliding_ns` in non-debug-info objects, then evaluates a qualified-id +expression that uses `colliding_ns` as a (real) namespace prefix. + +Expected eventual behavior: the namespace resolution succeeds and the +function call returns 6. + +Current behavior (XFAIL): ClangExpressionDeclMap falls through to +SymbolContext::FindBestGlobalDataSymbol which sees two internal +`colliding_ns` data symbols and raises + "error: Multiple internal symbols found for 'colliding_ns'" +even though the name has already been resolved to a NamespaceDecl +earlier in the same lookup. +""" + +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class NamespaceDataSymbolCollisionTestCase(TestBase): + SHARED_BUILD_TESTCASE = False ---------------- Teemperor wrote:
This attribute allows the different `test*` methods in on TestCase class to reuse the build artefacts (i.e., the compiled a.out and all object files). If it's set to False, then you want every `test*` method to compile in its own isolated build directory. You can just leave this line out as this test case anyway just has one test method. The PR adding this has some more info: https://github.com/llvm/llvm-project/pull/181720 https://github.com/llvm/llvm-project/pull/203984 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
