mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
38 lines
1.5 KiB
Swift
38 lines
1.5 KiB
Swift
// RUN: %target-swift-frontend -emit-silgen -parse-stdlib -primary-file %s | %FileCheck %s -check-prefix=RAW
|
|
// RUN: %target-swift-frontend -emit-sil -assert-config Debug -parse-stdlib -primary-file %s | %FileCheck -check-prefix=DEBUG %s
|
|
// RUN: %target-swift-frontend -emit-sil -O -assert-config Debug -parse-stdlib -primary-file %s | %FileCheck -check-prefix=DEBUG %s
|
|
// RUN: %target-swift-frontend -emit-sil -assert-config Release -parse-stdlib -primary-file %s | %FileCheck -check-prefix=RELEASE %s
|
|
// RUN: %target-swift-frontend -emit-sil -O -assert-config Release -parse-stdlib -primary-file %s | %FileCheck -check-prefix=RELEASE %s
|
|
|
|
import Swift
|
|
|
|
@_silgen_name("foo") func foo()
|
|
|
|
func condUnreachable() {
|
|
if Int32(Builtin.assert_configuration()) == 0 {
|
|
foo()
|
|
} else {
|
|
Builtin.conditionallyUnreachable()
|
|
}
|
|
}
|
|
|
|
// RAW-LABEL: sil hidden @_T025conditionally_unreachable15condUnreachableyyF
|
|
// RAW: cond_br {{%.*}}, [[YEA:bb[0-9]+]], [[NAY:bb[0-9]+]]
|
|
// RAW: [[YEA]]:
|
|
// RAW: function_ref @foo
|
|
// RAW: [[NAY]]:
|
|
// RAW: builtin "conditionallyUnreachable"
|
|
|
|
// DEBUG-LABEL: sil hidden @_T025conditionally_unreachable15condUnreachableyyF
|
|
// DEBUG-NOT: cond_br
|
|
// DEBUG: function_ref @foo
|
|
// DEBUG-NOT: {{ unreachable}}
|
|
// DEBUG: return
|
|
|
|
// RELEASE-LABEL: sil hidden @_T025conditionally_unreachable15condUnreachableyyF
|
|
// RELEASE-NOT: cond_br
|
|
// RELEASE-NOT: function_ref @foo
|
|
// RELEASE-NOT: return
|
|
// RELEASE-NOT: builtin
|
|
// RELEASE: {{ unreachable}}
|