diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/debuginfo/generic-function.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/debuginfo/generic-function.rs')
-rw-r--r-- | tests/debuginfo/generic-function.rs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/debuginfo/generic-function.rs b/tests/debuginfo/generic-function.rs new file mode 100644 index 000000000..e8f3940c8 --- /dev/null +++ b/tests/debuginfo/generic-function.rs @@ -0,0 +1,78 @@ +// min-lldb-version: 310 + +// compile-flags:-g + +// === GDB TESTS =================================================================================== + +// gdb-command:run + +// gdb-command:print *t0 +// gdb-check:$1 = 1 +// gdb-command:print *t1 +// gdb-check:$2 = 2.5 +// gdb-command:continue + +// gdb-command:print *t0 +// gdb-check:$3 = 3.5 +// gdb-command:print *t1 +// gdb-check:$4 = 4 +// gdb-command:continue + +// gdb-command:print *t0 +// gdb-check:$5 = 5 +// gdb-command:print *t1 +// gdbg-check:$6 = {a = 6, b = 7.5} +// gdbr-check:$6 = generic_function::Struct {a: 6, b: 7.5} +// gdb-command:continue + +// === LLDB TESTS ================================================================================== + +// lldb-command:run + +// lldb-command:print *t0 +// lldbg-check:[...]$0 = 1 +// lldbr-check:(i32) *t0 = 1 +// lldb-command:print *t1 +// lldbg-check:[...]$1 = 2.5 +// lldbr-check:(f64) *t1 = 2.5 +// lldb-command:continue + +// lldb-command:print *t0 +// lldbg-check:[...]$2 = 3.5 +// lldbr-check:(f64) *t0 = 3.5 +// lldb-command:print *t1 +// lldbg-check:[...]$3 = 4 +// lldbr-check:(u16) *t1 = 4 +// lldb-command:continue + +// lldb-command:print *t0 +// lldbg-check:[...]$4 = 5 +// lldbr-check:(i32) *t0 = 5 +// lldb-command:print *t1 +// lldbg-check:[...]$5 = { a = 6 b = 7.5 } +// lldbr-check:(generic_function::Struct) *t1 = { a = 6 b = 7.5 } +// lldb-command:continue + +#![feature(omit_gdb_pretty_printer_section)] +#![omit_gdb_pretty_printer_section] + +#[derive(Clone)] +struct Struct { + a: isize, + b: f64 +} + +fn dup_tup<T0: Clone, T1: Clone>(t0: &T0, t1: &T1) -> ((T0, T1), (T1, T0)) { + let ret = ((t0.clone(), t1.clone()), (t1.clone(), t0.clone())); + zzz(); // #break + ret +} + +fn main() { + + let _ = dup_tup(&1, &2.5f64); + let _ = dup_tup(&3.5f64, &4_u16); + let _ = dup_tup(&5, &Struct { a: 6, b: 7.5 }); +} + +fn zzz() {()} |