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 6extern void baz () __attribute__ ((noreturn)); 7 8void 9foo1 () 10{ 11 int i; 12#pragma omp for schedule (static, 16) 13 for (i = 0; i < 2834; i++) 14 for (;;) 15 ; 16} 17 18void 19bar1 () 20{ 21 int i; 22#pragma omp for schedule (static, 16) 23 for (i = 0; i < 2834; i++) 24 baz (); 25} 26 27void 28foo2 () 29{ 30 int i; 31#pragma omp parallel for schedule (static, 16) 32 for (i = 0; i < 2834; i++) 33 for (;;) 34 ; 35} 36 37void 38bar2 () 39{ 40 int i; 41#pragma omp parallel for schedule (static, 16) 42 for (i = 0; i < 2834; i++) 43 baz (); 44} 45