diff options
| author | bors <bors@rust-lang.org> | 2018-05-01 05:52:12 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-05-01 05:52:12 +0000 |
| commit | 491512ba1ed37a20b514c216c3eddaa732689de9 (patch) | |
| tree | 63f6aef40219c85c917c963a59490e6fe9db2cc0 /src/test/codegen | |
| parent | 2a8ad909304953973a819760071de99f2ce5fb2d (diff) | |
| parent | 69ec4aa97c23cfc316ec340d1afcaaeb4877e8ef (diff) | |
| download | rust-491512ba1ed37a20b514c216c3eddaa732689de9.tar.gz rust-491512ba1ed37a20b514c216c3eddaa732689de9.zip | |
Auto merge of #50304 - nox:uninhabited-output, r=eddyb
Mark functions returning uninhabited types as noreturn
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/noreturnflag.rs | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/test/codegen/noreturnflag.rs b/src/test/codegen/noreturnflag.rs index 24a5a4e44cb..7239223ca20 100644 --- a/src/test/codegen/noreturnflag.rs +++ b/src/test/codegen/noreturnflag.rs @@ -8,17 +8,27 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +// compile-flags: -g -C no-prepopulate-passes // ignore-tidy-linelength // min-llvm-version 4.0 -// compile-flags: -g -C no-prepopulate-passes - -// CHECK: {{.*}}DISubprogram{{.*}}name: "foo"{{.*}}DIFlagNoReturn +#![crate_type = "lib"] -fn foo() -> ! { +#[no_mangle] +pub fn foo() -> ! { +// CHECK: @foo() unnamed_addr #0 loop {} } -pub fn main() { - foo(); +pub enum EmptyEnum {} + +#[no_mangle] +pub fn bar() -> EmptyEnum { +// CHECK: @bar() unnamed_addr #0 + loop {} } + +// CHECK: attributes #0 = {{{.*}} noreturn {{.*}}} + +// CHECK: DISubprogram(name: "foo", {{.*}} DIFlagNoReturn +// CHECK: DISubprogram(name: "bar", {{.*}} DIFlagNoReturn |
