1 // RUN: %libomptarget-compilexx-run-and-check-generic
2 
3 #include <stdio.h>
4 
sum(int * input,int size,int * output)5 void sum(int* input, int size, int* output)
6 {
7 #pragma omp target teams distribute parallel for reduction(+:output[0]) \
8                                                  map(to:input[0:size])
9   for (int i = 0; i < size; i++)
10     output[0] += input[i];
11 }
main()12 int main()
13 {
14   const int size = 100;
15   int *array = new int[size];
16   int result = 0;
17   for (int i = 0; i < size; i++)
18     array[i] = i + 1;
19   sum(array, size, &result);
20   // CHECK: Result=5050
21   printf("Result=%d\n", result);
22   delete[] array;
23   return 0;
24 }
25 
26