Author: Michael Buch
Date: 2025-08-08T12:12:25+01:00
New Revision: 672f82a2ef82d26f2bff024300c4658ab593c93f

URL: 
https://github.com/llvm/llvm-project/commit/672f82a2ef82d26f2bff024300c4658ab593c93f
DIFF: 
https://github.com/llvm/llvm-project/commit/672f82a2ef82d26f2bff024300c4658ab593c93f.diff

LOG: [lldb][test] TestExprDefinitionInDylib.py: add cases for calling ctors

Added: 
    

Modified: 
    lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
    lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
    lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
    lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp

Removed: 
    


################################################################################
diff  --git 
a/lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py 
b/lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
index 02c34b3132722..70d7fd096c7cf 100644
--- 
a/lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
+++ 
b/lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
@@ -31,3 +31,10 @@ def test(self):
         )
 
         self.expect_expr("f.method()", result_value="-72", result_type="int")
+        self.expect_expr("Foo()", result_type="Foo")
+
+        # FIXME: mangled name lookup for ABI-tagged ctors fails because
+        # the debug-info AST doesn't have ABI-tag information.
+        self.expect(
+            "expr Bar()", error=True, substrs=["error: Couldn't look up 
symbols"]
+        )

diff  --git a/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp 
b/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
index ad148cebb00d1..1a08817f5cda1 100644
--- a/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
+++ b/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
@@ -1,3 +1,13 @@
 #include "lib.h"
 
+#include <cstdio>
+
 int Foo::method() { return -72; }
+
+Foo::Foo() { std::puts(__func__); }
+
+Foo::~Foo() { std::puts(__func__); }
+
+Bar::Bar() { std::puts(__func__); }
+
+Bar::~Bar() { std::puts(__func__); }

diff  --git a/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h 
b/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
index 9568db2166ec4..5ec227946cba0 100644
--- a/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
+++ b/lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
@@ -3,6 +3,13 @@
 
 struct Foo {
   int method();
+  Foo();
+  ~Foo();
+};
+
+struct Bar {
+  [[gnu::abi_tag("Ctor")]] Bar();
+  [[gnu::abi_tag("Dtor")]] ~Bar();
 };
 
 #endif // LIB_H_IN

diff  --git a/lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp 
b/lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
index 2fddb2b7b3e74..4d6bece21ecac 100644
--- a/lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
+++ b/lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
@@ -2,5 +2,6 @@
 
 int main() {
   Foo f;
+  Bar b;
   return f.method();
 }


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to