diff options
| author | Anthony Ramine <n.oxyde@gmail.com> | 2018-04-28 20:35:26 +0200 |
|---|---|---|
| committer | Anthony Ramine <n.oxyde@gmail.com> | 2018-04-28 21:10:01 +0200 |
| commit | 69ec4aa97c23cfc316ec340d1afcaaeb4877e8ef (patch) | |
| tree | e9f0c29f017b5a4baabf8a7a3ad3a9afa29c52c6 /src/test/codegen | |
| parent | ff65726ebf1d7d732e24175a41381e53f39ee892 (diff) | |
| download | rust-69ec4aa97c23cfc316ec340d1afcaaeb4877e8ef.tar.gz rust-69ec4aa97c23cfc316ec340d1afcaaeb4877e8ef.zip | |
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 |
