Files
swift-mirror/test/embedded/traps-fatalerror-ir.swift
Max Desiatov 03f7ebc890 test/CMakeLists.txt: run Embedded Swift for Wasm tests
Run new `check-swift-embedded-wasi` target from `test/CMakeLists.txt`, tweak `lit.cfg` to support both `-wasi` and `-wasip1` triples, exclude unsupported tests based on `CPU=wasm32` instead of `OS=wasi`.
2025-07-23 10:10:47 +01:00

52 lines
2.5 KiB
Swift

// RUN: %target-swift-emit-ir -enable-experimental-feature Embedded -wmo %s | %FileCheck %s --check-prefix=CHECK-MESSAGE
// RUN: %target-swift-emit-ir -enable-experimental-feature Embedded -wmo %s -O | %FileCheck %s --check-prefix=CHECK-NOMESSAGE
// RUN: %target-swift-emit-ir -enable-experimental-feature Embedded -wmo %s -Osize | %FileCheck %s --check-prefix=CHECK-NOMESSAGE
// RUN: %target-swift-emit-ir -enable-experimental-feature Embedded -wmo %s -O -assert-config Debug | %FileCheck %s --check-prefix=CHECK-MESSAGE
// RUN: %target-swift-emit-ir -enable-experimental-feature Embedded -wmo %s -Osize -assert-config Debug | %FileCheck %s --check-prefix=CHECK-MESSAGE
// XFAIL: CPU=wasm32
// REQUIRES: swift_in_compiler
// REQUIRES: optimized_stdlib
// REQUIRES: swift_stdlib_no_asserts
// REQUIRES: swift_feature_Embedded
public func test() {
fatalError("task failed successfully")
}
// CHECK-MESSAGE: define {{.*}}void @"$e4main4testyyF"(){{.*}} {
// CHECK-MESSAGE: entry:
// CHECK-MESSAGE: {{.*}}call {{.*}}void @"${{(es17_assertionFailure__|es31_embeddedReportFatalErrorInFile)}}
// CHECK-MESSAGE-SAME: Fatal error
// CHECK-MESSAGE-SAME: task failed successfully
// CHECK-MESSAGE-SAME: traps-fatalerror-ir.swift
// CHECK-MESSAGE: unreachable
// CHECK-MESSAGE: }
// CHECK-NOMESSAGE: define {{.*}}void @"$e4main4testyyF"(){{.*}} {
// CHECK-NOMESSAGE-NEXT: entry:
// CHECK-NOMESSAGE-NEXT: tail call void asm sideeffect "", "n"(i32 0)
// CHECK-NOMESSAGE-NEXT: tail call void @llvm.trap()
// CHECK-NOMESSAGE-NEXT: unreachable
// CHECK-NOMESSAGE-NEXT: }
public func testWithInterpolation(i: Int) {
fatalError("task failed successfully \(i)")
}
// CHECK-MESSAGE: define {{.*}}void @"$e4main21testWithInterpolation1iySi_tF"(i64 %0){{.*}} {
// CHECK-MESSAGE: entry:
// CHECK-MESSAGE: task failed successfully
// CHECK-MESSAGE: {{.*}}call {{.*}}void @"${{(es17_assertionFailure__|es31_embeddedReportFatalErrorInFile6prefix7message4file4lineys12StaticStringV_SRys5UInt8VGAGSutF)}}
// CHECK-MESSAGE-SAME: Fatal error
// CHECK-MESSAGE-SAME: traps-fatalerror-ir.swift
// CHECK-MESSAGE: unreachable
// CHECK-MESSAGE: }
// CHECK-NOMESSAGE: define {{.*}}void @"$e4main21testWithInterpolation1iySi_tF"(i64 %0){{.*}} {
// CHECK-NOMESSAGE-NEXT: entry:
// CHECK-NOMESSAGE-NEXT: tail call void asm sideeffect "", "n"(i32 0)
// CHECK-NOMESSAGE-NEXT: tail call void @llvm.trap()
// CHECK-NOMESSAGE-NEXT: unreachable
// CHECK-NOMESSAGE-NEXT: }