annotate libgomp/testsuite/libgomp.c/target-5.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 #include <omp.h>
kono
parents:
diff changeset
2 #include <stdlib.h>
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 int
kono
parents:
diff changeset
5 main ()
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 int d_o = omp_get_dynamic ();
kono
parents:
diff changeset
8 int n_o = omp_get_nested ();
kono
parents:
diff changeset
9 omp_sched_t s_o;
kono
parents:
diff changeset
10 int c_o;
kono
parents:
diff changeset
11 omp_get_schedule (&s_o, &c_o);
kono
parents:
diff changeset
12 int m_o = omp_get_max_threads ();
kono
parents:
diff changeset
13 omp_set_dynamic (1);
kono
parents:
diff changeset
14 omp_set_nested (1);
kono
parents:
diff changeset
15 omp_set_schedule (omp_sched_static, 2);
kono
parents:
diff changeset
16 omp_set_num_threads (4);
kono
parents:
diff changeset
17 int d = omp_get_dynamic ();
kono
parents:
diff changeset
18 int n = omp_get_nested ();
kono
parents:
diff changeset
19 omp_sched_t s;
kono
parents:
diff changeset
20 int c;
kono
parents:
diff changeset
21 omp_get_schedule (&s, &c);
kono
parents:
diff changeset
22 int m = omp_get_max_threads ();
kono
parents:
diff changeset
23 if (!omp_is_initial_device ())
kono
parents:
diff changeset
24 abort ();
kono
parents:
diff changeset
25 #pragma omp target if (0)
kono
parents:
diff changeset
26 {
kono
parents:
diff changeset
27 omp_sched_t s_c;
kono
parents:
diff changeset
28 int c_c;
kono
parents:
diff changeset
29 omp_get_schedule (&s_c, &c_c);
kono
parents:
diff changeset
30 if (d_o != omp_get_dynamic ()
kono
parents:
diff changeset
31 || n_o != omp_get_nested ()
kono
parents:
diff changeset
32 || s_o != s_c
kono
parents:
diff changeset
33 || c_o != c_c
kono
parents:
diff changeset
34 || m_o != omp_get_max_threads ())
kono
parents:
diff changeset
35 abort ();
kono
parents:
diff changeset
36 omp_set_dynamic (0);
kono
parents:
diff changeset
37 omp_set_nested (0);
kono
parents:
diff changeset
38 omp_set_schedule (omp_sched_dynamic, 4);
kono
parents:
diff changeset
39 omp_set_num_threads (2);
kono
parents:
diff changeset
40 if (!omp_is_initial_device ())
kono
parents:
diff changeset
41 abort ();
kono
parents:
diff changeset
42 }
kono
parents:
diff changeset
43 if (!omp_is_initial_device ())
kono
parents:
diff changeset
44 abort ();
kono
parents:
diff changeset
45 omp_sched_t s_c;
kono
parents:
diff changeset
46 int c_c;
kono
parents:
diff changeset
47 omp_get_schedule (&s_c, &c_c);
kono
parents:
diff changeset
48 if (d != omp_get_dynamic ()
kono
parents:
diff changeset
49 || n != omp_get_nested ()
kono
parents:
diff changeset
50 || s != s_c
kono
parents:
diff changeset
51 || c != c_c
kono
parents:
diff changeset
52 || m != omp_get_max_threads ())
kono
parents:
diff changeset
53 abort ();
kono
parents:
diff changeset
54 #pragma omp target if (0)
kono
parents:
diff changeset
55 #pragma omp teams
kono
parents:
diff changeset
56 {
kono
parents:
diff changeset
57 omp_sched_t s_c;
kono
parents:
diff changeset
58 int c_c;
kono
parents:
diff changeset
59 omp_get_schedule (&s_c, &c_c);
kono
parents:
diff changeset
60 if (d_o != omp_get_dynamic ()
kono
parents:
diff changeset
61 || n_o != omp_get_nested ()
kono
parents:
diff changeset
62 || s_o != s_c
kono
parents:
diff changeset
63 || c_o != c_c
kono
parents:
diff changeset
64 || m_o != omp_get_max_threads ())
kono
parents:
diff changeset
65 abort ();
kono
parents:
diff changeset
66 omp_set_dynamic (0);
kono
parents:
diff changeset
67 omp_set_nested (0);
kono
parents:
diff changeset
68 omp_set_schedule (omp_sched_dynamic, 4);
kono
parents:
diff changeset
69 omp_set_num_threads (2);
kono
parents:
diff changeset
70 if (!omp_is_initial_device ())
kono
parents:
diff changeset
71 abort ();
kono
parents:
diff changeset
72 }
kono
parents:
diff changeset
73 if (!omp_is_initial_device ())
kono
parents:
diff changeset
74 abort ();
kono
parents:
diff changeset
75 omp_get_schedule (&s_c, &c_c);
kono
parents:
diff changeset
76 if (d != omp_get_dynamic ()
kono
parents:
diff changeset
77 || n != omp_get_nested ()
kono
parents:
diff changeset
78 || s != s_c
kono
parents:
diff changeset
79 || c != c_c
kono
parents:
diff changeset
80 || m != omp_get_max_threads ())
kono
parents:
diff changeset
81 abort ();
kono
parents:
diff changeset
82 return 0;
kono
parents:
diff changeset
83 }