diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-05-24 12:03:05 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-05-24 12:03:05 -0700 |
| commit | f67453729c19b435686c94936d8145051e7f1284 (patch) | |
| tree | 029525400c5744b7251bfaa55b8f04a6449bd5ee /src/test/codegen | |
| parent | a76bff86e6f4b56b2c3fd1704ce8535ed207dd78 (diff) | |
| download | rust-f67453729c19b435686c94936d8145051e7f1284.tar.gz rust-f67453729c19b435686c94936d8145051e7f1284.zip | |
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/test/codegen')
| -rw-r--r-- | src/test/codegen/vec-iter-collect-len.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/codegen/vec-iter-collect-len.rs b/src/test/codegen/vec-iter-collect-len.rs new file mode 100644 index 00000000000..efb384d0afb --- /dev/null +++ b/src/test/codegen/vec-iter-collect-len.rs @@ -0,0 +1,21 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// no-system-llvm +// compile-flags: -O +#![crate_type="lib"] + +#[no_mangle] +pub fn get_len() -> usize { + // CHECK-LABEL: @get_len + // CHECK-NOT: call + // CHECK-NOT: invoke + [1, 2, 3].iter().collect::<Vec<_>>().len() +} |
