about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-05-26 09:59:43 +0000
committerbors <bors@rust-lang.org>2018-05-26 09:59:43 +0000
commitb4247d45a555ccdf567e5b70f929d35198841951 (patch)
treea78b6e853a3606889ee348fd43d65b685d593f28 /src/liballoc
parent444a9c3f1afad7585e7a65a05dbea8025a67b675 (diff)
parentf67453729c19b435686c94936d8145051e7f1284 (diff)
downloadrust-b4247d45a555ccdf567e5b70f929d35198841951.tar.gz
rust-b4247d45a555ccdf567e5b70f929d35198841951.zip
Auto merge of #51041 - alexcrichton:better-unwind, r=nikomatsakis
std: Ensure OOM is classified as `nounwind`

OOM can't unwind today, and historically it's been optimized as if it can't
unwind. This accidentally regressed with recent changes to the OOM handler, so
this commit adds in a codegen test to assert that everything gets optimized away
after the OOM function is approrpiately classified as nounwind

Closes #50925
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/alloc.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/liballoc/alloc.rs b/src/liballoc/alloc.rs
index 79607b06f94..4ae8fc649dd 100644
--- a/src/liballoc/alloc.rs
+++ b/src/liballoc/alloc.rs
@@ -133,6 +133,7 @@ pub(crate) unsafe fn box_free<T: ?Sized>(ptr: Unique<T>) {
     }
 }
 
+#[rustc_allocator_nounwind]
 pub fn oom() -> ! {
     extern {
         #[lang = "oom"]