| // { dg-do run } | |
| // { dg-set-target-env-var OMP_CANCELLATION "true" } | |
| #include <omp.h> | |
| #include "cancel-test.h" | |
| int | |
| main () | |
| { | |
| { | |
| S c; | |
| #pragma omp parallel num_threads (32) | |
| { | |
| S a, b; | |
| int i; | |
| #pragma omp for private (b) firstprivate (c) | |
| for (i = 0; i < 1000; ++i) | |
| { | |
| S d; | |
| #pragma omp cancel for | |
| if (omp_get_cancellation ()) | |
| abort (); | |
| b.bump (); | |
| c.bump (); | |
| } | |
| } | |
| } | |
| S::verify (); | |
| } |