diff options
| author | Alexis Beingessner <a.beingessner@gmail.com> | 2017-10-04 17:29:37 -0400 |
|---|---|---|
| committer | Alexis Beingessner <a.beingessner@gmail.com> | 2017-10-04 17:29:37 -0400 |
| commit | a6dea41d64a244c8f7671dd0eeb498b015c3a712 (patch) | |
| tree | 7493dfd65324b0f4e1992a16d7024ef7fd5b1b17 /src | |
| parent | 36471293e60f5750ecc728c22ade04013e962929 (diff) | |
| download | rust-a6dea41d64a244c8f7671dd0eeb498b015c3a712.tar.gz rust-a6dea41d64a244c8f7671dd0eeb498b015c3a712.zip | |
Make -Cpanic=abort imply -Zmutable-noalias
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_trans/abi.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc_trans/abi.rs b/src/librustc_trans/abi.rs index 5dc2e992972..ee295bdf0b4 100644 --- a/src/librustc_trans/abi.rs +++ b/src/librustc_trans/abi.rs @@ -37,6 +37,7 @@ use type_of; use rustc::hir; use rustc::ty::{self, Ty}; use rustc::ty::layout::{self, Layout, LayoutTyper, TyLayout, Size}; +use rustc_back::PanicStrategy; use libc::c_uint; use std::cmp; @@ -761,7 +762,8 @@ impl<'a, 'tcx> FnType<'tcx> { let is_freeze = ccx.shared().type_is_freeze(mt.ty); let no_alias_is_safe = - if ccx.shared().tcx().sess.opts.debugging_opts.mutable_noalias { + if ccx.shared().tcx().sess.opts.debugging_opts.mutable_noalias || + ccx.shared().tcx().sess.panic_strategy() == PanicStrategy::Abort { // Mutable refrences or immutable shared references mt.mutbl == hir::MutMutable || is_freeze } else { |
