blob: 329aa43ddf3c09d2e289487c55b239fa83d82a6c [file] [log] [blame]
Jennifer Yuc274b192021-08-16 07:18:34 -07001// RUN: %libomptarget-compilexx-run-and-check-generic
2
Jennifer Yuc274b192021-08-16 07:18:34 -07003#include <stdio.h>
4
Joseph Huber586fc592022-10-19 08:26:35 -05005void sum(int *input, int size, int *output) {
6#pragma omp target teams distribute parallel for reduction(+ : output[0]) \
7 map(to : input[0 : size])
Jennifer Yuc274b192021-08-16 07:18:34 -07008 for (int i = 0; i < size; i++)
9 output[0] += input[i];
10}
Joseph Huber586fc592022-10-19 08:26:35 -050011int main() {
Jennifer Yuc274b192021-08-16 07:18:34 -070012 const int size = 100;
13 int *array = new int[size];
14 int result = 0;
15 for (int i = 0; i < size; i++)
16 array[i] = i + 1;
17 sum(array, size, &result);
18 // CHECK: Result=5050
19 printf("Result=%d\n", result);
20 delete[] array;
21 return 0;
22}