Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions test/Backtracing/BacktraceWithLimit.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
// RUN: %target-codesign %t/BacktraceWithLimit
// RUN: %target-run %t/BacktraceWithLimit | %FileCheck %s

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime
// REQUIRES: executable_test
// REQUIRES: backtracing
// REQUIRES: OS=macosx
Expand Down
2 changes: 2 additions & 0 deletions test/Backtracing/BacktraceWithLimitAndTop.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
// RUN: %target-codesign %t/BacktraceWithLimitAndTop
// RUN: %target-run %t/BacktraceWithLimitAndTop | %FileCheck %s

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime
// REQUIRES: executable_test
// REQUIRES: backtracing
// REQUIRES: OS=macosx
Expand Down
102 changes: 52 additions & 50 deletions test/Backtracing/Crash.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
// RUN: (env SWIFT_BACKTRACE=enable=yes,cache=no %target-run %t/CrashOpt || true) | %FileCheck %s --check-prefix OPTIMIZED
// RUN: (env SWIFT_BACKTRACE=enable=yes,cache=no %target-run %t/CrashOptNoDebug || true) | %FileCheck %s --check-prefix OPTNODEBUG

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime
// REQUIRES: executable_test
// REQUIRES: backtracing
// REQUIRES: OS=macosx
Expand Down Expand Up @@ -50,13 +52,13 @@ struct Crash {

// CHECK: Thread 0 crashed:

// CHECK: 0 0x{{[0-9a-f]+}} level5() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:39:15
// CHECK-NEXT: 1 [ra] 0x{{[0-9a-f]+}} level4() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:33:3
// CHECK-NEXT: 2 [ra] 0x{{[0-9a-f]+}} level3() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:29:3
// CHECK-NEXT: 3 [ra] 0x{{[0-9a-f]+}} level2() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:25:3
// CHECK-NEXT: 4 [ra] 0x{{[0-9a-f]+}} level1() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:21:3
// CHECK-NEXT: 5 [ra] 0x{{[0-9a-f]+}} static Crash.main() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:45:5
// CHECK-NEXT: 6 [ra] [system] 0x{{[0-9a-f]+}} static Crash.$main() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:42:1
// CHECK: 0 0x{{[0-9a-f]+}} level5() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:41:15
// CHECK-NEXT: 1 [ra] 0x{{[0-9a-f]+}} level4() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:35:3
// CHECK-NEXT: 2 [ra] 0x{{[0-9a-f]+}} level3() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:31:3
// CHECK-NEXT: 3 [ra] 0x{{[0-9a-f]+}} level2() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:27:3
// CHECK-NEXT: 4 [ra] 0x{{[0-9a-f]+}} level1() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:23:3
// CHECK-NEXT: 5 [ra] 0x{{[0-9a-f]+}} static Crash.main() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:47:5
// CHECK-NEXT: 6 [ra] [system] 0x{{[0-9a-f]+}} static Crash.$main() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:44:1
// CHECK-NEXT: 7 [ra] [system] 0x{{[0-9a-f]+}} main + {{[0-9]+}} in Crash at {{.*}}/Crash.swift

// CHECK: Registers:
Expand All @@ -69,59 +71,59 @@ struct Crash {

// FRIENDLY: Thread 0 crashed:

// FRIENDLY: 0 level5() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:39:15
// FRIENDLY: 0 level5() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:41:15

// FRIENDLY: 37| print("About to crash")
// FRIENDLY-NEXT: 38| let ptr = UnsafeMutablePointer<Int>(bitPattern: 4)!
// FRIENDLY-NEXT: 39| ptr.pointee = 42
// FRIENDLY: 39| print("About to crash")
// FRIENDLY-NEXT: 40| let ptr = UnsafeMutablePointer<Int>(bitPattern: 4)!
// FRIENDLY-NEXT: 41| ptr.pointee = 42
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 40| }
// FRIENDLY-NEXT: 41|
// FRIENDLY-NEXT: 42| }
// FRIENDLY-NEXT: 43|

// FRIENDLY: 1 level4() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:33:3
// FRIENDLY: 1 level4() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:35:3

// FRIENDLY: 31|
// FRIENDLY-NEXT: 32| func level4() {
// FRIENDLY-NEXT: 33| level5()
// FRIENDLY: 33|
// FRIENDLY-NEXT: 34| func level4() {
// FRIENDLY-NEXT: 35| level5()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 34| }
// FRIENDLY-NEXT: 35|
// FRIENDLY-NEXT: 36| }
// FRIENDLY-NEXT: 37|

// FRIENDLY: 2 level3() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:29:3
// FRIENDLY: 2 level3() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:31:3

// FRIENDLY: 27|
// FRIENDLY-NEXT: 28| func level3() {
// FRIENDLY-NEXT: 29| level4()
// FRIENDLY: 29|
// FRIENDLY-NEXT: 30| func level3() {
// FRIENDLY-NEXT: 31| level4()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 30| }
// FRIENDLY-NEXT: 31|
// FRIENDLY-NEXT: 32| }
// FRIENDLY-NEXT: 33|

// FRIENDLY: 3 level2() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:25:3
// FRIENDLY: 3 level2() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:27:3

// FRIENDLY: 23|
// FRIENDLY-NEXT: 24| func level2() {
// FRIENDLY-NEXT: 25| level3()
// FRIENDLY: 25|
// FRIENDLY-NEXT: 26| func level2() {
// FRIENDLY-NEXT: 27| level3()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 26| }
// FRIENDLY-NEXT: 27|
// FRIENDLY-NEXT: 28| }
// FRIENDLY-NEXT: 29|

// FRIENDLY: 4 level1() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:21:3
// FRIENDLY: 4 level1() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:23:3

// FRIENDLY: 19|
// FRIENDLY-NEXT: 20| func level1() {
// FRIENDLY-NEXT: 21| level2()
// FRIENDLY: 21|
// FRIENDLY-NEXT: 22| func level1() {
// FRIENDLY-NEXT: 23| level2()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 22| }
// FRIENDLY-NEXT: 23|
// FRIENDLY-NEXT: 24| }
// FRIENDLY-NEXT: 25|

// FRIENDLY: 5 static Crash.main() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:45:5
// FRIENDLY: 5 static Crash.main() + {{[0-9]+}} in Crash at {{.*}}/Crash.swift:47:5

// FRIENDLY: 43| struct Crash {
// FRIENDLY-NEXT: 44| static func main() {
// FRIENDLY-NEXT: 45| level1()
// FRIENDLY: 45| struct Crash {
// FRIENDLY-NEXT: 46| static func main() {
// FRIENDLY-NEXT: 47| level1()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 46| }
// FRIENDLY-NEXT: 47| }
// FRIENDLY-NEXT: 48| }
// FRIENDLY-NEXT: 49| }

// NODEBUG: *** Program crashed: Bad pointer dereference at 0x{{0*}}4 ***

Expand All @@ -146,13 +148,13 @@ struct Crash {

// OPTIMIZED: Thread 0 crashed:

// OPTIMIZED: 0 [inlined] 0x{{[0-9a-f]+}} level5() in CrashOpt at {{.*}}/Crash.swift:39:15
// OPTIMIZED-NEXT: 1 [inlined] 0x{{[0-9a-f]+}} level4() in CrashOpt at {{.*}}/Crash.swift:33:3
// OPTIMIZED-NEXT: 2 [inlined] 0x{{[0-9a-f]+}} level3() in CrashOpt at {{.*}}/Crash.swift:29:3
// OPTIMIZED-NEXT: 3 [inlined] 0x{{[0-9a-f]+}} level2() in CrashOpt at {{.*}}/Crash.swift:25:3
// OPTIMIZED-NEXT: 4 [inlined] 0x{{[0-9a-f]+}} level1() in CrashOpt at {{.*}}/Crash.swift:21:3
// OPTIMIZED-NEXT: 5 [inlined] 0x{{[0-9a-f]+}} static Crash.main() in CrashOpt at {{.*}}/Crash.swift:45:5
// OPTIMIZED-NEXT: 6 [inlined] [system] 0x{{[0-9a-f]+}} static Crash.$main() in CrashOpt at {{.*}}/Crash.swift:42:1
// OPTIMIZED: 0 [inlined] 0x{{[0-9a-f]+}} level5() in CrashOpt at {{.*}}/Crash.swift:41:15
// OPTIMIZED-NEXT: 1 [inlined] 0x{{[0-9a-f]+}} level4() in CrashOpt at {{.*}}/Crash.swift:35:3
// OPTIMIZED-NEXT: 2 [inlined] 0x{{[0-9a-f]+}} level3() in CrashOpt at {{.*}}/Crash.swift:31:3
// OPTIMIZED-NEXT: 3 [inlined] 0x{{[0-9a-f]+}} level2() in CrashOpt at {{.*}}/Crash.swift:27:3
// OPTIMIZED-NEXT: 4 [inlined] 0x{{[0-9a-f]+}} level1() in CrashOpt at {{.*}}/Crash.swift:23:3
// OPTIMIZED-NEXT: 5 [inlined] 0x{{[0-9a-f]+}} static Crash.main() in CrashOpt at {{.*}}/Crash.swift:47:5
// OPTIMIZED-NEXT: 6 [inlined] [system] 0x{{[0-9a-f]+}} static Crash.$main() in CrashOpt at {{.*}}/Crash.swift:44:1
// OPTIMIZED-NEXT: 7 [system] 0x{{[0-9a-f]+}} main + {{[0-9]+}} in CrashOpt at {{.*}}/Crash.swift

// OPTIMIZED: Registers:
Expand Down
32 changes: 17 additions & 15 deletions test/Backtracing/CrashWithThunk.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
// RUN: (env SWIFT_BACKTRACE=enable=yes,cache=no %target-run %t/CrashWithThunk || true) | %FileCheck %s
// RUN: (env SWIFT_BACKTRACE=preset=friendly,enable=yes,cache=no %target-run %t/CrashWithThunk || true) | %FileCheck %s --check-prefix FRIENDLY

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime
// REQUIRES: executable_test
// REQUIRES: backtracing
// REQUIRES: OS=macosx
Expand Down Expand Up @@ -31,10 +33,10 @@ struct CrashWithThunk {

// CHECK: Thread 0 crashed:

// CHECK: 0 0x{{[0-9a-f]+}} crash() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:18:15
// CHECK: 0 0x{{[0-9a-f]+}} crash() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:20:15
// CHECK-NEXT: 1 [ra] [thunk] [system] 0x{{[0-9a-f]+}} thunk for @escaping @callee_guaranteed () -> () + {{[0-9]+}} in CrashWithThunk at {{.*}}/Backtracing/<compiler-generated>
// CHECK-NEXT: 2 [ra] 0x{{[0-9a-f]+}} static CrashWithThunk.main() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:26:9
// CHECK-NEXT: 3 [ra] [system] 0x{{[0-9a-f]+}} static CrashWithThunk.$main() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:21:1
// CHECK-NEXT: 2 [ra] 0x{{[0-9a-f]+}} static CrashWithThunk.main() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:28:9
// CHECK-NEXT: 3 [ra] [system] 0x{{[0-9a-f]+}} static CrashWithThunk.$main() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:23:1
// CHECK-NEXT: 4 [ra] [system] 0x{{[0-9a-f]+}} main + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift

// CHECK: Registers:
Expand All @@ -47,20 +49,20 @@ struct CrashWithThunk {

// FRIENDLY: Thread 0 crashed:

// FRIENDLY: 0 crash() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:18:15
// FRIENDLY: 0 crash() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:20:15

// FRIENDLY: 16| print("I'm going to crash here")
// FRIENDLY-NEXT: 17| let ptr = UnsafeMutablePointer<Int>(bitPattern: 4)!
// FRIENDLY-NEXT: 18| ptr.pointee = 42
// FRIENDLY: 18| print("I'm going to crash here")
// FRIENDLY-NEXT: 19| let ptr = UnsafeMutablePointer<Int>(bitPattern: 4)!
// FRIENDLY-NEXT: 20| ptr.pointee = 42
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 19| }
// FRIENDLY-NEXT: 20|
// FRIENDLY-NEXT: 21| }
// FRIENDLY-NEXT: 22|

// FRIENDLY: 1 static CrashWithThunk.main() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:26:9
// FRIENDLY: 1 static CrashWithThunk.main() + {{[0-9]+}} in CrashWithThunk at {{.*}}/CrashWithThunk.swift:28:9

// FRIENDLY: 24| let foo = Foo(value: crash)
// FRIENDLY-NEXT: 25|
// FRIENDLY-NEXT: 26| foo.value()
// FRIENDLY: 26| let foo = Foo(value: crash)
// FRIENDLY-NEXT: 27|
// FRIENDLY-NEXT: 28| foo.value()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 27| }
// FRIENDLY-NEXT: 28| }
// FRIENDLY-NEXT: 29| }
// FRIENDLY-NEXT: 30| }
74 changes: 38 additions & 36 deletions test/Backtracing/Overflow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
// RUN: (env SWIFT_BACKTRACE=enable=yes,cache=no %target-run %t/Overflow || true) | %FileCheck %s
// RUN: (env SWIFT_BACKTRACE=preset=friendly,enable=yes,cache=no %target-run %t/Overflow || true) | %FileCheck %s --check-prefix FRIENDLY

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime
// REQUIRES: executable_test
// REQUIRES: backtracing
// REQUIRES: OS=macosx
Expand Down Expand Up @@ -43,13 +45,13 @@ struct Overflow {
// CHECK: Thread 0 crashed:

// CHECK: 0 [inlined] [system] 0x{{[0-9a-f]+}} Swift runtime failure: arithmetic overflow in Overflow at {{.*}}/<compiler-generated>
// CHECK-NEXT: 1 0x{{[0-9a-f]+}} level5() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:31:5
// CHECK-NEXT: 2 [ra] 0x{{[0-9a-f]+}} level4() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:25:3
// CHECK-NEXT: 3 [ra] 0x{{[0-9a-f]+}} level3() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:21:3
// CHECK-NEXT: 4 [ra] 0x{{[0-9a-f]+}} level2() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:17:3
// CHECK-NEXT: 5 [ra] 0x{{[0-9a-f]+}} level1() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:13:3
// CHECK-NEXT: 6 [ra] 0x{{[0-9a-f]+}} static Overflow.main() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:37:5
// CHECK-NEXT: 7 [ra] [system] 0x{{[0-9a-f]+}} static Overflow.$main() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:34:1
// CHECK-NEXT: 1 0x{{[0-9a-f]+}} level5() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:33:5
// CHECK-NEXT: 2 [ra] 0x{{[0-9a-f]+}} level4() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:27:3
// CHECK-NEXT: 3 [ra] 0x{{[0-9a-f]+}} level3() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:23:3
// CHECK-NEXT: 4 [ra] 0x{{[0-9a-f]+}} level2() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:19:3
// CHECK-NEXT: 5 [ra] 0x{{[0-9a-f]+}} level1() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:15:3
// CHECK-NEXT: 6 [ra] 0x{{[0-9a-f]+}} static Overflow.main() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:39:5
// CHECK-NEXT: 7 [ra] [system] 0x{{[0-9a-f]+}} static Overflow.$main() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:36:1
// CHECK-NEXT: 8 [ra] [system] 0x{{[0-9a-f]+}} main + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift

// CHECK: Registers:
Expand All @@ -62,49 +64,49 @@ struct Overflow {

// FRIENDLY: Thread 0 crashed:

// FRIENDLY: 0 level5() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:31:5
// FRIENDLY: 0 level5() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:33:5

// FRIENDLY: 29| print("About to overflow")
// FRIENDLY-NEXT: 30|
// FRIENDLY-NEXT: 31| x -= 1
// FRIENDLY: 31| print("About to overflow")
// FRIENDLY-NEXT: 32|
// FRIENDLY-NEXT: 33| x -= 1
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 32| }
// FRIENDLY-NEXT: 34| }

// FRIENDLY: 1 level4() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:25:3
// FRIENDLY: 1 level4() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:27:3

// FRIENDLY: 23|
// FRIENDLY-NEXT: 24| func level4() {
// FRIENDLY-NEXT: 25| level5()
// FRIENDLY: 25|
// FRIENDLY-NEXT: 26| func level4() {
// FRIENDLY-NEXT: 27| level5()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 26| }
// FRIENDLY-NEXT: 27|
// FRIENDLY-NEXT: 28| }
// FRIENDLY-NEXT: 29|

// FRIENDLY: 2 level3() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:21:3
// FRIENDLY: 2 level3() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:23:3

// FRIENDLY: 19|
// FRIENDLY-NEXT: 20| func level3() {
// FRIENDLY-NEXT: 21| level4()
// FRIENDLY: 21|
// FRIENDLY-NEXT: 22| func level3() {
// FRIENDLY-NEXT: 23| level4()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 22| }
// FRIENDLY-NEXT: 23|
// FRIENDLY-NEXT: 24| }
// FRIENDLY-NEXT: 25|

// FRIENDLY: 3 level2() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:17:3
// FRIENDLY: 3 level2() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:19:3

// FRIENDLY: 15|
// FRIENDLY-NEXT: 16| func level2() {
// FRIENDLY-NEXT: 17| level3()
// FRIENDLY: 17|
// FRIENDLY-NEXT: 18| func level2() {
// FRIENDLY-NEXT: 19| level3()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 18| }
// FRIENDLY-NEXT: 19|
// FRIENDLY-NEXT: 20| }
// FRIENDLY-NEXT: 21|

// FRIENDLY: 4 level1() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:13:3
// FRIENDLY: 4 level1() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift:15:3

// FRIENDLY: 11|
// FRIENDLY-NEXT: 12| func level1() {
// FRIENDLY-NEXT: 13| level2()
// FRIENDLY: 13|
// FRIENDLY-NEXT: 14| func level1() {
// FRIENDLY-NEXT: 15| level2()
// FRIENDLY-NEXT: | ^
// FRIENDLY-NEXT: 14| }
// FRIENDLY-NEXT: 15|
// FRIENDLY-NEXT: 16| }
// FRIENDLY-NEXT: 17|

// FRIENDLY: 5 static Overflow.main() + {{[0-9]+}} in Overflow at {{.*}}/Overflow.swift

1 change: 1 addition & 0 deletions test/Backtracing/SimpleAsyncBacktrace.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// REQUIRES: backtracing
// REQUIRES: OS=macosx

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime

import _Backtracing
Expand Down
3 changes: 3 additions & 0 deletions test/Backtracing/SimpleBacktrace.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
// REQUIRES: backtracing
// REQUIRES: OS=macosx

// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime

func level1() {
level2()
}
Expand Down
Loading