2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
[official-gcc.git] / libgomp / testsuite / libgomp.c++ / copyin-1.C
blobbc12be2d2f961566ba2fad86895cc9d270d19886
1 // { dg-do run }
2 // { dg-require-effective-target tls_runtime }
4 #include <omp.h>
6 extern "C" void abort (void);
8 int thr = 32;
9 #pragma omp threadprivate (thr)
11 int
12 main (void)
14   int l = 0;
16   omp_set_dynamic (0);
17   omp_set_num_threads (6);
19 #pragma omp parallel copyin (thr) reduction (||:l)
20   {
21     l = thr != 32;
22     thr = omp_get_thread_num () + 11;
23   }
25   if (l || thr != 11)
26     abort ();
28 #pragma omp parallel reduction (||:l)
29   l = thr != omp_get_thread_num () + 11;
31   if (l)
32     abort ();
33   return 0;