// RUN: %libomptarget-compilexx-run-and-check-generic | |
#include <stdio.h> | |
void sum(int *input, int size, int *output) { | |
#pragma omp target teams distribute parallel for reduction(+ : output[0]) \ | |
map(to : input[0 : size]) | |
for (int i = 0; i < size; i++) | |
output[0] += input[i]; | |
} | |
int main() { | |
const int size = 100; | |
int *array = new int[size]; | |
int result = 0; | |
for (int i = 0; i < size; i++) | |
array[i] = i + 1; | |
sum(array, size, &result); | |
// CHECK: Result=5050 | |
printf("Result=%d\n", result); | |
delete[] array; | |
return 0; | |
} |