]>
Commit | Line | Data |
---|---|---|
041b39d2 XL |
1 | // |
2 | // no-system-llvm | |
3 | // compile-flags: -O | |
4 | ||
5 | #![crate_type="lib"] | |
223e47cc | 6 | |
041b39d2 | 7 | struct A; |
7cac9316 | 8 | |
041b39d2 XL |
9 | impl Drop for A { |
10 | fn drop(&mut self) { | |
5869c6ff | 11 | extern "C" { fn foo(); } |
041b39d2 | 12 | unsafe { foo(); } |
476ff2be SL |
13 | } |
14 | } | |
041b39d2 XL |
15 | |
16 | #[no_mangle] | |
17 | pub fn a(a: Box<i32>) { | |
18 | // CHECK-LABEL: define void @a | |
19 | // CHECK: call void @__rust_dealloc | |
20 | // CHECK-NEXT: call void @foo | |
21 | let _a = A; | |
22 | drop(a); | |
23 | } |