blob: 808b9e3c1ae3dba4cc37aef912981a3713a1f60a [file] [log] [blame]
// RUN: %target-swiftc_driver %s -target %sanitizers-target-triple -g -sanitize=thread -o %t_tsan-binary
// RUN: %target-codesign %t_tsan-binary
// RUN: %target-run %t_tsan-binary 2>&1 | %FileCheck %s
// REQUIRES: executable_test
// REQUIRES: tsan_runtime
// UNSUPPORTED: OS=tvos
// FIXME: This should be covered by "tsan_runtime"; older versions of Apple OSs
// don't support TSan.
// UNSUPPORTED: remote_run
import Foundation
let sem = DispatchSemaphore(value: 0)
class T1: Thread {
override func main() {
var oneEmptyArray: [[String:String]] = []
oneEmptyArray.append(contentsOf: [])
sem.signal()
}
}
let t1 = T1()
t1.start()
class T2: Thread {
override func main() {
var aCompletelyUnrelatedOtherEmptyArray: [[Double:Double]] = []
aCompletelyUnrelatedOtherEmptyArray.append(contentsOf: [])
sem.signal()
}
}
let t2 = T2()
t2.start()
sem.wait()
sem.wait()
print("Done!")
// CHECK: Done!