| void foo (void); |
| int v; |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| int omp_get_thread_num (void); |
| int omp_get_num_threads (void); |
| int omp_target_is_present (const void *, int); |
| int omp_get_cancellation (void); |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| void |
| f1 (int *a) |
| { |
| int i; |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp parallel /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp simd |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp critical /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered simd /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| v++; |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic read /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| a[i] = v; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic write /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| v = a[i]; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_thread_num (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_thread_num\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_num_threads (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_threads\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_target_is_present (a + i, 0); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_target_is_present\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_cancellation (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_cancellation\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| } |
| |
| void |
| f2 (int *a) |
| { |
| int i; |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp parallel /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp simd |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp critical /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered simd /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| v++; |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic read /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| a[i] = v; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic write /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| v = a[i]; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_thread_num (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_thread_num\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_num_threads (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_threads\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_target_is_present (a + i, 0); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_target_is_present\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for simd order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_cancellation (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_cancellation\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| } |
| |
| void |
| f3 (int *a) |
| { |
| int i; |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp parallel |
| foo (); |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp simd |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp critical /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered simd /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| v++; |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic read /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| a[i] = v; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic write /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| v = a[i]; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp task /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| a[i]++; |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp taskloop /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_thread_num (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_thread_num\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_num_threads (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_threads\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_target_is_present (a + i, 0); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_target_is_present\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for order(reproducible:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_cancellation (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_cancellation\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| } |
| |
| void |
| f4 (int *a) |
| { |
| int i; |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp parallel /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp simd |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp critical /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered simd /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| v++; |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic read /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| a[i] = v; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic write /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| v = a[i]; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_thread_num (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_thread_num\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_num_threads (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_threads\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_target_is_present (a + i, 0); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_target_is_present\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_cancellation (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_cancellation\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| } |
| |
| void |
| f5 (int *a) |
| { |
| int i; |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp parallel /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp simd |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp critical /* { dg-error "OpenMP constructs other than 'ordered simd', 'simd', 'loop' or 'atomic' may not be nested inside 'simd' region" } */ |
| foo (); |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered simd /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| v++; |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic read /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| a[i] = v; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic write /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| v = a[i]; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_thread_num (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_thread_num\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_num_threads (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_threads\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_target_is_present (a + i, 0); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_target_is_present\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for simd order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_cancellation (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_cancellation\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| } |
| |
| void |
| f6 (int *a) |
| { |
| int i; |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp parallel |
| foo (); |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp simd |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp critical /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp ordered simd /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| foo (); |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| v++; |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic read /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| a[i] = v; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp atomic write /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c++ } } */ |
| v = a[i]; /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" "" { target c } } */ |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| #pragma omp task /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| a[i]++; |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| { |
| int j; |
| #pragma omp taskloop /* { dg-error "OpenMP constructs other than 'parallel', 'loop' or 'simd' may not be nested inside a region with the 'order\\(concurrent\\)' clause" } */ |
| for (j = 0; j < 64; j++) |
| a[64 * i + j] = i + j; |
| } |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_thread_num (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_thread_num\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_num_threads (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_threads\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_target_is_present (a + i, 0); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_target_is_present\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| #pragma omp for order(unconstrained:concurrent) |
| for (i = 0; i < 64; i++) |
| a[i] += omp_get_cancellation (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_cancellation\[^\n\r]*' in a region with 'order\\(concurrent\\)' clause" } */ |
| } |