summaryrefslogtreecommitdiffstats
path: root/openmp/libomptarget/deviceRTLs/nvptx/test/parallel/tripcount.c
blob: b3f876856408005227775592838dccb8d4cd1312 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// RUN: %compile-run-and-check

#include <omp.h>
#include <stdio.h>

int main() {
  int res = 0;

#pragma omp parallel num_threads(2) reduction(+:res)
  {
    int tid = omp_get_thread_num();
#pragma omp target teams distribute reduction(+:res)
    for (int i = tid; i < 2; i++)
      ++res;
  }
  // The first thread makes 2 iterations, the second - 1. Expected result of the
  // reduction res is 3.

  // CHECK: res = 3.
  printf("res = %d.\n", res);
  return 0;
}
OpenPOWER on IntegriCloud