Auto merge of #27172 - alexcrichton:snapshots, r=brson

Enables bootstrapping a 32-bit MSVC host compiler!

Closes #26602
This commit is contained in:
bors 2015-07-22 00:29:08 +00:00
commit d33cab1b1f
6 changed files with 12 additions and 32 deletions

View File

@ -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() {}

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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,

View File

@ -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