// RUN: %libomp-compile // RUN: env KMP_FORKJOIN_BARRIER=0,0 %libomp-run // RUN: env KMP_PLAIN_BARRIER=0,0 %libomp-run // RUN: env KMP_REDUCTION_BARRIER=0,0 %libomp-run // RUN: env KMP_ALIGN_ALLOC=7 %libomp-run // RUN: env KMP_ALIGN_ALLOC=8 %libomp-run // RUN: env KMP_AFFINITY='explicit,proclist=[0-1222333333333444444]' %libomp-run // RUN: env KMP_AFFINITY=disabled OMP_DISPLAY_AFFINITY=TRUE %libomp-run // // Test that certain environment variable values do not crash the runtime. #include #include int a = 0; int test() { #pragma omp parallel reduction(+ : a) { a += omp_get_thread_num(); } if (a == 0) { // If the test passes, 'a' should not be zero // because we are using reduction on thread numbers. return 0; } return 1; } int main(int argc, char **argv) { int status = EXIT_SUCCESS; if (!test()) { status = EXIT_FAILURE; } return status; }