about summary refs log tree commit diff
path: root/src/libstd/sys/windows/mod.rs
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2020-05-17 19:37:44 +0200
committerRalf Jung <post@ralfj.de>2020-05-17 23:38:31 +0200
commit2764673dca6badb2ef89450bbdd84b19c317a9c7 (patch)
treee087fbebad94323e2d5a506a9def5c59faccc904 /src/libstd/sys/windows/mod.rs
parent34cce58d81f006a5406fcae918db4492e6cf2784 (diff)
downloadrust-2764673dca6badb2ef89450bbdd84b19c317a9c7.tar.gz
rust-2764673dca6badb2ef89450bbdd84b19c317a9c7.zip
abort_internal is safe
Diffstat (limited to 'src/libstd/sys/windows/mod.rs')
-rw-r--r--src/libstd/sys/windows/mod.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libstd/sys/windows/mod.rs b/src/libstd/sys/windows/mod.rs
index d745e87a072..4098c6b3ee9 100644
--- a/src/libstd/sys/windows/mod.rs
+++ b/src/libstd/sys/windows/mod.rs
@@ -308,11 +308,14 @@ pub fn dur2timeout(dur: Duration) -> c::DWORD {
 //
 // https://docs.microsoft.com/en-us/cpp/intrinsics/fastfail
 #[allow(unreachable_code)]
-pub unsafe fn abort_internal() -> ! {
+pub fn abort_internal() -> ! {
     #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
-    {
+    unsafe {
         llvm_asm!("int $$0x29" :: "{ecx}"(7) ::: volatile); // 7 is FAST_FAIL_FATAL_APP_EXIT
         crate::intrinsics::unreachable();
     }
-    crate::intrinsics::abort();
+    #[cfg_attr(not(bootstrap), allow(unused_unsafe))] // remove `unsafe` on bootstrap bump
+    unsafe {
+        crate::intrinsics::abort();
+    }
 }