From ec84ab0e0f5ceda69f69078923fc04482c1dda9b Mon Sep 17 00:00:00 2001 From: Eduard Burtescu Date: Sun, 20 Mar 2016 22:37:35 +0200 Subject: [PATCH] Update snapshots to 2016-03-18 (235d774). --- src/libcore/Cargo.toml | 1 + src/libcore/build.rs | 14 ++++++++++++++ src/libcore/intrinsics.rs | 37 ++++++++++++++----------------------- src/libcore/lib.rs | 1 + src/libcore/num/mod.rs | 6 +++--- src/libcore/ops.rs | 4 ---- src/libcore/slice.rs | 6 ++---- src/libcore/str/mod.rs | 6 ++---- src/libcore/sync/atomic.rs | 17 ++--------------- src/nightlies.txt | 2 +- src/snapshots.txt | 8 ++++++++ 11 files changed, 48 insertions(+), 54 deletions(-) create mode 100644 src/libcore/build.rs diff --git a/src/libcore/Cargo.toml b/src/libcore/Cargo.toml index 24455a1d841bd..98f941f0057a3 100644 --- a/src/libcore/Cargo.toml +++ b/src/libcore/Cargo.toml @@ -2,6 +2,7 @@ authors = ["The Rust Project Developers"] name = "core" version = "0.0.0" +build = "build.rs" [lib] name = "core" diff --git a/src/libcore/build.rs b/src/libcore/build.rs new file mode 100644 index 0000000000000..a991ac0de1af1 --- /dev/null +++ b/src/libcore/build.rs @@ -0,0 +1,14 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn main() { + // Remove this whenever snapshots and rustbuild nightlies are synced. + println!("cargo:rustc-cfg=cargobuild"); +} diff --git a/src/libcore/intrinsics.rs b/src/libcore/intrinsics.rs index ccd1ffa8497a7..03bcf9caeea0c 100644 --- a/src/libcore/intrinsics.rs +++ b/src/libcore/intrinsics.rs @@ -53,53 +53,44 @@ extern "rust-intrinsic" { // NB: These intrinsics take raw pointers because they mutate aliased // memory, which is not valid for either `&` or `&mut`. - #[cfg(stage0)] + #[cfg(all(stage0, not(cargobuild)))] pub fn atomic_cxchg(dst: *mut T, old: T, src: T) -> T; - #[cfg(stage0)] + #[cfg(all(stage0, not(cargobuild)))] pub fn atomic_cxchg_acq(dst: *mut T, old: T, src: T) -> T; - #[cfg(stage0)] + #[cfg(all(stage0, not(cargobuild)))] pub fn atomic_cxchg_rel(dst: *mut T, old: T, src: T) -> T; - #[cfg(stage0)] + #[cfg(all(stage0, not(cargobuild)))] pub fn atomic_cxchg_acqrel(dst: *mut T, old: T, src: T) -> T; - #[cfg(stage0)] + #[cfg(all(stage0, not(cargobuild)))] pub fn atomic_cxchg_relaxed(dst: *mut T, old: T, src: T) -> T; - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_acq(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_rel(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_acqrel(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_relaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_failrelaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_failacq(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_acq_failrelaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] + #[cfg(any(not(stage0), cargobuild))] pub fn atomic_cxchg_acqrel_failrelaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_acq(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_rel(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_acqrel(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_relaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_failrelaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_failacq(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_acq_failrelaxed(dst: *mut T, old: T, src: T) -> (T, bool); - #[cfg(not(stage0))] pub fn atomic_cxchgweak_acqrel_failrelaxed(dst: *mut T, old: T, src: T) -> (T, bool); pub fn atomic_load(src: *const T) -> T; diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index 13d3f42ba1896..1d5bb4d55b3fa 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -64,6 +64,7 @@ #![feature(const_fn)] #![feature(custom_attribute)] #![feature(fundamental)] +#![feature(inclusive_range_syntax)] #![feature(intrinsics)] #![feature(lang_items)] #![feature(no_core)] diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs index e6f83498ab1e2..229a864d712c5 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -1008,7 +1008,7 @@ macro_rules! int_impl { /// ``` #[stable(feature = "rust1", since = "1.0.0")] #[inline] - #[cfg_attr(not(stage0), rustc_no_mir)] // FIXME #29769 MIR overflow checking is TBD. + #[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD. pub fn pow(self, mut exp: u32) -> Self { let mut base = self; let mut acc = Self::one(); @@ -1050,7 +1050,7 @@ macro_rules! int_impl { /// ``` #[stable(feature = "rust1", since = "1.0.0")] #[inline] - #[cfg_attr(not(stage0), rustc_no_mir)] // FIXME #29769 MIR overflow checking is TBD. + #[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD. pub fn abs(self) -> Self { if self.is_negative() { // Note that the #[inline] above means that the overflow @@ -2015,7 +2015,7 @@ macro_rules! uint_impl { /// ``` #[stable(feature = "rust1", since = "1.0.0")] #[inline] - #[cfg_attr(not(stage0), rustc_no_mir)] // FIXME #29769 MIR overflow checking is TBD. + #[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD. pub fn pow(self, mut exp: u32) -> Self { let mut base = self; let mut acc = Self::one(); diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs index 5d6accc4438c9..2847c762b3e1c 100644 --- a/src/libcore/ops.rs +++ b/src/libcore/ops.rs @@ -1448,7 +1448,6 @@ pub trait IndexMut: Index { /// An unbounded range. #[derive(Copy, Clone, PartialEq, Eq)] -#[cfg_attr(stage0, lang = "range_full")] // FIXME remove attribute after next snapshot #[stable(feature = "rust1", since = "1.0.0")] pub struct RangeFull; @@ -1461,7 +1460,6 @@ impl fmt::Debug for RangeFull { /// A (half-open) range which is bounded at both ends. #[derive(Clone, PartialEq, Eq)] -#[cfg_attr(stage0, lang = "range")] // FIXME remove attribute after next snapshot #[stable(feature = "rust1", since = "1.0.0")] pub struct Range { /// The lower bound of the range (inclusive). @@ -1481,7 +1479,6 @@ impl fmt::Debug for Range { /// A range which is only bounded below. #[derive(Clone, PartialEq, Eq)] -#[cfg_attr(stage0, lang = "range_from")] // FIXME remove attribute after next snapshot #[stable(feature = "rust1", since = "1.0.0")] pub struct RangeFrom { /// The lower bound of the range (inclusive). @@ -1498,7 +1495,6 @@ impl fmt::Debug for RangeFrom { /// A range which is only bounded above. #[derive(Copy, Clone, PartialEq, Eq)] -#[cfg_attr(stage0, lang = "range_to")] // FIXME remove attribute after next snapshot #[stable(feature = "rust1", since = "1.0.0")] pub struct RangeTo { /// The upper bound of the range (exclusive). diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs index 6e0e972fa0c83..ca9a618793aa4 100644 --- a/src/libcore/slice.rs +++ b/src/libcore/slice.rs @@ -632,8 +632,7 @@ impl ops::Index> for [T] { #[inline] fn index(&self, index: ops::RangeToInclusive) -> &[T] { - // SNAP 4d3eebf change this to `0...index.end` - self.index(ops::RangeInclusive::NonEmpty { start: 0, end: index.end }) + self.index(0...index.end) } } @@ -723,8 +722,7 @@ impl ops::IndexMut> for [T] { impl ops::IndexMut> for [T] { #[inline] fn index_mut(&mut self, index: ops::RangeToInclusive) -> &mut [T] { - // SNAP 4d3eebf change this to `0...index.end` - self.index_mut(ops::RangeInclusive::NonEmpty { start: 0, end: index.end }) + self.index_mut(0...index.end) } } diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs index f9d1902bea7a7..4ea85c6b6acd6 100644 --- a/src/libcore/str/mod.rs +++ b/src/libcore/str/mod.rs @@ -1524,8 +1524,7 @@ mod traits { #[inline] fn index(&self, index: ops::RangeToInclusive) -> &str { - // SNAP 4d3eebf change this to `0...index.end` - self.index(ops::RangeInclusive::NonEmpty { start: 0, end: index.end }) + self.index(0...index.end) } } @@ -1550,8 +1549,7 @@ mod traits { impl ops::IndexMut> for str { #[inline] fn index_mut(&mut self, index: ops::RangeToInclusive) -> &mut str { - // SNAP 4d3eebf change this to `0...index.end` - self.index_mut(ops::RangeInclusive::NonEmpty { start: 0, end: index.end }) + self.index_mut(0...index.end) } } } diff --git a/src/libcore/sync/atomic.rs b/src/libcore/sync/atomic.rs index 40555481fc0d8..2055ca7adf382 100644 --- a/src/libcore/sync/atomic.rs +++ b/src/libcore/sync/atomic.rs @@ -1380,7 +1380,7 @@ unsafe fn atomic_sub(dst: *mut T, val: T, order: Ordering) -> T { } #[inline] -#[cfg(not(stage0))] +#[cfg(any(not(stage0), cargobuild))] unsafe fn atomic_compare_exchange(dst: *mut T, old: T, new: T, @@ -1408,7 +1408,7 @@ unsafe fn atomic_compare_exchange(dst: *mut T, } #[inline] -#[cfg(stage0)] +#[cfg(all(stage0, not(cargobuild)))] unsafe fn atomic_compare_exchange(dst: *mut T, old: T, new: T, @@ -1431,7 +1431,6 @@ unsafe fn atomic_compare_exchange(dst: *mut T, } #[inline] -#[cfg(not(stage0))] unsafe fn atomic_compare_exchange_weak(dst: *mut T, old: T, new: T, @@ -1458,18 +1457,6 @@ unsafe fn atomic_compare_exchange_weak(dst: *mut T, } } -#[inline] -#[cfg(stage0)] -unsafe fn atomic_compare_exchange_weak(dst: *mut T, - old: T, - new: T, - success: Ordering, - failure: Ordering) -> Result - where T: ::cmp::Eq + ::marker::Copy -{ - atomic_compare_exchange(dst, old, new, success, failure) -} - #[inline] unsafe fn atomic_and(dst: *mut T, val: T, order: Ordering) -> T { match order { diff --git a/src/nightlies.txt b/src/nightlies.txt index 778380d935c8d..c7799aa6178c6 100644 --- a/src/nightlies.txt +++ b/src/nightlies.txt @@ -1,2 +1,2 @@ -rustc: 2016-02-17 +rustc: 2016-03-20 cargo: 2016-03-11 diff --git a/src/snapshots.txt b/src/snapshots.txt index 44316b89abf15..2706f6e1b67c5 100644 --- a/src/snapshots.txt +++ b/src/snapshots.txt @@ -1,3 +1,11 @@ +S 2016-03-18 235d774 + linux-i386 0e0e4448b80d0a12b75485795244bb3857a0a7ef + linux-x86_64 1273b6b6aed421c9e40c59f366d0df6092ec0397 + macos-i386 9f9c0b4a2db09acbce54b792fb8839a735585565 + macos-x86_64 52570f6fd915b0210a9be98cfc933148e16a75f8 + winnt-i386 7703869608cc4192b8f1943e51b19ba1a03c0110 + winnt-x86_64 8512b5ecc0c53a2cd3552e4f5688577de95cd978 + S 2016-02-17 4d3eebf linux-i386 5f194aa7628c0703f0fd48adc4ec7f3cc64b98c7 linux-x86_64 d29b7607d13d64078b6324aec82926fb493f59ba