summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
diff options
context:
space:
mode:
authorAmanieu d'Antras <amanieu@gmail.com>2020-03-31 23:15:39 +0100
committerAmanieu d'Antras <amanieu@gmail.com>2020-04-29 01:05:56 +0100
commiteb4725fc5405605c4bd17800ccf8c583bfe79be5 (patch)
treed6c51023d3641ca9781bf3b85c876d79f2e200ee /src/librustc_codegen_llvm
parent06e15a4ef91724cfaf3856f33277416bc53fa814 (diff)
downloadrust-eb4725fc5405605c4bd17800ccf8c583bfe79be5.tar.gz
rust-eb4725fc5405605c4bd17800ccf8c583bfe79be5.zip
Remove Session::no_landing_pads()
Diffstat (limited to 'src/librustc_codegen_llvm')
-rw-r--r--src/librustc_codegen_llvm/attributes.rs5
-rw-r--r--src/librustc_codegen_llvm/intrinsic.rs3
2 files changed, 6 insertions, 2 deletions
diff --git a/src/librustc_codegen_llvm/attributes.rs b/src/librustc_codegen_llvm/attributes.rs
index ba286e5f40d..6ef303c848d 100644
--- a/src/librustc_codegen_llvm/attributes.rs
+++ b/src/librustc_codegen_llvm/attributes.rs
@@ -13,6 +13,7 @@ use rustc_middle::ty::query::Providers;
 use rustc_middle::ty::{self, TyCtxt};
 use rustc_session::config::{OptLevel, Sanitizer};
 use rustc_session::Session;
+use rustc_target::spec::PanicStrategy;
 
 use crate::attributes;
 use crate::llvm::AttributePlace::Function;
@@ -270,7 +271,9 @@ pub fn from_fn_attrs(cx: &CodegenCx<'ll, 'tcx>, llfn: &'ll Value, instance: ty::
     //
     // You can also find more info on why Windows is whitelisted here in:
     //      https://bugzilla.mozilla.org/show_bug.cgi?id=1302078
-    if !cx.sess().no_landing_pads() || cx.sess().target.target.options.requires_uwtable {
+    if cx.sess().panic_strategy() == PanicStrategy::Unwind
+        || cx.sess().target.target.options.requires_uwtable
+    {
         attributes::emit_uwtable(llfn, true);
     }
 
diff --git a/src/librustc_codegen_llvm/intrinsic.rs b/src/librustc_codegen_llvm/intrinsic.rs
index 86d10e91d6d..ddf21ff6338 100644
--- a/src/librustc_codegen_llvm/intrinsic.rs
+++ b/src/librustc_codegen_llvm/intrinsic.rs
@@ -22,6 +22,7 @@ use rustc_middle::ty::{self, Ty};
 use rustc_middle::{bug, span_bug};
 use rustc_span::Span;
 use rustc_target::abi::{self, HasDataLayout, LayoutOf, Primitive};
+use rustc_target::spec::PanicStrategy;
 
 use std::cmp::Ordering;
 use std::iter;
@@ -804,7 +805,7 @@ fn try_intrinsic(
     catch_func: &'ll Value,
     dest: &'ll Value,
 ) {
-    if bx.sess().no_landing_pads() {
+    if bx.sess().panic_strategy() == PanicStrategy::Abort {
         bx.call(try_func, &[data], None);
         // Return 0 unconditionally from the intrinsic call;
         // we can never unwind.