1 /* PR c/43893 */ 2 /* { dg-do run } */ 3 4 extern void abort (void); 5 6 int main()7main () 8 { 9 int c; 10 unsigned int i; 11 int j; 12 c = 0; 13 #pragma omp parallel for reduction(+:c) 14 for (i = 0; i < 1; i++) 15 c++; 16 if (c != 1) 17 abort (); 18 c = 0; 19 #pragma omp parallel for reduction(+:c) 20 for (i = 0; i <= 0; i++) 21 c++; 22 if (c != 1) 23 abort (); 24 c = 0; 25 #pragma omp parallel for reduction(+:c) 26 for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++) 27 c++; 28 if (c != 1) 29 abort (); 30 c = 0; 31 #pragma omp parallel for reduction(+:c) 32 for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++) 33 c++; 34 if (c != 1) 35 abort (); 36 c = 0; 37 #pragma omp parallel for reduction(+:c) 38 for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--) 39 c++; 40 if (c != 1) 41 abort (); 42 c = 0; 43 #pragma omp parallel for reduction(+:c) 44 for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--) 45 c++; 46 if (c != 1) 47 abort (); 48 c = 0; 49 #pragma omp parallel for reduction(+:c) 50 for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--) 51 c++; 52 if (c != 1) 53 abort (); 54 c = 0; 55 #pragma omp parallel for reduction(+:c) 56 for (j = __INT_MAX__; j >= __INT_MAX__; j--) 57 c++; 58 if (c != 1) 59 abort (); 60 return 0; 61 } 62