]> git.lizzy.rs Git - rust.git/blob - tests/debuginfo/method-on-tuple-struct.rs
Merge commit '7d53619064ab7045c383644cb445052d2a3d46db' into sync_cg_clif-2023-02-09
[rust.git] / tests / debuginfo / method-on-tuple-struct.rs
1 // min-lldb-version: 310
2
3 // compile-flags:-g
4
5 // === GDB TESTS ===================================================================================
6
7 // gdb-command:run
8
9 // STACK BY REF
10 // gdb-command:print *self
11 // gdbg-check:$1 = {__0 = 100, __1 = -100.5}
12 // gdbr-check:$1 = method_on_tuple_struct::TupleStruct (100, -100.5)
13 // gdb-command:print arg1
14 // gdb-check:$2 = -1
15 // gdb-command:print arg2
16 // gdb-check:$3 = -2
17 // gdb-command:continue
18
19 // STACK BY VAL
20 // gdb-command:print self
21 // gdbg-check:$4 = {__0 = 100, __1 = -100.5}
22 // gdbr-check:$4 = method_on_tuple_struct::TupleStruct (100, -100.5)
23 // gdb-command:print arg1
24 // gdb-check:$5 = -3
25 // gdb-command:print arg2
26 // gdb-check:$6 = -4
27 // gdb-command:continue
28
29 // OWNED BY REF
30 // gdb-command:print *self
31 // gdbg-check:$7 = {__0 = 200, __1 = -200.5}
32 // gdbr-check:$7 = method_on_tuple_struct::TupleStruct (200, -200.5)
33 // gdb-command:print arg1
34 // gdb-check:$8 = -5
35 // gdb-command:print arg2
36 // gdb-check:$9 = -6
37 // gdb-command:continue
38
39 // OWNED BY VAL
40 // gdb-command:print self
41 // gdbg-check:$10 = {__0 = 200, __1 = -200.5}
42 // gdbr-check:$10 = method_on_tuple_struct::TupleStruct (200, -200.5)
43 // gdb-command:print arg1
44 // gdb-check:$11 = -7
45 // gdb-command:print arg2
46 // gdb-check:$12 = -8
47 // gdb-command:continue
48
49 // OWNED MOVED
50 // gdb-command:print *self
51 // gdbg-check:$13 = {__0 = 200, __1 = -200.5}
52 // gdbr-check:$13 = method_on_tuple_struct::TupleStruct (200, -200.5)
53 // gdb-command:print arg1
54 // gdb-check:$14 = -9
55 // gdb-command:print arg2
56 // gdb-check:$15 = -10
57 // gdb-command:continue
58
59
60 // === LLDB TESTS ==================================================================================
61
62 // lldb-command:run
63
64 // STACK BY REF
65 // lldb-command:print *self
66 // lldbg-check:[...]$0 = { 0 = 100 1 = -100.5 }
67 // lldbr-check:(method_on_tuple_struct::TupleStruct) *self = { 0 = 100 1 = -100.5 }
68 // lldb-command:print arg1
69 // lldbg-check:[...]$1 = -1
70 // lldbr-check:(isize) arg1 = -1
71 // lldb-command:print arg2
72 // lldbg-check:[...]$2 = -2
73 // lldbr-check:(isize) arg2 = -2
74 // lldb-command:continue
75
76 // STACK BY VAL
77 // lldb-command:print self
78 // lldbg-check:[...]$3 = { 0 = 100 1 = -100.5 }
79 // lldbr-check:(method_on_tuple_struct::TupleStruct) self = { 0 = 100 1 = -100.5 }
80 // lldb-command:print arg1
81 // lldbg-check:[...]$4 = -3
82 // lldbr-check:(isize) arg1 = -3
83 // lldb-command:print arg2
84 // lldbg-check:[...]$5 = -4
85 // lldbr-check:(isize) arg2 = -4
86 // lldb-command:continue
87
88 // OWNED BY REF
89 // lldb-command:print *self
90 // lldbg-check:[...]$6 = { 0 = 200 1 = -200.5 }
91 // lldbr-check:(method_on_tuple_struct::TupleStruct) *self = { 0 = 200 1 = -200.5 }
92 // lldb-command:print arg1
93 // lldbg-check:[...]$7 = -5
94 // lldbr-check:(isize) arg1 = -5
95 // lldb-command:print arg2
96 // lldbg-check:[...]$8 = -6
97 // lldbr-check:(isize) arg2 = -6
98 // lldb-command:continue
99
100 // OWNED BY VAL
101 // lldb-command:print self
102 // lldbg-check:[...]$9 = { 0 = 200 1 = -200.5 }
103 // lldbr-check:(method_on_tuple_struct::TupleStruct) self = { 0 = 200 1 = -200.5 }
104 // lldb-command:print arg1
105 // lldbg-check:[...]$10 = -7
106 // lldbr-check:(isize) arg1 = -7
107 // lldb-command:print arg2
108 // lldbg-check:[...]$11 = -8
109 // lldbr-check:(isize) arg2 = -8
110 // lldb-command:continue
111
112 // OWNED MOVED
113 // lldb-command:print *self
114 // lldbg-check:[...]$12 = { 0 = 200 1 = -200.5 }
115 // lldbr-check:(method_on_tuple_struct::TupleStruct) *self = { 0 = 200 1 = -200.5 }
116 // lldb-command:print arg1
117 // lldbg-check:[...]$13 = -9
118 // lldbr-check:(isize) arg1 = -9
119 // lldb-command:print arg2
120 // lldbg-check:[...]$14 = -10
121 // lldbr-check:(isize) arg2 = -10
122 // lldb-command:continue
123
124 #![feature(omit_gdb_pretty_printer_section)]
125 #![omit_gdb_pretty_printer_section]
126
127 #[derive(Copy, Clone)]
128 struct TupleStruct(isize, f64);
129
130 impl TupleStruct {
131
132     fn self_by_ref(&self, arg1: isize, arg2: isize) -> isize {
133         zzz(); // #break
134         arg1 + arg2
135     }
136
137     fn self_by_val(self, arg1: isize, arg2: isize) -> isize {
138         zzz(); // #break
139         arg1 + arg2
140     }
141
142     fn self_owned(self: Box<TupleStruct>, arg1: isize, arg2: isize) -> isize {
143         zzz(); // #break
144         arg1 + arg2
145     }
146 }
147
148 fn main() {
149     let stack = TupleStruct(100, -100.5);
150     let _ = stack.self_by_ref(-1, -2);
151     let _ = stack.self_by_val(-3, -4);
152
153     let owned: Box<_> = Box::new(TupleStruct(200, -200.5));
154     let _ = owned.self_by_ref(-5, -6);
155     let _ = owned.self_by_val(-7, -8);
156     let _ = owned.self_owned(-9, -10);
157 }
158
159 fn zzz() {()}