diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
2 files changed, 15 insertions, 59 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py b/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py index e0285e6d626..1192c2b672f 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py @@ -6,7 +6,8 @@ supported_platforms = ["linux"] supported_platforms.extend(lldbplatformutil.getDarwinOSTriples()) lldbinline.MakeInlineTest(__file__, globals(), - [decorators.skipUnlessPlatform(supported_platforms), + [decorators.skipIf(bugnumber="llvm.org/pr44059"), + decorators.skipUnlessPlatform(supported_platforms), decorators.skipIf(compiler="clang", compiler_version=['<', '10.0']), decorators.skipUnlessArch('x86_64'), decorators.skipUnlessHasCallSiteInfo, diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp index 9aac6e94783..ff72a81c6b2 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp +++ b/lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp @@ -18,14 +18,6 @@ template<typename T> __attribute__((noinline)) void use(T x) { /* Clobbers */ : "rsi" \ ); -// Destroy %rbx in the current frame. -#define DESTROY_RBX \ - asm volatile ("xorq %%rbx, %%rbx" \ - /* Outputs */ : \ - /* Inputs */ : \ - /* Clobbers */ : "rbx" \ - ); - struct S1 { int field1 = 123; int *field2 = &field1; @@ -38,17 +30,10 @@ void func1(int &sink, int x) { // Destroy 'x' in the current frame. DESTROY_RSI; - // NOTE: Currently, we do not generate DW_OP_entry_value for the 'x', - // since it gets copied into a register that is not callee saved, - // and we can not guarantee that its value has not changed. + //% self.filecheck("image lookup -va $pc", "main.cpp", "-check-prefix=FUNC1-DESC") + // FUNC1-DESC: name = "x", type = "int", location = DW_OP_entry_value(DW_OP_reg4 RSI) ++sink; - - // Destroy 'sink' in the current frame. - DESTROY_RBX; - - //% self.filecheck("image lookup -va $pc", "main.cpp", "-check-prefix=FUNC1-DESC") - // FUNC1-DESC: name = "sink", type = "int &", location = DW_OP_entry_value(DW_OP_reg5 RDI) } __attribute__((noinline)) @@ -58,16 +43,10 @@ void func2(int &sink, int x) { // Destroy 'x' in the current frame. DESTROY_RSI; - //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC2-EXPR-FAIL", expect_cmd_failure=True) - // FUNC2-EXPR-FAIL: couldn't get the value of variable x: variable not available + //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC2-EXPR") + // FUNC2-EXPR: (int) ${{.*}} = 123 ++sink; - - // Destroy 'sink' in the current frame. - DESTROY_RBX; - - //% self.filecheck("expr sink", "main.cpp", "-check-prefix=FUNC2-EXPR") - // FUNC2-EXPR: ${{.*}} = 2 } __attribute__((noinline)) @@ -90,16 +69,10 @@ void func4_amb(int &sink, int x) { // Destroy 'x' in the current frame. DESTROY_RSI; - //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC4-EXPR-FAIL", expect_cmd_failure=True) - // FUNC4-EXPR-FAIL: couldn't get the value of variable x: variable not available + //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC4-EXPR", expect_cmd_failure=True) + // FUNC4-EXPR: couldn't get the value of variable x: Could not evaluate DW_OP_entry_value. ++sink; - - // Destroy 'sink' in the current frame. - DESTROY_RBX; - - //% self.filecheck("expr sink", "main.cpp", "-check-prefix=FUNC4-EXPR", expect_cmd_failure=True) - // FUNC4-EXPR: couldn't get the value of variable sink: Could not evaluate DW_OP_entry_value. } __attribute__((noinline)) @@ -125,16 +98,10 @@ void func7(int &sink, int x) { // Destroy 'x' in the current frame. DESTROY_RSI; - //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC7-EXPR-FAIL", expect_cmd_failure=True) - // FUNC7-EXPR-FAIL: couldn't get the value of variable x: variable not available + //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC7-EXPR") + // FUNC7-EXPR: (int) ${{.*}} = 123 ++sink; - - // Destroy 'sink' in the current frame. - DESTROY_RBX; - - //% self.filecheck("expr sink", "main.cpp", "-check-prefix=FUNC7-EXPR") - // FUNC7-EXPR: ${{.*}} = 4 } __attribute__((always_inline)) @@ -162,16 +129,10 @@ void func11_tailcalled(int &sink, int x) { // Destroy 'x' in the current frame. DESTROY_RSI; - //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC11-EXPR-FAIL", expect_cmd_failure=True) - // FUNC11-EXPR-FAIL: couldn't get the value of variable x: variable not available + //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC11-EXPR") + // FUNC11-EXPR: (int) ${{.*}} = 123 ++sink; - - // Destroy 'sink' in the current frame. - DESTROY_RBX; - - //% self.filecheck("expr sink", "main.cpp", "-check-prefix=FUNC11-EXPR") - // FUNC11-EXPR: ${{.*}} = 5 } __attribute__((noinline)) @@ -189,16 +150,10 @@ void func13(int &sink, int x) { // Destroy 'x' in the current frame. DESTROY_RSI; - //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC13-EXPR-FAIL", expect_cmd_failure=True) - // FUNC13-EXPR-FAIL: couldn't get the value of variable x: variable not available - - use(sink); + //% self.filecheck("expr x", "main.cpp", "-check-prefix=FUNC13-EXPR") + // FUNC13-EXPR: (int) ${{.*}} = 123 - // Destroy 'sink' in the current frame. - DESTROY_RBX; - - //% self.filecheck("expr sink", "main.cpp", "-check-prefix=FUNC13-EXPR") - // FUNC13-EXPR: ${{.*}} = 5 + ++sink; } __attribute__((noinline, disable_tail_calls)) |