blob: 3c03c2988b9333864c195cb897d503cedb248b84 [file] [log] [blame]
#include <omp.h>
#include <stdlib.h>
struct S { S () : s (42) {} S (const S &x) : s (x.s) {}; ~S () {} int s; };
int
main ()
{
S s;
s.s = 113;
#pragma omp parallel num_threads(4) default(firstprivate)
{
if (s.s != 113)
abort ();
s.s = omp_get_thread_num ();
#pragma omp barrier
if (s.s != omp_get_thread_num ())
abort ();
}
#pragma omp parallel num_threads(4) default(private)
{
if (s.s != 42)
abort ();
s.s = omp_get_thread_num () + 13;
#pragma omp barrier
if (s.s != omp_get_thread_num () + 13)
abort ();
}
}