blob: 3d2ea150b5fbc814b35ccba7ea02876573c8fe8b [file] [log] [blame]
Stephen Hines2d1fdb22014-05-28 23:58:16 -07001// RUN: %clangxx_tsan %s -o %t
2// RUN: %run %t 2>&1 | FileCheck %s
3
Pirama Arumuga Nainar799172d2016-03-03 15:50:30 -08004// bench.h needs pthread barriers which are not available on OS X
5// UNSUPPORTED: darwin
6
Stephen Hines2d1fdb22014-05-28 23:58:16 -07007#include "bench.h"
8
9int x;
10
11void thread(int tid) {
12 if (tid == 0) {
13 for (int i = 0; i < bench_niter; i++)
14 __atomic_store_n(&x, 0, __ATOMIC_RELEASE);
15 } else {
16 for (int i = 0; i < bench_niter; i++)
17 __atomic_load_n(&x, __ATOMIC_ACQUIRE);
18 }
19}
20
21void bench() {
22 start_thread_group(bench_nthread, thread);
23}
24
25// CHECK: DONE
26