https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/146843
>From 9fbda39b3a27af86aaa9f1ab77a9008c354a250d Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Thu, 3 Jul 2025 11:05:08 +0100 Subject: [PATCH 1/3] [lldb][test] Turn std::atomic libcxx test generic Split out from https://github.com/llvm/llvm-project/pull/146740 --- .../{libcxx => generic}/atomic/Makefile | 2 -- .../atomic/TestStdAtomic.py} | 23 ++++++++++++------- .../{libcxx => generic}/atomic/main.cpp | 0 3 files changed, 15 insertions(+), 10 deletions(-) rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/atomic/Makefile (51%) rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/atomic/TestLibCxxAtomic.py => generic/atomic/TestStdAtomic.py} (84%) rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/atomic/main.cpp (100%) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile similarity index 51% rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile index b016f006747da..99998b20bcb05 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile @@ -1,5 +1,3 @@ CXX_SOURCES := main.cpp -CXXFLAGS_EXTRAS := -std=c++11 -USE_LIBCPP := 1 include Makefile.rules diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py similarity index 84% rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py index c6592ede03147..b0df8a525d280 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py @@ -9,18 +9,15 @@ from lldbsuite.test import lldbutil -class LibCxxAtomicTestCase(TestBase): +class StdAtomicTestCase(TestBase): def get_variable(self, name): var = self.frame().FindVariable(name) var.SetPreferDynamicValue(lldb.eDynamicCanRunTarget) var.SetPreferSyntheticValue(True) return var - @skipIf(compiler=["gcc"]) - @add_test_categories(["libc++"]) - def test(self): - """Test that std::atomic as defined by libc++ is correctly printed by LLDB""" - self.build() + def do_test(self): + """Test that std::atomic is correctly printed by LLDB""" self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) bkpt = self.target().FindBreakpointByID( @@ -31,8 +28,6 @@ def test(self): self.runCmd("run", RUN_SUCCEEDED) - lldbutil.skip_if_library_missing(self, self.target(), re.compile(r"libc\+\+")) - # The stop reason of the thread should be breakpoint. self.expect( "thread list", @@ -66,3 +61,15 @@ def test(self): self.expect( "frame var p.child.parent", substrs=["p.child.parent = {\n Value = 0x"] ) + + @skipIf(compiler=["gcc"]) + @add_test_categories(["libc++"]) + def test_libcxx(self): + self.build(dictionary={"USE_LIBCPP" : 1}) + self.do_test() + + @skipIf(compiler=["gcc"]) + @add_test_categories(["libstdcxx"]) + def test_libstdcxx(self): + self.build(dictionary={"USE_LIBSTDCPP" : 1}) + self.do_test() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp similarity index 100% rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/main.cpp rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp >From 40de26b58b420c29876d15fb424c69bd87a88c5a Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Thu, 3 Jul 2025 11:11:36 +0100 Subject: [PATCH 2/3] fixup! python format --- .../data-formatter-stl/generic/atomic/TestStdAtomic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py index b0df8a525d280..47fe436d25645 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestStdAtomic.py @@ -65,11 +65,11 @@ def do_test(self): @skipIf(compiler=["gcc"]) @add_test_categories(["libc++"]) def test_libcxx(self): - self.build(dictionary={"USE_LIBCPP" : 1}) + self.build(dictionary={"USE_LIBCPP": 1}) self.do_test() @skipIf(compiler=["gcc"]) @add_test_categories(["libstdcxx"]) def test_libstdcxx(self): - self.build(dictionary={"USE_LIBSTDCPP" : 1}) + self.build(dictionary={"USE_LIBSTDCPP": 1}) self.do_test() >From 7cdeb18ba0ff142eb2436ba689ac6beda3e806d6 Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Thu, 3 Jul 2025 11:12:35 +0100 Subject: [PATCH 3/3] fixup! clang-format --- .../generic/atomic/main.cpp | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp index 760d2384a772b..ee77a880a0c5d 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp @@ -6,28 +6,26 @@ struct Child { // This should point to the parent which in turn owns this // child instance. This cycle should not cause LLDB to infinite loop // during printing. - std::atomic<Parent*> parent{nullptr}; + std::atomic<Parent *> parent{nullptr}; }; struct Parent { Child child; }; struct S { - int x = 1; - int y = 2; + int x = 1; + int y = 2; }; -int main () -{ - std::atomic<S> s; - s.store(S()); - std::atomic<int> i; - i.store(5); +int main() { + std::atomic<S> s; + s.store(S()); + std::atomic<int> i; + i.store(5); - Parent p; - // Let the child node know what its parent is. - p.child.parent = &p; + Parent p; + // Let the child node know what its parent is. + p.child.parent = &p; - return 0; // Set break point at this line. + return 0; // Set break point at this line. } - _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits