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#pragma omp single 12 for (;;); 13} 14 15void 16bar1 () 17{ 18#pragma omp single 19 baz (); 20} 21 22void 23foo2 () 24{ 25#pragma omp master 26 for (;;); 27} 28 29void 30bar2 () 31{ 32#pragma omp master 33 baz (); 34} 35 36void 37foo3 () 38{ 39#pragma omp ordered 40 for (;;); 41} 42 43void 44bar3 () 45{ 46#pragma omp ordered 47 baz (); 48} 49 50void 51foo4 () 52{ 53#pragma omp critical 54 for (;;); 55} 56 57void 58bar4 () 59{ 60#pragma omp critical 61 baz (); 62} 63