blob: d5ffa11b26d56a6ba07c93dba15d127f40d17a5e [file] [edit]
// RUN: %libomp-compile-and-run
// All platforms should support at least 32 microtask arguments.
// On some platforms that is the limit. See too-many-microtask-args.c
#include <stdio.h>
int main() {
int i;
int i1 = 0;
int i2 = 1;
int i3 = 2;
int i4 = 3;
int i5 = 4;
int i6 = 6;
int i7 = 7;
int i8 = 8;
int i9 = 9;
int i10 = 10;
int i11 = 11;
int i12 = 12;
int i13 = 13;
int i14 = 14;
int i15 = 15;
int i16 = 16;
int i17 = 17;
int i18 = 18;
int i19 = 19;
int i20 = 20;
int i21 = 21;
int i22 = 22;
int i23 = 23;
int i24 = 24;
int i25 = 25;
int i26 = 26;
int i27 = 27;
int i28 = 28;
int i29 = 29;
int i30 = 30;
int i31 = 31;
int r = 0;
#pragma omp parallel for firstprivate( \
i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, \
i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, \
i30, i31) reduction(+ : r)
for (i = 0; i < i16; i++) {
r += i + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 + i11 + i12 +
i13 + i14 + i15 + i16 + i17 + i18 + i19 + i20 + i21 + i22 + i23 + i24 +
i25 + i26 + i27 + i28 + i29 + i30 + i31;
}
int rf = 7976;
if (r != rf) {
fprintf(stderr, "r should be %d but instead equals %d\n", rf, r);
return 1;
}
return 0;
}