]>
Commit | Line | Data |
---|---|---|
1a4d82fc JJ |
1 | // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT |
2 | // file at the top-level directory of this distribution and at | |
3 | // http://rust-lang.org/COPYRIGHT. | |
4 | // | |
5 | // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | |
6 | // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | |
7 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | |
8 | // option. This file may not be copied, modified, or distributed | |
9 | // except according to those terms. | |
10 | ||
1a4d82fc JJ |
11 | // min-lldb-version: 310 |
12 | ||
13 | // compile-flags:-g | |
14 | ||
15 | // === GDB TESTS =================================================================================== | |
16 | ||
c30ab7b3 SL |
17 | // there's no frame yet for gdb to reliably detect the language, set it explicitly |
18 | // gdbr-command:set language rust | |
19 | ||
20 | // gdbg-command:print/d 'simple_tuple::NO_PADDING_8' | |
21 | // gdbr-command:print simple_tuple::NO_PADDING_8 | |
22 | // gdbg-check:$1 = {__0 = -50, __1 = 50} | |
23 | // gdbr-check:$1 = (-50, 50) | |
24 | // gdbg-command:print 'simple_tuple::NO_PADDING_16' | |
25 | // gdbr-command:print simple_tuple::NO_PADDING_16 | |
26 | // gdbg-check:$2 = {__0 = -1, __1 = 2, __2 = 3} | |
27 | // gdbr-check:$2 = (-1, 2, 3) | |
28 | // gdbg-command:print 'simple_tuple::NO_PADDING_32' | |
29 | // gdbr-command:print simple_tuple::NO_PADDING_32 | |
30 | // gdbg-check:$3 = {__0 = 4, __1 = 5, __2 = 6} | |
31 | // gdbr-check:$3 = (4, 5, 6) | |
32 | // gdbg-command:print 'simple_tuple::NO_PADDING_64' | |
33 | // gdbr-command:print simple_tuple::NO_PADDING_64 | |
34 | // gdbg-check:$4 = {__0 = 7, __1 = 8, __2 = 9} | |
35 | // gdbr-check:$4 = (7, 8, 9) | |
36 | ||
37 | // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_1' | |
38 | // gdbr-command:print simple_tuple::INTERNAL_PADDING_1 | |
39 | // gdbg-check:$5 = {__0 = 10, __1 = 11} | |
40 | // gdbr-check:$5 = (10, 11) | |
41 | // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_2' | |
42 | // gdbr-command:print simple_tuple::INTERNAL_PADDING_2 | |
43 | // gdbg-check:$6 = {__0 = 12, __1 = 13, __2 = 14, __3 = 15} | |
44 | // gdbr-check:$6 = (12, 13, 14, 15) | |
45 | ||
46 | // gdbg-command:print 'simple_tuple::PADDING_AT_END' | |
47 | // gdbr-command:print simple_tuple::PADDING_AT_END | |
48 | // gdbg-check:$7 = {__0 = 16, __1 = 17} | |
49 | // gdbr-check:$7 = (16, 17) | |
1a4d82fc JJ |
50 | |
51 | // gdb-command:run | |
52 | ||
c30ab7b3 SL |
53 | // gdbg-command:print/d noPadding8 |
54 | // gdbr-command:print noPadding8 | |
55 | // gdbg-check:$8 = {__0 = -100, __1 = 100} | |
56 | // gdbr-check:$8 = (-100, 100) | |
1a4d82fc | 57 | // gdb-command:print noPadding16 |
c30ab7b3 SL |
58 | // gdbg-check:$9 = {__0 = 0, __1 = 1, __2 = 2} |
59 | // gdbr-check:$9 = (0, 1, 2) | |
1a4d82fc | 60 | // gdb-command:print noPadding32 |
c30ab7b3 SL |
61 | // gdbg-check:$10 = {__0 = 3, __1 = 4.5, __2 = 5} |
62 | // gdbr-check:$10 = (3, 4.5, 5) | |
1a4d82fc | 63 | // gdb-command:print noPadding64 |
c30ab7b3 SL |
64 | // gdbg-check:$11 = {__0 = 6, __1 = 7.5, __2 = 8} |
65 | // gdbr-check:$11 = (6, 7.5, 8) | |
1a4d82fc JJ |
66 | |
67 | // gdb-command:print internalPadding1 | |
c30ab7b3 SL |
68 | // gdbg-check:$12 = {__0 = 9, __1 = 10} |
69 | // gdbr-check:$12 = (9, 10) | |
1a4d82fc | 70 | // gdb-command:print internalPadding2 |
c30ab7b3 SL |
71 | // gdbg-check:$13 = {__0 = 11, __1 = 12, __2 = 13, __3 = 14} |
72 | // gdbr-check:$13 = (11, 12, 13, 14) | |
1a4d82fc JJ |
73 | |
74 | // gdb-command:print paddingAtEnd | |
c30ab7b3 SL |
75 | // gdbg-check:$14 = {__0 = 15, __1 = 16} |
76 | // gdbr-check:$14 = (15, 16) | |
77 | ||
78 | // gdbg-command:print/d 'simple_tuple::NO_PADDING_8' | |
79 | // gdbr-command:print simple_tuple::NO_PADDING_8 | |
80 | // gdbg-check:$15 = {__0 = -127, __1 = 127} | |
81 | // gdbr-check:$15 = (-127, 127) | |
82 | // gdbg-command:print 'simple_tuple::NO_PADDING_16' | |
83 | // gdbr-command:print simple_tuple::NO_PADDING_16 | |
84 | // gdbg-check:$16 = {__0 = -10, __1 = 10, __2 = 9} | |
85 | // gdbr-check:$16 = (-10, 10, 9) | |
86 | // gdbg-command:print 'simple_tuple::NO_PADDING_32' | |
87 | // gdbr-command:print simple_tuple::NO_PADDING_32 | |
88 | // gdbg-check:$17 = {__0 = 14, __1 = 15, __2 = 16} | |
89 | // gdbr-check:$17 = (14, 15, 16) | |
90 | // gdbg-command:print 'simple_tuple::NO_PADDING_64' | |
91 | // gdbr-command:print simple_tuple::NO_PADDING_64 | |
92 | // gdbg-check:$18 = {__0 = 17, __1 = 18, __2 = 19} | |
93 | // gdbr-check:$18 = (17, 18, 19) | |
94 | ||
95 | // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_1' | |
96 | // gdbr-command:print simple_tuple::INTERNAL_PADDING_1 | |
97 | // gdbg-check:$19 = {__0 = 110, __1 = 111} | |
98 | // gdbr-check:$19 = (110, 111) | |
99 | // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_2' | |
100 | // gdbr-command:print simple_tuple::INTERNAL_PADDING_2 | |
101 | // gdbg-check:$20 = {__0 = 112, __1 = 113, __2 = 114, __3 = 115} | |
102 | // gdbr-check:$20 = (112, 113, 114, 115) | |
103 | ||
104 | // gdbg-command:print 'simple_tuple::PADDING_AT_END' | |
105 | // gdbr-command:print simple_tuple::PADDING_AT_END | |
106 | // gdbg-check:$21 = {__0 = 116, __1 = 117} | |
107 | // gdbr-check:$21 = (116, 117) | |
1a4d82fc JJ |
108 | |
109 | ||
110 | // === LLDB TESTS ================================================================================== | |
111 | ||
112 | // lldb-command:run | |
113 | ||
114 | // lldb-command:print/d noPadding8 | |
115 | // lldb-check:[...]$0 = (-100, 100) | |
116 | // lldb-command:print noPadding16 | |
117 | // lldb-check:[...]$1 = (0, 1, 2) | |
118 | // lldb-command:print noPadding32 | |
119 | // lldb-check:[...]$2 = (3, 4.5, 5) | |
120 | // lldb-command:print noPadding64 | |
121 | // lldb-check:[...]$3 = (6, 7.5, 8) | |
122 | ||
123 | // lldb-command:print internalPadding1 | |
124 | // lldb-check:[...]$4 = (9, 10) | |
125 | // lldb-command:print internalPadding2 | |
126 | // lldb-check:[...]$5 = (11, 12, 13, 14) | |
127 | ||
128 | // lldb-command:print paddingAtEnd | |
129 | // lldb-check:[...]$6 = (15, 16) | |
130 | ||
131 | #![allow(unused_variables)] | |
132 | #![allow(dead_code)] | |
b039eaaf | 133 | #![feature(omit_gdb_pretty_printer_section)] |
1a4d82fc JJ |
134 | #![omit_gdb_pretty_printer_section] |
135 | ||
136 | static mut NO_PADDING_8: (i8, u8) = (-50, 50); | |
137 | static mut NO_PADDING_16: (i16, i16, u16) = (-1, 2, 3); | |
138 | ||
139 | static mut NO_PADDING_32: (i32, f32, u32) = (4, 5.0, 6); | |
140 | static mut NO_PADDING_64: (i64, f64, u64) = (7, 8.0, 9); | |
141 | ||
142 | static mut INTERNAL_PADDING_1: (i16, i32) = (10, 11); | |
143 | static mut INTERNAL_PADDING_2: (i16, i32, u32, u64) = (12, 13, 14, 15); | |
144 | ||
145 | static mut PADDING_AT_END: (i32, i16) = (16, 17); | |
146 | ||
147 | fn main() { | |
148 | let noPadding8: (i8, u8) = (-100, 100); | |
149 | let noPadding16: (i16, i16, u16) = (0, 1, 2); | |
150 | let noPadding32: (i32, f32, u32) = (3, 4.5, 5); | |
151 | let noPadding64: (i64, f64, u64) = (6, 7.5, 8); | |
152 | ||
153 | let internalPadding1: (i16, i32) = (9, 10); | |
154 | let internalPadding2: (i16, i32, u32, u64) = (11, 12, 13, 14); | |
155 | ||
156 | let paddingAtEnd: (i32, i16) = (15, 16); | |
157 | ||
158 | unsafe { | |
159 | NO_PADDING_8 = (-127, 127); | |
160 | NO_PADDING_16 = (-10, 10, 9); | |
161 | ||
162 | NO_PADDING_32 = (14, 15.0, 16); | |
163 | NO_PADDING_64 = (17, 18.0, 19); | |
164 | ||
165 | INTERNAL_PADDING_1 = (110, 111); | |
166 | INTERNAL_PADDING_2 = (112, 113, 114, 115); | |
167 | ||
168 | PADDING_AT_END = (116, 117); | |
169 | } | |
170 | ||
171 | zzz(); // #break | |
172 | } | |
173 | ||
174 | fn zzz() {()} |