Auto merge of #27172 - alexcrichton:snapshots, r=brson
Enables bootstrapping a 32-bit MSVC host compiler! Closes #26602
This commit is contained in:
@@ -135,20 +135,3 @@ pub fn oom() -> ! {
|
|||||||
// allocate.
|
// allocate.
|
||||||
unsafe { core::intrinsics::abort() }
|
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::*;
|
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))]
|
#[cfg(not(test))]
|
||||||
mod std {
|
mod std {
|
||||||
pub use core::ops; // RangeFull
|
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")]
|
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
||||||
impl ops::IndexMut<ops::Range<usize>> for String {
|
impl ops::IndexMut<ops::Range<usize>> for String {
|
||||||
#[inline]
|
#[inline]
|
||||||
@@ -987,7 +986,6 @@ impl ops::IndexMut<ops::Range<usize>> for String {
|
|||||||
&mut self[..][index]
|
&mut self[..][index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[cfg(not(stage0))]
|
|
||||||
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
||||||
impl ops::IndexMut<ops::RangeTo<usize>> for String {
|
impl ops::IndexMut<ops::RangeTo<usize>> for String {
|
||||||
#[inline]
|
#[inline]
|
||||||
@@ -995,7 +993,6 @@ impl ops::IndexMut<ops::RangeTo<usize>> for String {
|
|||||||
&mut self[..][index]
|
&mut self[..][index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[cfg(not(stage0))]
|
|
||||||
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
|
||||||
impl ops::IndexMut<ops::RangeFrom<usize>> for String {
|
impl ops::IndexMut<ops::RangeFrom<usize>> for String {
|
||||||
#[inline]
|
#[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
|
#[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) =
|
LPVOID) =
|
||||||
on_tls_callback;
|
on_tls_callback;
|
||||||
|
|
||||||
#[cfg(target_env = "msvc")]
|
#[cfg(all(target_env = "msvc", target_pointer_width = "64"))]
|
||||||
#[link_args = "/INCLUDE:_tls_used"]
|
#[link_args = "/INCLUDE:_tls_used"]
|
||||||
extern {}
|
extern {}
|
||||||
|
#[cfg(all(target_env = "msvc", target_pointer_width = "32"))]
|
||||||
|
#[link_args = "/INCLUDE:__tls_used"]
|
||||||
|
extern {}
|
||||||
|
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
unsafe extern "system" fn on_tls_callback(h: LPVOID,
|
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
|
S 2015-05-24 ba0e1cd
|
||||||
bitrig-x86_64 2a710e16e3e3ef3760df1f724d66b3af34c1ef3f
|
bitrig-x86_64 2a710e16e3e3ef3760df1f724d66b3af34c1ef3f
|
||||||
freebsd-x86_64 370db40613f5c08563ed7e38357826dd42d4e0f8
|
freebsd-x86_64 370db40613f5c08563ed7e38357826dd42d4e0f8
|
||||||
|
|||||||
Reference in New Issue
Block a user