1 /* { dg-additional-options "-fdump-tree-original -save-temps" } */
6 for (int trial = 0; trial < TRIALS && fail == 0; trial++) { \
7 _Pragma("omp target teams num_teams(1) thread_limit(1024)") \
21 for (i
= 0; i
< N
; i
++)
24 int max_threads
= 224;
26 #define PARALLEL(X) TEST({ \
27 _Pragma("omp parallel if(threads[0] > 1) num_threads(threads[0])") \
29 _Pragma("omp for ordered") \
31 _Pragma("omp for schedule(auto) ordered") \
36 for (int t
= 0; t
<= max_threads
; t
+= max_threads
) {
37 int threads
[1]; threads
[0] = t
;
40 for (int i
= 0; i
< N
; i
++) { \
41 _Pragma("omp ordered") \
42 S
[0] += C
[i
] + D
[i
]; \
48 /* On expansion, the _Pragma were wrongly placed, ensure the order is now correct: */
49 /* { dg-final { scan-tree-dump "#pragma omp target.*#pragma omp teams num_teams\\(1\\) thread_limit\\(1024\\).*#pragma omp parallel num_threads\\(threads\\\[0\\\]\\) if\\(threads\\\[0\\\] > 1\\).*#pragma omp for ordered.*#pragma omp ordered.*#pragma omp for ordered schedule\\(auto\\).*#pragma omp ordered" "original" } } */