================
@@ -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

Reply via email to