]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_codegen_llvm/llvm_util.rs
Auto merge of #65838 - estebank:resilient-recovery, r=Centril
[rust.git] / src / librustc_codegen_llvm / llvm_util.rs
index 2dce9b04c9e9eecff196da53b671ee368322f8fc..85e0b6d465ab06d7d0bd0f503e8c6fa847c2b6cd 100644 (file)
@@ -3,7 +3,7 @@
 use syntax_pos::symbol::Symbol;
 use rustc::session::Session;
 use rustc::session::config::PrintRequest;
-use rustc_target::spec::MergeFunctions;
+use rustc_target::spec::{MergeFunctions, PanicStrategy};
 use libc::c_int;
 use std::ffi::CString;
 use syntax::feature_gate::UnstableFeatures;
@@ -73,6 +73,11 @@ unsafe fn configure_llvm(sess: &Session) {
             }
         }
 
+        if sess.target.target.target_os == "emscripten" &&
+            sess.panic_strategy() == PanicStrategy::Unwind {
+            add("-enable-emscripten-cxx-exceptions");
+        }
+
         // HACK(eddyb) LLVM inserts `llvm.assume` calls to preserve align attributes
         // during inlining. Unfortunately these may block other optimizations.
         add("-preserve-alignment-assumptions-during-inlining=false");