// compile-flags: -C opt-level=0 #![crate_type = "lib"] #![feature(unwind_attributes)] // Make sure these all do *not* get the attribute. // We disable optimizations to prevent LLVM from infering the attribute. // CHECK-NOT: nounwind // "C" ABI // pub extern fn foo() {} // FIXME right now we don't abort-on-panic but add `nounwind` nevertheless #[unwind(allowed)] pub extern fn foo_allowed() {} // "Rust" ABI (`extrn "Rust"` could be removed as all `fn` get it implicitly; we leave it // in for clarity.) pub extern "Rust" fn bar() {} #[unwind(allowed)] pub extern "Rust" fn bar_allowed() {}