Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
dfe76a1
Split non-CAS atomic support off into target_has_atomic_load_store
Amanieu Oct 8, 2019
6afc509
vxWorks: implement get_path() and get_mode() for File fmt::Debug
BaoshanPang Oct 9, 2019
e8af4c1
resolve: Mark macros starting with an underscore as used
petrochenkov Oct 9, 2019
1270140
expand: Simplify expansion of derives
petrochenkov Oct 9, 2019
57aae75
improve performance of signed saturating_mul
tspiteri Oct 11, 2019
e5daab8
Fix typo
Oct 12, 2019
9a0b9c6
remove old branch of unwind logic
RalfJung Oct 12, 2019
a1a8f33
update test for nounwind on FFI imports
RalfJung Oct 12, 2019
63af27f
also (properly) test nounwind on function definitions
RalfJung Oct 12, 2019
79c623f
some typography
RalfJung Oct 12, 2019
a010652
fix #[unwind(abort)] for Rust ABIs
RalfJung Oct 12, 2019
df93351
test unwind(abort) with Rust ABI
RalfJung Oct 12, 2019
09d7be3
make tests more robust
RalfJung Oct 12, 2019
cd0e4c3
Implement Error::source on IntoStringError
faern Oct 13, 2019
d488500
Don't discard value names when using address or memory sanitizer
tmiasko Oct 13, 2019
37018e0
Fix typos in error.rs
Oct 13, 2019
b8e7f76
Remove Error::cause impls equal to deafult impl
faern Oct 13, 2019
cfda050
Add `dyn` to `Any` documentation
Cerber-Ursi Oct 13, 2019
0510bbf
Added code element
Cerber-Ursi Oct 13, 2019
4a0c487
syntax: consolidate function parsing in `item.rs`
Centril Oct 11, 2019
e67fa77
Fix typo in docs for `Rc`
kalabukdima Oct 13, 2019
82add0f
Rollup merge of #65214 - Amanieu:cfg_atomic, r=alexcrichton
Centril Oct 13, 2019
e56ba54
Rollup merge of #65246 - Wind-River:real_master_2, r=kennytm
Centril Oct 13, 2019
f22a784
Rollup merge of #65252 - petrochenkov:deriveholders2, r=matthewjasper
Centril Oct 13, 2019
ddad134
Rollup merge of #65312 - tspiteri:signed-sat-mul, r=dtolnay
Centril Oct 13, 2019
1a2835b
Rollup merge of #65336 - BO41:typo, r=petrochenkov
Centril Oct 13, 2019
a53028e
Rollup merge of #65346 - RalfJung:nounwind-tests, r=nagisa
Centril Oct 13, 2019
24d57be
Rollup merge of #65347 - RalfJung:unwind-abort-rust, r=varkor
Centril Oct 13, 2019
fad7ed0
Rollup merge of #65362 - Centril:extract_fun, r=petrochenkov
Centril Oct 13, 2019
a927c83
Rollup merge of #65366 - faern:source-on-intostringerror, r=bluss
Centril Oct 13, 2019
45a6cc0
Rollup merge of #65369 - tmiasko:sanitizers-keep-names, r=varkor
Centril Oct 13, 2019
dd2c0db
Rollup merge of #65370 - Cerberuser:patch-1, r=jonas-schievink
Centril Oct 13, 2019
813d4c3
Rollup merge of #65373 - kalabukdima:patch-1, r=jonas-schievink
Centril Oct 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
remove old branch of unwind logic
  • Loading branch information
RalfJung committed Oct 12, 2019
commit 9a0b9c69600946c8c665705df2cec9ed7ce63d71
22 changes: 1 addition & 21 deletions src/librustc_codegen_llvm/attributes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -275,18 +275,7 @@ pub fn from_fn_attrs(
} else if codegen_fn_attrs.flags.contains(CodegenFnAttrFlags::RUSTC_ALLOCATOR_NOUNWIND) {
// Special attribute for allocator functions, which can't unwind
false
} else if let Some(_) = id {
// rust-lang/rust#64655, rust-lang/rust#63909: to minimize
// risk associated with changing cases where nounwind
// attribute is attached, this code is deliberately mimicking
// old control flow based on whether `id` is `Some` or `None`.
//
// However, in the long term we should either:
// - fold this into final else (i.e. stop inspecting `id`)
// - or, adopt Rust PR #63909.
//
// see also Rust RFC 2753.

} else {
let sig = cx.tcx.normalize_erasing_late_bound_regions(ty::ParamEnv::reveal_all(), &sig);
if sig.abi == Abi::Rust || sig.abi == Abi::RustCall {
// Any Rust method (or `extern "Rust" fn` or `extern
Expand All @@ -312,15 +301,6 @@ pub fn from_fn_attrs(
// In either case, we mark item as explicitly nounwind.
false
}
} else {
// assume this can possibly unwind, avoiding the application of a
// `nounwind` attribute below.
//
// (But: See comments in previous branch. Specifically, it is
// unclear whether there is real value in the assumption this
// can unwind. The conservatism here may just be papering over
// a real problem by making some UB a bit harder to hit.)
true
});

// Always annotate functions with the target-cpu they are compiled for.
Expand Down