// 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; | |
} | |