about summary refs log tree commit diff
path: root/library/std
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-02-05 15:41:40 +0000
committerbors <bors@rust-lang.org>2024-02-05 15:41:40 +0000
commitea37e8091fe87ae0a7e204c034e7d55061e56790 (patch)
treeed3b9abc5f43e1bc92c7ac6e97619a3d3f9a515e /library/std
parent86eaa892c098f79ff76fd24178caffa1eda86be2 (diff)
parentab8b66166775362dbeb25c8f8898f8760baaf123 (diff)
downloadrust-ea37e8091fe87ae0a7e204c034e7d55061e56790.tar.gz
rust-ea37e8091fe87ae0a7e204c034e7d55061e56790.zip
Auto merge of #117372 - Amanieu:stdarch_update, r=Mark-Simulacrum
Update stdarch submodule

Splits up #27731 into multiple tracking issues.

Closes #27731
Diffstat (limited to 'library/std')
-rw-r--r--library/std/src/lib.rs20
-rw-r--r--library/std/tests/run-time-detect.rs16
2 files changed, 24 insertions, 12 deletions
diff --git a/library/std/src/lib.rs b/library/std/src/lib.rs
index ccc7a159231..f98654e4d18 100644
--- a/library/std/src/lib.rs
+++ b/library/std/src/lib.rs
@@ -262,6 +262,7 @@
 )]
 #![cfg_attr(any(windows, target_os = "uefi"), feature(round_char_boundary))]
 #![cfg_attr(target_os = "xous", feature(slice_ptr_len))]
+#![cfg_attr(target_family = "wasm", feature(stdarch_wasm_atomic_wait))]
 //
 // Language features:
 // tidy-alphabetical-start
@@ -364,6 +365,11 @@
 #![feature(panic_unwind)]
 // tidy-alphabetical-end
 //
+// Library features (std_detect):
+// tidy-alphabetical-start
+#![feature(stdarch_internal)]
+// tidy-alphabetical-end
+//
 // Only for re-exporting:
 // tidy-alphabetical-start
 #![feature(assert_matches)]
@@ -379,7 +385,6 @@
 #![feature(get_many_mut)]
 #![feature(lazy_cell)]
 #![feature(log_syntax)]
-#![feature(stdsimd)]
 #![feature(test)]
 #![feature(trace_macros)]
 // tidy-alphabetical-end
@@ -618,13 +623,16 @@ pub mod arch {
 
     #[stable(feature = "simd_aarch64", since = "1.60.0")]
     pub use std_detect::is_aarch64_feature_detected;
+    #[unstable(feature = "stdarch_arm_feature_detection", issue = "111190")]
+    pub use std_detect::is_arm_feature_detected;
+    #[unstable(feature = "is_riscv_feature_detected", issue = "111192")]
+    pub use std_detect::is_riscv_feature_detected;
     #[stable(feature = "simd_x86", since = "1.27.0")]
     pub use std_detect::is_x86_feature_detected;
-    #[unstable(feature = "stdsimd", issue = "48556")]
-    pub use std_detect::{
-        is_arm_feature_detected, is_mips64_feature_detected, is_mips_feature_detected,
-        is_powerpc64_feature_detected, is_powerpc_feature_detected, is_riscv_feature_detected,
-    };
+    #[unstable(feature = "stdarch_mips_feature_detection", issue = "111188")]
+    pub use std_detect::{is_mips64_feature_detected, is_mips_feature_detected};
+    #[unstable(feature = "stdarch_powerpc_feature_detection", issue = "111191")]
+    pub use std_detect::{is_powerpc64_feature_detected, is_powerpc_feature_detected};
 }
 
 // This was stabilized in the crate root so we have to keep it there.
diff --git a/library/std/tests/run-time-detect.rs b/library/std/tests/run-time-detect.rs
index 9ce29a33df6..c9b9c54e3d4 100644
--- a/library/std/tests/run-time-detect.rs
+++ b/library/std/tests/run-time-detect.rs
@@ -1,12 +1,16 @@
 //! These tests just check that the macros are available in std.
 
 #![cfg_attr(
-    any(
-        all(target_arch = "arm", any(target_os = "linux", target_os = "android")),
-        all(target_arch = "powerpc", target_os = "linux"),
-        all(target_arch = "powerpc64", target_os = "linux"),
-    ),
-    feature(stdsimd)
+    all(target_arch = "arm", any(target_os = "linux", target_os = "android")),
+    feature(stdarch_arm_feature_detection)
+)]
+#![cfg_attr(
+    all(target_arch = "powerpc", target_os = "linux"),
+    feature(stdarch_powerpc_feature_detection)
+)]
+#![cfg_attr(
+    all(target_arch = "powerpc64", target_os = "linux"),
+    feature(stdarch_powerpc_feature_detection)
 )]
 
 #[test]