blob: 36240950994d88a4ec4566cfb727f43a7a3e5aa0 [file] [log] [blame]
// RUN: %target-swift-frontend -module-name A -emit-ir -primary-file %s -import-objc-header %S/Inputs/noreturn.h | %FileCheck %s
// CHECK-LABEL: define {{.*}} void @"$s1A018testDirectReturnNoC0yyF"()
// CHECK: call i32 @scalarNoReturn()
// CHECK: unreachable
public func testDirectReturnNoReturn() {
scalarNoReturn()
}
// CHECK-LABEL: define {{.*}} void @"$s1A019testDirect2ReturnNoC0yyF"()
// CHECK: call {{.*}}@smallStructNoReturn({{.*}})
// CHECK: unreachable
public func testDirect2ReturnNoReturn() {
smallStructNoReturn()
}
// CHECK-LABEL: define {{.*}} void @"$s1A020testIndirectReturnNoC0yyF"()
// CHECK: [[INDIRECT_RESULT:%.*]] = alloca %struct.Large
// CHECK: call void @largeStructNoReturn(%struct.Large* {{.*}}[[INDIRECT_RESULT]])
// CHECK: unreachable
public func testIndirectReturnNoReturn() {
largeStructNoReturn()
}
// CHECK-LABEL: define {{.*}} void @"$s1A016testVoidReturnNoC0yyF"()
// CHECK: call void @voidNoReturn()
// CHECK: unreachable
public func testVoidReturnNoReturn() {
voidNoReturn()
}