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