]> git.proxmox.com Git - rustc.git/blame - src/test/mir-opt/storage_live_dead_in_statics.rs
New upstream version 1.36.0+dfsg1
[rustc.git] / src / test / mir-opt / storage_live_dead_in_statics.rs
CommitLineData
7cac9316
XL
1// Check that when we compile the static `XXX` into MIR, we do not
2// generate `StorageStart` or `StorageEnd` statements.
3
4// ignore-tidy-linelength
5
6static XXX: &'static Foo = &Foo {
7 tup: "hi",
8 data: &[
9 (0, 1), (0, 2), (0, 3),
10 (0, 1), (0, 2), (0, 3),
11 (0, 1), (0, 2), (0, 3),
12 (0, 1), (0, 2), (0, 3),
13 (0, 1), (0, 2), (0, 3),
14 (0, 1), (0, 2), (0, 3),
15 (0, 1), (0, 2), (0, 3),
16 (0, 1), (0, 2), (0, 3),
17 (0, 1), (0, 2), (0, 3),
18 (0, 1), (0, 2), (0, 3),
19 (0, 1), (0, 2), (0, 3),
20 (0, 1), (0, 2), (0, 3),
21 (0, 1), (0, 2), (0, 3),
22 (0, 1), (0, 2), (0, 3),
23 ]
24};
25
26#[derive(Debug)]
27struct Foo {
28 tup: &'static str,
29 data: &'static [(u32, u32)]
30}
31
32fn main() {
33 println!("{:?}", XXX);
34}
35
36// END RUST SOURCE
abe05a73
XL
37// START rustc.XXX.mir_map.0.mir
38// let mut _0: &'static Foo;
39// let mut _1: &'static Foo;
b7449926 40// let _2: Foo;
abe05a73
XL
41// let mut _3: &'static [(u32, u32)];
42// let mut _4: &'static [(u32, u32); 42];
43// let mut _5: &'static [(u32, u32); 42];
b7449926 44// let _6: [(u32, u32); 42];
abe05a73
XL
45// let mut _7: (u32, u32);
46// let mut _8: (u32, u32);
47// let mut _9: (u32, u32);
48// let mut _10: (u32, u32);
49// let mut _11: (u32, u32);
50// let mut _12: (u32, u32);
51// let mut _13: (u32, u32);
52// let mut _14: (u32, u32);
53// let mut _15: (u32, u32);
54// let mut _16: (u32, u32);
55// let mut _17: (u32, u32);
56// let mut _18: (u32, u32);
57// let mut _19: (u32, u32);
58// let mut _20: (u32, u32);
59// let mut _21: (u32, u32);
60// let mut _22: (u32, u32);
61// let mut _23: (u32, u32);
62// let mut _24: (u32, u32);
63// let mut _25: (u32, u32);
64// let mut _26: (u32, u32);
65// let mut _27: (u32, u32);
66// let mut _28: (u32, u32);
67// let mut _29: (u32, u32);
68// let mut _30: (u32, u32);
69// let mut _31: (u32, u32);
70// let mut _32: (u32, u32);
71// let mut _33: (u32, u32);
72// let mut _34: (u32, u32);
73// let mut _35: (u32, u32);
74// let mut _36: (u32, u32);
75// let mut _37: (u32, u32);
76// let mut _38: (u32, u32);
77// let mut _39: (u32, u32);
78// let mut _40: (u32, u32);
79// let mut _41: (u32, u32);
80// let mut _42: (u32, u32);
81// let mut _43: (u32, u32);
82// let mut _44: (u32, u32);
83// let mut _45: (u32, u32);
84// let mut _46: (u32, u32);
85// let mut _47: (u32, u32);
86// let mut _48: (u32, u32);
7cac9316 87// bb0: {
abe05a73
XL
88// StorageLive(_1);
89// StorageLive(_2);
90// StorageLive(_3);
91// StorageLive(_4);
92// StorageLive(_5);
93// StorageLive(_6);
94// StorageLive(_7);
95// _7 = (const 0u32, const 1u32);
96// StorageLive(_8);
97// _8 = (const 0u32, const 2u32);
98// StorageLive(_9);
99// _9 = (const 0u32, const 3u32);
100// StorageLive(_10);
101// _10 = (const 0u32, const 1u32);
102// StorageLive(_11);
103// _11 = (const 0u32, const 2u32);
104// StorageLive(_12);
105// _12 = (const 0u32, const 3u32);
106// StorageLive(_13);
107// _13 = (const 0u32, const 1u32);
108// StorageLive(_14);
109// _14 = (const 0u32, const 2u32);
110// StorageLive(_15);
111// _15 = (const 0u32, const 3u32);
112// StorageLive(_16);
113// _16 = (const 0u32, const 1u32);
114// StorageLive(_17);
115// _17 = (const 0u32, const 2u32);
116// StorageLive(_18);
117// _18 = (const 0u32, const 3u32);
118// StorageLive(_19);
119// _19 = (const 0u32, const 1u32);
120// StorageLive(_20);
121// _20 = (const 0u32, const 2u32);
122// StorageLive(_21);
123// _21 = (const 0u32, const 3u32);
124// StorageLive(_22);
125// _22 = (const 0u32, const 1u32);
126// StorageLive(_23);
127// _23 = (const 0u32, const 2u32);
128// StorageLive(_24);
129// _24 = (const 0u32, const 3u32);
130// StorageLive(_25);
131// _25 = (const 0u32, const 1u32);
132// StorageLive(_26);
133// _26 = (const 0u32, const 2u32);
134// StorageLive(_27);
135// _27 = (const 0u32, const 3u32);
136// StorageLive(_28);
137// _28 = (const 0u32, const 1u32);
138// StorageLive(_29);
139// _29 = (const 0u32, const 2u32);
140// StorageLive(_30);
141// _30 = (const 0u32, const 3u32);
142// StorageLive(_31);
143// _31 = (const 0u32, const 1u32);
144// StorageLive(_32);
145// _32 = (const 0u32, const 2u32);
146// StorageLive(_33);
147// _33 = (const 0u32, const 3u32);
148// StorageLive(_34);
149// _34 = (const 0u32, const 1u32);
150// StorageLive(_35);
151// _35 = (const 0u32, const 2u32);
152// StorageLive(_36);
153// _36 = (const 0u32, const 3u32);
154// StorageLive(_37);
155// _37 = (const 0u32, const 1u32);
156// StorageLive(_38);
157// _38 = (const 0u32, const 2u32);
158// StorageLive(_39);
159// _39 = (const 0u32, const 3u32);
160// StorageLive(_40);
161// _40 = (const 0u32, const 1u32);
162// StorageLive(_41);
163// _41 = (const 0u32, const 2u32);
164// StorageLive(_42);
165// _42 = (const 0u32, const 3u32);
166// StorageLive(_43);
167// _43 = (const 0u32, const 1u32);
168// StorageLive(_44);
169// _44 = (const 0u32, const 2u32);
170// StorageLive(_45);
171// _45 = (const 0u32, const 3u32);
172// StorageLive(_46);
173// _46 = (const 0u32, const 1u32);
174// StorageLive(_47);
175// _47 = (const 0u32, const 2u32);
176// StorageLive(_48);
177// _48 = (const 0u32, const 3u32);
ff7c6d11 178// _6 = [move _7, move _8, move _9, move _10, move _11, move _12, move _13, move _14, move _15, move _16, move _17, move _18, move _19, move _20, move _21, move _22, move _23, move _24, move _25, move _26, move _27, move _28, move _29, move _30, move _31, move _32, move _33, move _34, move _35, move _36, move _37, move _38, move _39, move _40, move _41, move _42, move _43, move _44, move _45, move _46, move _47, move _48];
abe05a73
XL
179// _5 = &_6;
180// _4 = &(*_5);
48663c56 181// _3 = move _4 as &'static [(u32, u32)] (Pointer(Unsize));
ff7c6d11 182// _2 = Foo { tup: const "hi", data: move _3 };
abe05a73
XL
183// _1 = &_2;
184// _0 = &(*_1);
185// StorageDead(_1);
186// StorageDead(_5);
187// return;
7cac9316 188// }
abe05a73
XL
189//}
190// END rustc.XXX.mir_map.0.mir