1 /* { dg-do compile } */
3 /* Check that __extension__ introduces intervening code. */
5 extern void do_something (void);
7 void imperfect1 (int x
, int y
)
9 #pragma omp for collapse (2)
10 for (int i
= 0; i
< x
; i
++) /* { dg-error "not enough nested loops" } */
13 for (int j
= 0; j
< y
; j
++) /* { dg-error "loop not permitted in intervening code" } */
19 void perfect1 (int x
, int y
)
21 #pragma omp for ordered (2)
22 for (int i
= 0; i
< x
; i
++) /* { dg-error "not enough nested loops" } */
23 /* { dg-error "inner loops must be perfectly nested" "" { target *-*-*} .-1 } */
26 for (int j
= 0; j
< y
; j
++) /* { dg-error "loop not permitted in intervening code" } */
32 /* Check that we don't barf on __extension__ in the inner loop body. */
33 void imperfect2 (int x
, int y
)
35 #pragma omp for collapse (2)
36 for (int i
= 0; i
< x
; i
++)
37 for (int j
= 0; j
< y
; j
++)
45 void perfect2 (int x
, int y
)
47 #pragma omp for ordered (2)
48 for (int i
= 0; i
< x
; i
++)
49 for (int j
= 0; j
< y
; j
++)