40 lines · c
1// RUN: %libomp-compile-and-run2#include <stdio.h>3 4int main()5{6 7 int i;8 int i1 = 0;9 int i2 = 1;10 int i3 = 2;11 int i4 = 3;12 int i5 = 4;13 int i6 = 6;14 int i7 = 7;15 int i8 = 8;16 int i9 = 9;17 int i10 = 10;18 int i11 = 11;19 int i12 = 12;20 int i13 = 13;21 int i14 = 14;22 int i15 = 15;23 int i16 = 16;24 25 int r = 0; 26 #pragma omp parallel for firstprivate(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16) reduction(+:r)27 for (i = 0; i < i16; i++) {28 r += i + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 + i11 + i12 + i13 + i14 + i15 + i16;29 }30 31 int rf = 2216;32 if (r != rf) {33 fprintf(stderr, "r should be %d but instead equals %d\n", rf, r);34 return 1;35 }36 37 return 0;38}39 40