Auto merge of #27172 - alexcrichton:snapshots, r=brson
Enables bootstrapping a 32-bit MSVC host compiler! Closes #26602
This commit is contained in:
commit
d33cab1b1f
@ -135,20 +135,3 @@ pub fn oom() -> ! {
|
||||
// allocate.
|
||||
unsafe { core::intrinsics::abort() }
|
||||
}
|
||||
|
||||
// FIXME(#14344): When linking liballoc with libstd, this library will be linked
|
||||
// as an rlib (it only exists as an rlib). It turns out that an
|
||||
// optimized standard library doesn't actually use *any* symbols
|
||||
// from this library. Everything is inlined and optimized away.
|
||||
// This means that linkers will actually omit the object for this
|
||||
// file, even though it may be needed in the future.
|
||||
//
|
||||
// To get around this for now, we define a dummy symbol which
|
||||
// will never get inlined so the stdlib can call it. The stdlib's
|
||||
// reference to this symbol will cause this library's object file
|
||||
// to get linked in to libstd successfully (the linker won't
|
||||
// optimize it out).
|
||||
#[doc(hidden)]
|
||||
#[unstable(feature = "issue_14344_fixme")]
|
||||
#[cfg(stage0)]
|
||||
pub fn fixme_14344_be_sure_to_link_to_collections() {}
|
||||
|
@ -133,13 +133,6 @@ pub mod btree_set {
|
||||
pub use btree::set::*;
|
||||
}
|
||||
|
||||
|
||||
// FIXME(#14344) this shouldn't be necessary
|
||||
#[doc(hidden)]
|
||||
#[unstable(feature = "issue_14344_fixme")]
|
||||
#[cfg(stage0)]
|
||||
pub fn fixme_14344_be_sure_to_link_to_collections() {}
|
||||
|
||||
#[cfg(not(test))]
|
||||
mod std {
|
||||
pub use core::ops; // RangeFull
|
||||
|
@ -979,7 +979,6 @@ impl ops::Index<ops::RangeFull> for String {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(stage0))]
|
||||
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
||||
impl ops::IndexMut<ops::Range<usize>> for String {
|
||||
#[inline]
|
||||
@ -987,7 +986,6 @@ impl ops::IndexMut<ops::Range<usize>> for String {
|
||||
&mut self[..][index]
|
||||
}
|
||||
}
|
||||
#[cfg(not(stage0))]
|
||||
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
||||
impl ops::IndexMut<ops::RangeTo<usize>> for String {
|
||||
#[inline]
|
||||
@ -995,7 +993,6 @@ impl ops::IndexMut<ops::RangeTo<usize>> for String {
|
||||
&mut self[..][index]
|
||||
}
|
||||
}
|
||||
#[cfg(not(stage0))]
|
||||
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
||||
impl ops::IndexMut<ops::RangeFrom<usize>> for String {
|
||||
#[inline]
|
||||
|
@ -6535,8 +6535,4 @@ pub mod funcs {
|
||||
}
|
||||
}
|
||||
|
||||
#[doc(hidden)]
|
||||
#[cfg(stage0)]
|
||||
pub fn issue_14344_workaround() {} // FIXME #14344 force linkage to happen correctly
|
||||
|
||||
#[test] fn work_on_windows() { } // FIXME #10872 needed for a happy windows
|
||||
|
@ -231,9 +231,12 @@ pub static p_thread_callback: unsafe extern "system" fn(LPVOID, DWORD,
|
||||
LPVOID) =
|
||||
on_tls_callback;
|
||||
|
||||
#[cfg(target_env = "msvc")]
|
||||
#[cfg(all(target_env = "msvc", target_pointer_width = "64"))]
|
||||
#[link_args = "/INCLUDE:_tls_used"]
|
||||
extern {}
|
||||
#[cfg(all(target_env = "msvc", target_pointer_width = "32"))]
|
||||
#[link_args = "/INCLUDE:__tls_used"]
|
||||
extern {}
|
||||
|
||||
#[allow(warnings)]
|
||||
unsafe extern "system" fn on_tls_callback(h: LPVOID,
|
||||
|
@ -1,3 +1,11 @@
|
||||
S 2015-07-17 d4432b3
|
||||
linux-i386 93f6216a35d3bed3cedf244c9aff4cd716336bd9
|
||||
linux-x86_64 d8f4967fc71a153c925faecf95a7feadf7e463a4
|
||||
macos-i386 29852c4d4b5a851f16d627856a279cae5bf9bd01
|
||||
macos-x86_64 1a20259899321062a0325edb1d22990f05d18708
|
||||
winnt-i386 df50210f41db9a6f2968be5773b8e3bae32bb823
|
||||
winnt-x86_64 d7774b724988485652781a804bdf8e05d28ead48
|
||||
|
||||
S 2015-05-24 ba0e1cd
|
||||
bitrig-x86_64 2a710e16e3e3ef3760df1f724d66b3af34c1ef3f
|
||||
freebsd-x86_64 370db40613f5c08563ed7e38357826dd42d4e0f8
|
||||
|
Loading…
x
Reference in New Issue
Block a user