OSDN Git Service

PR middle-end/33880
[pf3gnuchains/gcc-fork.git] / libgomp / testsuite / libgomp.c / omp-parallel-if.c
1 #include <omp.h>
2
3 extern void abort (void);
4
5 int
6 foo (void)
7 {
8   return 10;
9 }
10
11 main ()
12 {
13   int A = 0;
14
15   #pragma omp parallel if (foo () > 10) shared (A)
16     {
17       A = omp_get_num_threads ();
18     }
19
20   if (A != 1)
21     abort ();
22
23   #pragma omp parallel if (foo () == 10) num_threads (3) shared (A)
24     {
25       A = omp_get_num_threads ();
26     }
27
28   if (A != 3)
29     abort ();
30
31   #pragma omp parallel if (foo () == 10) num_threads (foo ()) shared (A)
32     {
33       A = omp_get_num_threads ();
34     }
35
36   if (A != 10)
37     abort ();
38
39   return 0;
40 }