Skip to content

Commit

Permalink
Permit unwinding through FFI by default
Browse files Browse the repository at this point in the history
See rust-lang#58794 for context.
  • Loading branch information
Mark-Simulacrum authored and cuviper committed Sep 13, 2019
1 parent d097af1 commit 946fb89
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/librustc_mir/build/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ fn should_abort_on_panic(tcx: TyCtxt<'_>, fn_def_id: DefId, abi: Abi) -> bool {
// This is a special case: some functions have a C abi but are meant to
// unwind anyway. Don't stop them.
match unwind_attr {
None => true,
None => false, // FIXME(#58794)
Some(UnwindAttr::Allowed) => false,
Some(UnwindAttr::Aborts) => true,
}
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/abort-on-c-abi.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// run-pass

#![allow(unused_must_use)]
#![feature(unwind_attributes)]
// Since we mark some ABIs as "nounwind" to LLVM, we must make sure that
// we never unwind through them.

Expand All @@ -13,6 +14,7 @@ use std::io::prelude::*;
use std::io;
use std::process::{Command, Stdio};

#[unwind(aborts)] // FIXME(#58794)
extern "C" fn panic_in_ffi() {
panic!("Test");
}
Expand Down

0 comments on commit 946fb89

Please sign in to comment.