[PR115565] cse: Don't use a valid regno for non-register in comparison_qty
[official-gcc.git] / libgomp / testsuite / libgomp.c / target-6.c
blob1c4d8caf0a6b9fc85f08cb81b2fd49616104dd0f
1 /* { dg-additional-options "-Wno-deprecated-declarations" } */
3 #include <omp.h>
4 #include <stdlib.h>
6 int
7 main ()
9 omp_set_dynamic (0);
10 omp_set_nested (1);
11 if (omp_in_parallel ())
12 abort ();
13 #pragma omp parallel num_threads (3)
14 if (omp_get_thread_num () == 2)
16 if (!omp_in_parallel ())
17 abort ();
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)
27 abort ();
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)
34 abort ();
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)
43 abort ();
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)
56 abort ();
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)
65 abort ();
71 return 0;