LLVM OpenMP
20.0.0git
tools
archer
tests
races
parallel-simple.c
Go to the documentation of this file.
1
/*
2
* parallel-simple.c -- Archer testcase
3
*/
4
//===----------------------------------------------------------------------===//
5
//
6
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
7
//
8
// See tools/archer/LICENSE.txt for details.
9
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
10
//
11
//===----------------------------------------------------------------------===//
12
13
// RUN: %libarcher-compile-and-run-race | FileCheck %s
14
// RUN: %libarcher-compile-and-run-race-noserial | FileCheck %s
15
// REQUIRES: tsan
16
#include <omp.h>
17
#include <stdio.h>
18
19
int
main
(
int
argc,
char
*argv[]) {
20
int
var = 0;
21
22
#pragma omp parallel num_threads(8) shared(var)
23
{ var++; }
24
25
int
error = (var != 2);
26
fprintf(stderr,
"DONE\n"
);
27
return
error;
28
}
29
30
// CHECK: WARNING: ThreadSanitizer: data race
31
// CHECK-NEXT: {{(Write|Read)}} of size 4
32
// CHECK-NEXT: #0 {{.*}}parallel-simple.c:23
33
// CHECK: Previous write of size 4
34
// CHECK-NEXT: #0 {{.*}}parallel-simple.c:23
35
// CHECK: DONE
36
// CHECK: ThreadSanitizer: reported {{[1-7]}} warnings
main
int main()
Definition:
test-touch.c:21
Generated on Wed Feb 5 2025 10:57:22 for LLVM OpenMP by
1.9.6