summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py3
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp71
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))
OpenPOWER on IntegriCloud