diff --git a/patches/0001-Disable-stdsimd.patch b/patches/0001-Disable-stdsimd.patch index bdd3615d6..fa713271f 100644 --- a/patches/0001-Disable-stdsimd.patch +++ b/patches/0001-Disable-stdsimd.patch @@ -1,35 +1,44 @@ -From fd6acae580c2be9e8ba9c32b013df4e9547d936f Mon Sep 17 00:00:00 2001 +From 8bce7b9601aec46ee7704027dc173257d3e43492 Mon Sep 17 00:00:00 2001 From: bjorn3 -Date: Mon, 12 Nov 2018 19:08:45 +0100 +Date: Fri, 14 Dec 2018 13:09:42 +0100 Subject: [PATCH] Disable stdsimd --- src/libcore/lib.rs | 2 ++ - src/libstd/lib.rs | 2 ++ - 2 files changed, 4 insertions(+) + src/libstd/lib.rs | 4 +++- + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs -index c69d444..1b7abad 100644 +index a51674f..313c173 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs -@@ -228,6 +228,7 @@ mod nonzero; - mod tuple; - mod unit; - +@@ -248,6 +248,7 @@ macro_rules! test_v256 { ($item:item) => {}; } + macro_rules! test_v512 { ($item:item) => {}; } + #[allow(unused_macros)] + macro_rules! vector_impl { ($([$f:ident, $($args:tt)*]),*) => { $($f!($($args)*);)* } } +/* - // Pull in the `coresimd` crate directly into libcore. This is where all the - // architecture-specific (and vendor-specific) intrinsics are defined. AKA - // things like SIMD and such. Note that the actual source for all this lies in a -@@ -256,3 +257,4 @@ mod coresimd; + #[path = "../stdsimd/coresimd/mod.rs"] + #[allow(missing_docs, missing_debug_implementations, dead_code, unused_imports)] + #[unstable(feature = "stdsimd", issue = "48556")] +@@ -255,3 +256,4 @@ mod coresimd; + #[stable(feature = "simd_arch", since = "1.27.0")] - #[cfg(not(stage0))] pub use coresimd::arch; +*/ diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs -index f460d10..6110b05 100644 +index 90c8eaf..95541c3 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs -@@ -493,6 +493,7 @@ mod memchr; +@@ -287,7 +287,7 @@ + #![feature(rustc_attrs)] + #![feature(rustc_const_unstable)] + #![feature(std_internals)] +-#![feature(stdsimd)] ++//#![feature(stdsimd)] + #![feature(shrink_to)] + #![feature(slice_concat_ext)] + #![feature(slice_internals)] +@@ -503,6 +503,7 @@ mod memchr; // compiler pub mod rt; @@ -37,9 +46,9 @@ index f460d10..6110b05 100644 // Pull in the `stdsimd` crate directly into libstd. This is the same as // libcore's arch/simd modules where the source of truth here is in a different // repository, but we pull things in here manually to get it into libstd. -@@ -517,6 +518,7 @@ mod coresimd { +@@ -526,6 +527,7 @@ mod coresimd { #[stable(feature = "simd_arch", since = "1.27.0")] - #[cfg(all(not(stage0), not(test)))] + #[cfg(not(test))] pub use stdsimd::arch; +*/ diff --git a/patches/0002-Disable-u128-and-i128-in-libcore.patch b/patches/0002-Disable-u128-and-i128-in-libcore.patch index a8f2005a6..cd90c6ef1 100644 --- a/patches/0002-Disable-u128-and-i128-in-libcore.patch +++ b/patches/0002-Disable-u128-and-i128-in-libcore.patch @@ -1,31 +1,31 @@ -From 7a466d258ff8c795fa52274e0627a39becb3bdf3 Mon Sep 17 00:00:00 2001 +From a759066c5c2c63d945b23f1e9d35d0dd0489faf1 Mon Sep 17 00:00:00 2001 From: bjorn3 -Date: Tue, 13 Nov 2018 18:11:23 +0100 +Date: Sat, 15 Dec 2018 11:28:12 +0100 Subject: [PATCH] Disable u128 and i128 in libcore --- src/libcore/clone.rs | 4 +- - src/libcore/cmp.rs | 6 +-- + src/libcore/cmp.rs | 6 +- src/libcore/default.rs | 2 - - src/libcore/fmt/num.rs | 6 +-- - src/libcore/hash/mod.rs | 20 ------- + src/libcore/fmt/num.rs | 6 +- + src/libcore/hash/mod.rs | 20 ------ src/libcore/iter/range.rs | 1 - src/libcore/iter/traits.rs | 2 +- src/libcore/lib.rs | 2 - src/libcore/marker.rs | 4 +- src/libcore/mem.rs | 2 - - src/libcore/num/mod.rs | 99 +++++++++------------------------- - src/libcore/num/wrapping.rs | 14 ++--- - src/libcore/ops/arith.rs | 22 ++++---- - src/libcore/ops/bit.rs | 30 ++++------- - src/libcore/sync/atomic.rs | 28 ---------- - src/libcore/tests/iter.rs | 15 ------ - src/libcore/tests/num/mod.rs | 18 ------- - src/libcore/time.rs | 126 ------------------------------------------- + src/libcore/num/mod.rs | 99 ++++++++------------------- + src/libcore/num/wrapping.rs | 14 ++-- + src/libcore/ops/arith.rs | 22 +++--- + src/libcore/ops/bit.rs | 30 +++------ + src/libcore/sync/atomic.rs | 28 -------- + src/libcore/tests/iter.rs | 15 ----- + src/libcore/tests/num/mod.rs | 18 ----- + src/libcore/time.rs | 126 ----------------------------------- 18 files changed, 62 insertions(+), 339 deletions(-) diff --git a/src/libcore/clone.rs b/src/libcore/clone.rs -index 46bb580..fcf9fa8 100644 +index 225ea3d..a7f2637 100644 --- a/src/libcore/clone.rs +++ b/src/libcore/clone.rs @@ -172,8 +172,8 @@ mod impls { @@ -130,7 +130,7 @@ index 51391fa..140255e 100644 impl_Display!(isize, usize: to_u16); #[cfg(target_pointer_width = "32")] diff --git a/src/libcore/hash/mod.rs b/src/libcore/hash/mod.rs -index bbebadd..d6de656 100644 +index 3e59ee1..3f8d682 100644 --- a/src/libcore/hash/mod.rs +++ b/src/libcore/hash/mod.rs @@ -306,12 +306,6 @@ pub trait Hasher { @@ -189,7 +189,7 @@ index bbebadd..d6de656 100644 #[stable(feature = "rust1", since = "1.0.0")] diff --git a/src/libcore/iter/range.rs b/src/libcore/iter/range.rs -index 55addd8..6695cfe 100644 +index f0fd07b..72a3ec9 100644 --- a/src/libcore/iter/range.rs +++ b/src/libcore/iter/range.rs @@ -183,7 +183,6 @@ step_impl_signed!([i64: u64]); @@ -201,7 +201,7 @@ index 55addd8..6695cfe 100644 macro_rules! range_exact_iter_impl { ($($t:ty)*) => ($( diff --git a/src/libcore/iter/traits.rs b/src/libcore/iter/traits.rs -index f95f8e7..549d832 100644 +index 45e5b61..64a3038 100644 --- a/src/libcore/iter/traits.rs +++ b/src/libcore/iter/traits.rs @@ -843,7 +843,7 @@ macro_rules! float_sum_product { @@ -214,10 +214,10 @@ index f95f8e7..549d832 100644 /// An iterator adapter that produces output as long as the underlying diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs -index 1fec2e5..04266ee 100644 +index 313c173..4315135 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs -@@ -152,14 +152,12 @@ mod uint_macros; +@@ -154,14 +154,12 @@ mod uint_macros; #[path = "num/i16.rs"] pub mod i16; #[path = "num/i32.rs"] pub mod i32; #[path = "num/i64.rs"] pub mod i64; @@ -233,10 +233,10 @@ index 1fec2e5..04266ee 100644 #[path = "num/f32.rs"] pub mod f32; #[path = "num/f64.rs"] pub mod f64; diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs -index 662a8dd..856878e 100644 +index d3d1612..f827f64 100644 --- a/src/libcore/marker.rs +++ b/src/libcore/marker.rs -@@ -673,8 +673,8 @@ mod copy_impls { +@@ -674,8 +674,8 @@ mod copy_impls { } impl_copy! { @@ -248,10 +248,10 @@ index 662a8dd..856878e 100644 bool char } diff --git a/src/libcore/mem.rs b/src/libcore/mem.rs -index d4b7094..3b5a197 100644 +index afd9fcb..ad3362c 100644 --- a/src/libcore/mem.rs +++ b/src/libcore/mem.rs -@@ -162,12 +162,10 @@ pub fn forget(t: T) { +@@ -173,12 +173,10 @@ pub fn forget_unsized(t: T) { /// u16 | 2 /// u32 | 4 /// u64 | 8 @@ -265,7 +265,7 @@ index d4b7094..3b5a197 100644 /// f64 | 8 /// char | 4 diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs -index 30b7b45..88a294a 100644 +index 4acf3a1..b5b3f54 100644 --- a/src/libcore/num/mod.rs +++ b/src/libcore/num/mod.rs @@ -112,7 +112,6 @@ nonzero_integers! { @@ -276,7 +276,7 @@ index 30b7b45..88a294a 100644 NonZeroUsize(usize); } -@@ -2087,18 +2086,6 @@ impl i64 { +@@ -2114,18 +2113,6 @@ impl i64 { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" } } @@ -295,7 +295,7 @@ index 30b7b45..88a294a 100644 #[cfg(target_pointer_width = "16")] #[lang = "isize"] impl isize { -@@ -4349,17 +4336,6 @@ impl u64 { +@@ -4394,17 +4381,6 @@ impl u64 { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" } } @@ -313,7 +313,7 @@ index 30b7b45..88a294a 100644 #[cfg(target_pointer_width = "16")] #[lang = "usize"] impl usize { -@@ -4443,7 +4419,7 @@ macro_rules! from_str_radix_int_impl { +@@ -4488,7 +4464,7 @@ macro_rules! from_str_radix_int_impl { } )*} } @@ -322,7 +322,7 @@ index 30b7b45..88a294a 100644 /// The error type returned when a checked integral type conversion fails. #[unstable(feature = "try_from", issue = "33417")] -@@ -4559,30 +4535,25 @@ macro_rules! rev { +@@ -4604,30 +4580,25 @@ macro_rules! rev { try_from_upper_bounded!(u16, u8); try_from_upper_bounded!(u32, u16, u8); try_from_upper_bounded!(u64, u32, u16, u8); @@ -357,7 +357,7 @@ index 30b7b45..88a294a 100644 // usize/isize try_from_upper_bounded!(usize, isize); -@@ -4594,21 +4565,21 @@ mod ptr_try_from_impls { +@@ -4639,21 +4610,21 @@ mod ptr_try_from_impls { use convert::TryFrom; try_from_upper_bounded!(usize, u8); @@ -387,7 +387,7 @@ index 30b7b45..88a294a 100644 } #[cfg(target_pointer_width = "32")] -@@ -4617,24 +4588,24 @@ mod ptr_try_from_impls { +@@ -4662,24 +4633,24 @@ mod ptr_try_from_impls { use convert::TryFrom; try_from_upper_bounded!(usize, u8, u16); @@ -420,7 +420,7 @@ index 30b7b45..88a294a 100644 } #[cfg(target_pointer_width = "64")] -@@ -4643,24 +4614,20 @@ mod ptr_try_from_impls { +@@ -4688,24 +4659,20 @@ mod ptr_try_from_impls { use convert::TryFrom; try_from_upper_bounded!(usize, u8, u16, u32); @@ -449,7 +449,7 @@ index 30b7b45..88a294a 100644 } #[doc(hidden)] -@@ -4695,7 +4662,7 @@ macro_rules! doit { +@@ -4740,7 +4707,7 @@ macro_rules! doit { } })*) } @@ -458,7 +458,7 @@ index 30b7b45..88a294a 100644 fn from_str_radix(src: &str, radix: u32) -> Result { use self::IntErrorKind::*; -@@ -4863,52 +4830,38 @@ impl_from_bool! { u8, #[stable(feature = "from_bool", since = "1.28.0")] } +@@ -4931,52 +4898,38 @@ impl_from_bool! { u8, #[stable(feature = "from_bool", since = "1.28.0")] } impl_from_bool! { u16, #[stable(feature = "from_bool", since = "1.28.0")] } impl_from_bool! { u32, #[stable(feature = "from_bool", since = "1.28.0")] } impl_from_bool! { u64, #[stable(feature = "from_bool", since = "1.28.0")] } @@ -512,7 +512,7 @@ index 30b7b45..88a294a 100644 // The C99 standard defines bounds on INTPTR_MIN, INTPTR_MAX, and UINTPTR_MAX // which imply that pointer-sized integers must be at least 16 bits: diff --git a/src/libcore/num/wrapping.rs b/src/libcore/num/wrapping.rs -index 00134a5..ea15481 100644 +index 94dd657..fba1319 100644 --- a/src/libcore/num/wrapping.rs +++ b/src/libcore/num/wrapping.rs @@ -112,19 +112,17 @@ macro_rules! sh_impl_all { @@ -835,14 +835,14 @@ index 3900f36..66b7980 100644 -shr_assign_impl_all! { u8 u16 u32 u64 u128 usize i8 i16 i32 i64 i128 isize } +shr_assign_impl_all! { u8 u16 u32 u64 usize i8 i16 i32 i64 isize } diff --git a/src/libcore/sync/atomic.rs b/src/libcore/sync/atomic.rs -index 56d3b42..34df75f 100644 +index 060983a..ade04a5 100644 --- a/src/libcore/sync/atomic.rs +++ b/src/libcore/sync/atomic.rs -@@ -1938,34 +1938,6 @@ atomic_int! { +@@ -1940,34 +1940,6 @@ atomic_int! { 8, u64 AtomicU64 ATOMIC_U64_INIT } --#[cfg(all(not(stage0), target_has_atomic = "128"))] +-#[cfg(target_has_atomic = "128")] -atomic_int! { - unstable(feature = "integer_atomics", issue = "32976"), - unstable(feature = "integer_atomics", issue = "32976"), @@ -856,7 +856,7 @@ index 56d3b42..34df75f 100644 - 16, - i128 AtomicI128 ATOMIC_I128_INIT -} --#[cfg(all(not(stage0), target_has_atomic = "128"))] +-#[cfg(target_has_atomic = "128")] -atomic_int! { - unstable(feature = "integer_atomics", issue = "32976"), - unstable(feature = "integer_atomics", issue = "32976"), @@ -874,7 +874,7 @@ index 56d3b42..34df75f 100644 macro_rules! ptr_width { () => { 2 } diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs -index 2476c07..2075670 100644 +index 4efa013..717bcdc 100644 --- a/src/libcore/tests/iter.rs +++ b/src/libcore/tests/iter.rs @@ -224,8 +224,6 @@ fn test_iterator_step_by_nth_overflow() { @@ -886,10 +886,11 @@ index 2476c07..2075670 100644 #[derive(Clone)] struct Test(Bigger); -@@ -1878,19 +1876,6 @@ fn test_step_replace_signed() { +@@ -1914,19 +1912,6 @@ fn test_step_replace_signed() { + assert_eq!(y, 5); } - #[test] +-#[test] -fn test_step_replace_no_between() { - let mut x = 4u128; - let y = x.replace_zero(); @@ -902,15 +903,14 @@ index 2476c07..2075670 100644 - assert_eq!(y, 5); -} - --#[test] + #[test] fn test_rev_try_folds() { let f = &|acc, x| i32::checked_add(2*acc, x); - assert_eq!((1..10).rev().try_fold(7, f), (1..10).try_rfold(7, f)); diff --git a/src/libcore/tests/num/mod.rs b/src/libcore/tests/num/mod.rs -index ab96d31..bb5c1d0 100644 +index 0928f75..34a5296 100644 --- a/src/libcore/tests/num/mod.rs +++ b/src/libcore/tests/num/mod.rs -@@ -196,12 +196,10 @@ test_impl_from! { test_boolu8, bool, u8 } +@@ -188,12 +188,10 @@ test_impl_from! { test_boolu8, bool, u8 } test_impl_from! { test_boolu16, bool, u16 } test_impl_from! { test_boolu32, bool, u32 } test_impl_from! { test_boolu64, bool, u64 } @@ -923,7 +923,7 @@ index ab96d31..bb5c1d0 100644 // Signed -> Float test_impl_from! { test_i8f32, i8, f32 } -@@ -283,51 +281,35 @@ test_impl_try_from_always_ok! { test_try_u8u8, u8, u8 } +@@ -275,51 +273,35 @@ test_impl_try_from_always_ok! { test_try_u8u8, u8, u8 } test_impl_try_from_always_ok! { test_try_u8u16, u8, u16 } test_impl_try_from_always_ok! { test_try_u8u32, u8, u32 } test_impl_try_from_always_ok! { test_try_u8u64, u8, u64 } @@ -976,7 +976,7 @@ index ab96d31..bb5c1d0 100644 test_impl_try_from_always_ok! { test_try_usizeusize, usize, usize } test_impl_try_from_always_ok! { test_try_isizeisize, isize, isize } diff --git a/src/libcore/time.rs b/src/libcore/time.rs -index 938e975..2ba930d 100644 +index 475bb72..a8a9d42 100644 --- a/src/libcore/time.rs +++ b/src/libcore/time.rs @@ -30,7 +30,6 @@ const NANOS_PER_MILLI: u32 = 1_000_000; @@ -1127,5 +1127,5 @@ index 938e975..2ba930d 100644 /// /// # Examples -- -2.11.0 +2.17.2 (Apple Git-113) diff --git a/patches/0007-Fix-libstd-building.patch b/patches/0007-Fix-libstd-building.patch index bbbbaab9f..ca566deba 100644 --- a/patches/0007-Fix-libstd-building.patch +++ b/patches/0007-Fix-libstd-building.patch @@ -1,6 +1,6 @@ -From d8bb60cc115960702f73f83866cde65dcdcf1cb4 Mon Sep 17 00:00:00 2001 +From a99af7473c8b334ed6febe97294813298b6a3633 Mon Sep 17 00:00:00 2001 From: bjorn3 -Date: Sat, 17 Nov 2018 11:08:10 +0100 +Date: Sat, 15 Dec 2018 14:32:15 +0100 Subject: [PATCH] Fix libstd building --- @@ -12,10 +12,17 @@ Subject: [PATCH] Fix libstd building 5 files changed, 1 insertion(+), 49 deletions(-) diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs -index 6110b05..8b0c897 100644 +index f3965f3..13e17b1 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs -@@ -255,7 +255,6 @@ +@@ -249,14 +249,12 @@ + #![feature(cfg_target_thread_local)] + #![feature(cfg_target_vendor)] + #![feature(char_error_internals)] +-#![feature(compiler_builtins_lib)] + #![feature(const_int_ops)] + #![feature(const_ip)] + #![feature(const_raw_ptr_deref)] #![feature(const_cstr_unchecked)] #![feature(core_intrinsics)] #![feature(dropck_eyepatch)] @@ -23,15 +30,7 @@ index 6110b05..8b0c897 100644 #![feature(exact_size_is_empty)] #![feature(external_doc)] #![feature(fixed_size_array)] -@@ -286,7 +285,6 @@ - #![feature(rustc_attrs)] - #![feature(rustc_const_unstable)] - #![feature(std_internals)] --#![cfg_attr(not(stage0), feature(stdsimd))] - #![feature(shrink_to)] - #![feature(slice_concat_ext)] - #![feature(slice_internals)] -@@ -402,8 +400,6 @@ pub use core::i16; +@@ -409,8 +407,6 @@ pub use core::i16; pub use core::i32; #[stable(feature = "rust1", since = "1.0.0")] pub use core::i64; @@ -40,7 +39,7 @@ index 6110b05..8b0c897 100644 #[stable(feature = "rust1", since = "1.0.0")] pub use core::usize; #[stable(feature = "rust1", since = "1.0.0")] -@@ -436,8 +432,6 @@ pub use alloc_crate::string; +@@ -443,8 +439,6 @@ pub use alloc_crate::string; pub use alloc_crate::vec; #[stable(feature = "rust1", since = "1.0.0")] pub use core::char; @@ -94,14 +93,14 @@ index 3f90c1f..85aab83 100644 #[cfg(test)] use fmt; #[cfg(test)] use ops::{Add, Sub, Mul, Div, Rem}; diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs -index 4bc18a5..5c87035 100644 +index 3eacc7a..b518448 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -264,9 +264,6 @@ impl RefUnwindSafe for atomic::AtomicI32 {} #[cfg(target_has_atomic = "64")] #[unstable(feature = "integer_atomics", issue = "32976")] impl RefUnwindSafe for atomic::AtomicI64 {} --#[cfg(all(not(stage0), target_has_atomic = "128"))] +-#[cfg(target_has_atomic = "128")] -#[unstable(feature = "integer_atomics", issue = "32976")] -impl RefUnwindSafe for atomic::AtomicI128 {} @@ -111,17 +110,17 @@ index 4bc18a5..5c87035 100644 #[cfg(target_has_atomic = "64")] #[unstable(feature = "integer_atomics", issue = "32976")] impl RefUnwindSafe for atomic::AtomicU64 {} --#[cfg(all(not(stage0), target_has_atomic = "128"))] +-#[cfg(target_has_atomic = "128")] -#[unstable(feature = "integer_atomics", issue = "32976")] -impl RefUnwindSafe for atomic::AtomicU128 {} #[cfg(target_has_atomic = "8")] #[stable(feature = "unwind_safe_atomic_refs", since = "1.14.0")] diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs -index c2a1612..99824c5 100644 +index 7c1654f..cc96271 100644 --- a/src/libstd/primitive_docs.rs +++ b/src/libstd/primitive_docs.rs -@@ -809,14 +809,6 @@ mod prim_i32 { } +@@ -808,14 +808,6 @@ mod prim_i32 { } #[stable(feature = "rust1", since = "1.0.0")] mod prim_i64 { } @@ -136,7 +135,7 @@ index c2a1612..99824c5 100644 #[doc(primitive = "u8")] // /// The 8-bit unsigned integer type. -@@ -849,14 +841,6 @@ mod prim_u32 { } +@@ -848,14 +840,6 @@ mod prim_u32 { } #[stable(feature = "rust1", since = "1.0.0")] mod prim_u64 { }