comparison gcc/testsuite/c-c++-common/gomp/nesting-2.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 void
2 foo (void)
3 {
4 int i;
5 #pragma omp taskloop
6 for (i = 0; i < 64; i++)
7 {
8 int j;
9 #pragma omp for /* { dg-error "region may not be closely nested inside of" } */
10 for (j = 0; j < 10; j++)
11 ;
12 #pragma omp single /* { dg-error "region may not be closely nested inside of" } */
13 ;
14 #pragma omp sections /* { dg-error "region may not be closely nested inside of" } */
15 {
16 #pragma omp section
17 ;
18 }
19 #pragma omp barrier /* { dg-error "region may not be closely nested inside of" } */
20 #pragma omp master /* { dg-error "region may not be closely nested inside of" } */
21 ;
22 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */
23 ;
24 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */
25 ;
26 #pragma omp ordered simd threads /* { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } */
27 ;
28 #pragma omp simd
29 for (j = 0; j < 10; j++)
30 #pragma omp ordered simd
31 ;
32 #pragma omp critical
33 {
34 #pragma omp simd
35 for (j = 0; j < 10; j++)
36 #pragma omp ordered simd
37 ;
38 }
39 }
40 #pragma omp taskloop
41 for (i = 0; i < 64; i++)
42 #pragma omp parallel
43 {
44 int j;
45 #pragma omp for
46 for (j = 0; j < 10; j++)
47 ;
48 #pragma omp single
49 ;
50 #pragma omp sections
51 {
52 #pragma omp section
53 ;
54 }
55 #pragma omp barrier
56 #pragma omp master
57 ;
58 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */
59 ;
60 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */
61 ;
62 #pragma omp simd
63 for (j = 0; j < 10; j++)
64 #pragma omp ordered simd
65 ;
66 #pragma omp critical
67 {
68 #pragma omp simd
69 for (j = 0; j < 10; j++)
70 #pragma omp ordered simd
71 ;
72 }
73 }
74 #pragma omp taskloop
75 for (i = 0; i < 64; i++)
76 #pragma omp target
77 {
78 int j;
79 #pragma omp for
80 for (j = 0; j < 10; j++)
81 ;
82 #pragma omp single
83 ;
84 #pragma omp sections
85 {
86 #pragma omp section
87 ;
88 }
89 #pragma omp barrier
90 #pragma omp master
91 ;
92 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */
93 ;
94 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */
95 ;
96 #pragma omp simd
97 for (j = 0; j < 10; j++)
98 #pragma omp ordered simd
99 ;
100 #pragma omp critical
101 {
102 #pragma omp simd
103 for (j = 0; j < 10; j++)
104 #pragma omp ordered simd
105 ;
106 }
107 }
108 #pragma omp ordered
109 {
110 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */
111 ;
112 }
113 #pragma omp ordered threads
114 {
115 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */
116 ;
117 }
118 #pragma omp ordered
119 {
120 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */
121 ;
122 }
123 #pragma omp ordered threads
124 {
125 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */
126 ;
127 }
128 #pragma omp critical
129 {
130 #pragma omp ordered simd /* { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } */
131 ;
132 }
133 #pragma omp for ordered
134 for (i = 0; i < 64; i++)
135 #pragma omp parallel
136 {
137 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */
138 ;
139 }
140 #pragma omp for ordered
141 for (i = 0; i < 64; i++)
142 #pragma omp parallel
143 {
144 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */
145 ;
146 }
147 #pragma omp for ordered(1)
148 for (i = 0; i < 64; i++)
149 #pragma omp parallel
150 {
151 #pragma omp ordered depend(source) /* { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } */
152 #pragma omp ordered depend(sink: i - 1) /* { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } */
153 }
154 }