auto merge of #12276 : alexcrichton/rust/issue-8449, r=kballard
This was just waiting for compiler-rt support, which was added in #12027 Closes #8449
This commit is contained in:
commit
f0bad904a1
@ -1122,13 +1122,6 @@ fn link_args(sess: Session,
|
||||
args.push(~"-Wl,--allow-multiple-definition");
|
||||
}
|
||||
|
||||
// Stack growth requires statically linking a __morestack function
|
||||
args.push(~"-lmorestack");
|
||||
// compiler-rt contains implementations of low-level LLVM helpers
|
||||
// It should go before platform and user libraries, so it has first dibs
|
||||
// at resolving symbols that also appear in libgcc.
|
||||
args.push(~"-lcompiler-rt");
|
||||
|
||||
add_local_native_libraries(&mut args, sess);
|
||||
add_upstream_rust_crates(&mut args, sess, dylib, tmpdir);
|
||||
add_upstream_native_libraries(&mut args, sess);
|
||||
@ -1163,6 +1156,13 @@ fn link_args(sess: Session,
|
||||
args.push_all(rpath::get_rpath_flags(sess, out_filename));
|
||||
}
|
||||
|
||||
// Stack growth requires statically linking a __morestack function
|
||||
args.push(~"-lmorestack");
|
||||
// compiler-rt contains implementations of low-level LLVM helpers
|
||||
// It should go before platform and user libraries, so it has first dibs
|
||||
// at resolving symbols that also appear in libgcc.
|
||||
args.push(~"-lcompiler-rt");
|
||||
|
||||
// Finally add all the linker arguments provided on the command line along
|
||||
// with any #[link_args] attributes found inside the crate
|
||||
args.push_all(sess.opts.cg.link_args);
|
||||
|
@ -60,8 +60,6 @@ fn checked_sub(&self, v: &i64) -> Option<i64> {
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: #8449: should not be disabled on 32-bit
|
||||
#[cfg(target_word_size = "64")]
|
||||
impl CheckedMul for i64 {
|
||||
#[inline]
|
||||
fn checked_mul(&self, v: &i64) -> Option<i64> {
|
||||
|
@ -426,7 +426,7 @@ pub trait Int: Integer
|
||||
+ Bitwise
|
||||
+ CheckedAdd
|
||||
+ CheckedSub
|
||||
// + CheckedMul // FIXME #8849: currently not impled on 32-bit
|
||||
+ CheckedMul
|
||||
+ CheckedDiv {}
|
||||
|
||||
/// Returns the smallest power of 2 greater than or equal to `n`.
|
||||
|
@ -47,8 +47,6 @@ fn checked_sub(&self, v: &u64) -> Option<u64> {
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: #8449: should not be disabled on 32-bit
|
||||
#[cfg(target_word_size = "64")]
|
||||
impl CheckedMul for u64 {
|
||||
#[inline]
|
||||
fn checked_mul(&self, v: &u64) -> Option<u64> {
|
||||
|
Loading…
Reference in New Issue
Block a user