aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/pr104783-2.c
blob: 8750d915d01e642d8a43687168ffdc93235d962e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define N (32 * 32)

#define TYPE float
#define VAR v
#define INIT 0.0
#define UPDATE + 1.0
#define EXPECTED N

int
main (void)
{
  TYPE VAR = INIT;
  #pragma omp target map(tofrom: VAR)
  #pragma omp parallel for simd
  for (int i = 0 ; i < N; i++)
    {
      #pragma omp atomic update
      VAR = VAR UPDATE;
    }

  if (VAR != EXPECTED)
    __builtin_abort ();

  return 0;
}