From 1265f05c268f09c74a2ecaa3e2b3cea83ec10627 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Mon, 21 Jun 2021 19:38:01 +0200 Subject: [PATCH] [lldb] Skip TestLimitDebugInfo for Clang<7 Without DW_CC_pass_by_* attributes that Clang 7 started to emit in this test we don't properly read back the return value of the `get_*` functions and just read bogus memory. See also the TestReturnValue.py test. --- .../API/functionalities/limit-debug-info/TestLimitDebugInfo.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py b/lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py index f9934df..60dd7cf 100644 --- a/lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py +++ b/lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py @@ -32,6 +32,9 @@ class LimitDebugInfoTestCase(TestBase): @skipIf(bugnumber="pr46284", debug_info="gmodules") @skipIfWindows # Clang emits type info even with -flimit-debug-info + # Requires DW_CC_pass_by_* attributes from Clang 7 to correctly call + # by-value functions. + @skipIf(compiler="clang", compiler_version=['<', '7.0']) def test_one_and_two_debug(self): self.build() target = self.dbg.CreateTarget(self.getBuildArtifact("a.out")) @@ -68,6 +71,9 @@ class LimitDebugInfoTestCase(TestBase): @skipIf(bugnumber="pr46284", debug_info="gmodules") @skipIfWindows # Clang emits type info even with -flimit-debug-info + # Requires DW_CC_pass_by_* attributes from Clang 7 to correctly call + # by-value functions. + @skipIf(compiler="clang", compiler_version=['<', '7.0']) def test_two_debug(self): self.build(dictionary=dict(STRIP_ONE="1")) target = self.dbg.CreateTarget(self.getBuildArtifact("a.out")) @@ -108,6 +114,9 @@ class LimitDebugInfoTestCase(TestBase): @skipIf(bugnumber="pr46284", debug_info="gmodules") @skipIfWindows # Clang emits type info even with -flimit-debug-info + # Requires DW_CC_pass_by_* attributes from Clang 7 to correctly call + # by-value functions. + @skipIf(compiler="clang", compiler_version=['<', '7.0']) def test_one_debug(self): self.build(dictionary=dict(STRIP_TWO="1")) target = self.dbg.CreateTarget(self.getBuildArtifact("a.out")) -- 2.7.4