4 integer :: e1
, e2
, e3
, e
5 integer :: tn1
, tn2
, tn3
9 call omp_set_nested (.true
.)
10 call omp_set_dynamic (.false
.)
11 if (omp_in_parallel ()) STOP 1
12 if (omp_get_num_threads ().ne
.1) STOP 2
13 if (omp_get_level ().ne
.0) STOP 3
14 if (omp_get_ancestor_thread_num (0).ne
.0) STOP 4
15 if (omp_get_ancestor_thread_num (-1).ne
.-1) STOP 5
16 if (omp_get_ancestor_thread_num (1).ne
.-1) STOP 6
17 if (omp_get_team_size (0).ne
.1) STOP 7
18 if (omp_get_team_size (-1).ne
.-1) STOP 8
19 if (omp_get_team_size (1).ne
.-1) STOP 9
20 if (omp_get_active_level ().ne
.0) STOP 10
21 !$omp parallel num_threads (4) private (e, tn1)
23 tn1
= omp_get_thread_num ()
24 if (.not
.omp_in_parallel ()) e
= e
+ 1
25 if (omp_get_num_threads ().ne
.4) e
= e
+ 1
26 if (tn1
.lt
.0.or
.tn1
.ge
.4) e
= e
+ 1
27 if (omp_get_level ().ne
.1) e
= e
+ 1
28 if (omp_get_ancestor_thread_num (0).ne
.0) e
= e
+ 1
29 if (omp_get_ancestor_thread_num (1).ne
.tn1
) e
= e
+ 1
30 if (omp_get_ancestor_thread_num (-1).ne
.-1) e
= e
+ 1
31 if (omp_get_ancestor_thread_num (2).ne
.-1) e
= e
+ 1
32 if (omp_get_team_size (0).ne
.1) e
= e
+ 1
33 if (omp_get_team_size (1).ne
.4) e
= e
+ 1
34 if (omp_get_team_size (-1).ne
.-1) e
= e
+ 1
35 if (omp_get_team_size (2).ne
.-1) e
= e
+ 1
36 if (omp_get_active_level ().ne
.1) e
= e
+ 1
39 !$omp parallel num_threads (5) if (.false.) firstprivate (tn1) &
40 !$omp& private (e, tn2)
42 tn2
= omp_get_thread_num ()
43 if (.not
.omp_in_parallel ()) e
= e
+ 1
44 if (omp_get_num_threads ().ne
.1) e
= e
+ 1
45 if (tn2
.ne
.0) e
= e
+ 1
46 if (omp_get_level ().ne
.2) e
= e
+ 1
47 if (omp_get_ancestor_thread_num (0).ne
.0) e
= e
+ 1
48 if (omp_get_ancestor_thread_num (1).ne
.tn1
) e
= e
+ 1
49 if (omp_get_ancestor_thread_num (2).ne
.tn2
) e
= e
+ 1
50 if (omp_get_ancestor_thread_num (-1).ne
.-1) e
= e
+ 1
51 if (omp_get_ancestor_thread_num (3).ne
.-1) e
= e
+ 1
52 if (omp_get_team_size (0).ne
.1) e
= e
+ 1
53 if (omp_get_team_size (1).ne
.4) e
= e
+ 1
54 if (omp_get_team_size (2).ne
.1) e
= e
+ 1
55 if (omp_get_team_size (-1).ne
.-1) e
= e
+ 1
56 if (omp_get_team_size (3).ne
.-1) e
= e
+ 1
57 if (omp_get_active_level ().ne
.1) e
= e
+ 1
60 !$omp parallel num_threads (2) firstprivate (tn1, tn2) &
61 !$omp& private (e, tn3)
63 tn3
= omp_get_thread_num ()
64 if (.not
.omp_in_parallel ()) e
= e
+ 1
65 if (omp_get_num_threads ().ne
.2) e
= e
+ 1
66 if (tn3
.lt
.0.or
.tn3
.ge
.2) e
= e
+ 1
67 if (omp_get_level ().ne
.3) e
= e
+ 1
68 if (omp_get_ancestor_thread_num (0).ne
.0) e
= e
+ 1
69 if (omp_get_ancestor_thread_num (1).ne
.tn1
) e
= e
+ 1
70 if (omp_get_ancestor_thread_num (2).ne
.tn2
) e
= e
+ 1
71 if (omp_get_ancestor_thread_num (3).ne
.tn3
) e
= e
+ 1
72 if (omp_get_ancestor_thread_num (-1).ne
.-1) e
= e
+ 1
73 if (omp_get_ancestor_thread_num (4).ne
.-1) e
= e
+ 1
74 if (omp_get_team_size (0).ne
.1) e
= e
+ 1
75 if (omp_get_team_size (1).ne
.4) e
= e
+ 1
76 if (omp_get_team_size (2).ne
.1) e
= e
+ 1
77 if (omp_get_team_size (3).ne
.2) e
= e
+ 1
78 if (omp_get_team_size (-1).ne
.-1) e
= e
+ 1
79 if (omp_get_team_size (4).ne
.-1) e
= e
+ 1
80 if (omp_get_active_level ().ne
.2) e
= e
+ 1
86 if (e1
.ne
.0.or
.e2
.ne
.0.or
.e3
.ne
.0) STOP 11