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