OSDN Git Service

2006-01-18 Richard Henderson <rth@redhat.com>
[pf3gnuchains/gcc-fork.git] / libgomp / testsuite / libgomp.c / copyin-2.c
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 /* { dg-require-effective-target tls_runtime } */
4
5 #include <omp.h>
6 #include <stdlib.h>
7
8 struct { int t; char buf[64]; } thr = { 32, "" };
9 #pragma omp threadprivate (thr)
10
11 int
12 main (void)
13 {
14   int l = 0;
15
16   omp_set_dynamic (0);
17   omp_set_num_threads (6);
18
19 #pragma omp parallel copyin (thr) reduction (||:l)
20   {
21     l = thr.t != 32;
22     thr.t = omp_get_thread_num () + 11;
23   }
24
25   if (l || thr.t != 11)
26     abort ();
27
28 #pragma omp parallel reduction (||:l)
29   l = thr.t != omp_get_thread_num () + 11;
30
31   if (l)
32     abort ();
33   return 0;
34 }