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