1 /* { dg-additional-options "-Wno-deprecated-declarations" } */
11 if (omp_in_parallel ())
13 #pragma omp parallel num_threads (3)
14 if (omp_get_thread_num () == 2)
16 if (!omp_in_parallel ())
18 #pragma omp parallel num_threads (3)
19 if (omp_get_thread_num () == 1)
21 if (!omp_in_parallel ()
22 || omp_get_level () != 2
23 || omp_get_ancestor_thread_num (0) != 0
24 || omp_get_ancestor_thread_num (1) != 2
25 || omp_get_ancestor_thread_num (2) != 1
26 || omp_get_ancestor_thread_num (3) != -1)
28 #pragma omp target if (0)
30 if (omp_in_parallel ()
31 || omp_get_level () != 0
32 || omp_get_ancestor_thread_num (0) != 0
33 || omp_get_ancestor_thread_num (1) != -1)
35 #pragma omp parallel num_threads (2)
37 if (!omp_in_parallel ()
38 || omp_get_level () != 1
39 || omp_get_ancestor_thread_num (0) != 0
40 || omp_get_ancestor_thread_num (1)
41 != omp_get_thread_num ()
42 || omp_get_ancestor_thread_num (2) != -1)
46 #pragma omp target if (0)
48 #pragma omp teams thread_limit (2)
50 #pragma omp distribute dist_schedule(static,1)
51 for (int i
= 0; i
< 1; ++i
)
52 if (omp_in_parallel ()
53 || omp_get_level () != 0
54 || omp_get_ancestor_thread_num (0) != 0
55 || omp_get_ancestor_thread_num (1) != -1)
57 #pragma omp parallel num_threads (2)
59 if (!omp_in_parallel ()
60 || omp_get_level () != 1
61 || omp_get_ancestor_thread_num (0) != 0
62 || omp_get_ancestor_thread_num (1)
63 != omp_get_thread_num ()
64 || omp_get_ancestor_thread_num (2) != -1)