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
9 foo1 (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
19 bar1 (void)
20 {
21 int i;
22 #pragma omp for schedule (static)
23 for (i = 0; i < 2834; i++)
24 baz ();
25 }
26
27 void
28 foo2 (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
38 bar2 (void)
39 {
40 int i;
41 #pragma omp parallel for schedule (static)
42 for (i = 0; i < 2834; i++)
43 baz ();
44 }