1 // compile-flags: -C no-prepopulate-passes
4 #![feature(unwind_attributes)]
7 // CHECK: Function Attrs:{{.*}}nounwind
8 // CHECK-NEXT: declare void @extern_fn
10 // CHECK-NOT: Function Attrs:{{.*}}nounwind
11 // CHECK: declare void @unwinding_extern_fn
13 fn unwinding_extern_fn();
14 // CHECK-NOT: nounwind
15 // CHECK: declare void @aborting_extern_fn
17 fn aborting_extern_fn(); // FIXME: we want to have the attribute here
21 // CHECK-NOT: nounwind
22 // CHECK: declare void @rust_extern_fn
24 // CHECK-NOT: nounwind
25 // CHECK: declare void @rust_unwinding_extern_fn
27 fn rust_unwinding_extern_fn();
28 // CHECK-NOT: nounwind
29 // CHECK: declare void @rust_aborting_extern_fn
31 fn rust_aborting_extern_fn(); // FIXME: we want to have the attribute here
34 pub unsafe fn force_declare() {
36 unwinding_extern_fn();
39 rust_unwinding_extern_fn();
40 rust_aborting_extern_fn();