1 /* PR middle-end/29965 */ 2 /* Test that OpenMP construct bodies which never return don't cause ICEs. */ 3 /* { dg-do compile } */ 4 /* { dg-options "-O2 -fopenmp" } */ 5 6 extern void baz (void) __attribute__ ((noreturn)); 7 8 void foo1(void)9foo1 (void) 10 { 11 int i; 12 #pragma omp for schedule (static) 13 for (i = 0; i < 2834; i++) 14 for (;;) 15 ; 16 } 17 18 void bar1(void)19bar1 (void) 20 { 21 int i; 22 #pragma omp for schedule (static) 23 for (i = 0; i < 2834; i++) 24 baz (); 25 } 26 27 void foo2(void)28foo2 (void) 29 { 30 int i; 31 #pragma omp parallel for schedule (static) 32 for (i = 0; i < 2834; i++) 33 for (;;) 34 ; 35 } 36 37 void bar2(void)38bar2 (void) 39 { 40 int i; 41 #pragma omp parallel for schedule (static) 42 for (i = 0; i < 2834; i++) 43 baz (); 44 } 45