mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-01 11:52:47 +00:00
30 lines
443 B
C++
30 lines
443 B
C++
|
// { 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 ();
|
||
|
}
|