aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/target-43.c
blob: 028e9120f2a3ee27a84b91904ab1fff68b5f647e (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
26
/* { dg-do run } */
/* { dg-additional-options "-foffload-options=nvptx-none=-latomic" { target { offload_target_nvptx } } } */

#include <stdlib.h>

#define N 32
#define TYPE char

int
main (void)
{
  TYPE result = 1;
  TYPE a[N];
  for (int x = 0; x < N; ++x)
    a[x] = 1;

#pragma omp target map(tofrom: result) map(to:a)
#pragma omp for simd reduction(&&:result)
  for (int x = 0; x < N; ++x)
    result = result && a[x];

  if (result != 1)
    abort ();

  return 0;
}