// RUN: %libomptarget-compilexx-run-and-check-generic #include 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; }