about summary refs log tree commit diff
path: root/library/std/src/sys/personality/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/src/sys/personality/mod.rs')
-rw-r--r--library/std/src/sys/personality/mod.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/library/std/src/sys/personality/mod.rs b/library/std/src/sys/personality/mod.rs
index 2e1d2e53a29..158e44e1764 100644
--- a/library/std/src/sys/personality/mod.rs
+++ b/library/std/src/sys/personality/mod.rs
@@ -13,10 +13,11 @@
 mod dwarf;
 
 #[cfg(not(any(test, doctest)))]
-cfg_if::cfg_if! {
-    if #[cfg(target_os = "emscripten")] {
+cfg_select! {
+    target_os = "emscripten" => {
         mod emcc;
-    } else if #[cfg(any(target_env = "msvc", target_family = "wasm"))] {
+    }
+    any(target_env = "msvc", target_family = "wasm") => {
         // This is required by the compiler to exist (e.g., it's a lang item),
         // but it's never actually called by the compiler because
         // __CxxFrameHandler3 (msvc) / __gxx_wasm_personality_v0 (wasm) is the
@@ -26,16 +27,18 @@ cfg_if::cfg_if! {
         fn rust_eh_personality() {
             core::intrinsics::abort()
         }
-    } else if #[cfg(any(
+    }
+    any(
         all(target_family = "windows", target_env = "gnu"),
         target_os = "psp",
         target_os = "xous",
         target_os = "solid_asp3",
         all(target_family = "unix", not(target_os = "espidf"), not(target_os = "l4re"), not(target_os = "nuttx")),
         all(target_vendor = "fortanix", target_env = "sgx"),
-    ))] {
+    ) => {
         mod gcc;
-    } else {
+    }
+    _ => {
         // Targets that don't support unwinding.
         // - os=none ("bare metal" targets)
         // - os=uefi