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