1 #include <omp.h>
2 #include <stdlib.h>
3
4 int
5 main ()
6 {
7 if (getenv ("OMP_NUM_TEAMS") == NULL
8 && omp_get_max_teams () != 0)
9 abort ();
10 omp_set_num_teams (7);
11 if (omp_get_max_teams () != 7)
12 abort ();
13 if (getenv ("OMP_TEAMS_THREAD_LIMIT") == NULL
14 && omp_get_teams_thread_limit () != 0)
15 abort ();
16 omp_set_teams_thread_limit (15);
17 if (omp_get_teams_thread_limit () != 15)
18 abort ();
19 #pragma omp teams
20 {
21 #pragma omp parallel if(0)
22 if (omp_get_max_teams () != 7
23 || omp_get_teams_thread_limit () != 15
24 || omp_get_num_teams () < 1
25 || omp_get_num_teams () > 7
26 || omp_get_team_num () < 0
27 || omp_get_team_num () >= omp_get_num_teams ()
28 || omp_get_thread_limit () < 1
29 || omp_get_thread_limit () > 15)
30 abort ();
31 }
32 #pragma omp teams num_teams(5) thread_limit (13)
33 {
34 #pragma omp parallel if(0)
35 if (omp_get_max_teams () != 7
36 || omp_get_teams_thread_limit () != 15
37 || omp_get_num_teams () != 5
38 || omp_get_team_num () < 0
39 || omp_get_team_num () >= omp_get_num_teams ()
40 || omp_get_thread_limit () < 1
41 || omp_get_thread_limit () > 13)
42 abort ();
43 }
44 #pragma omp teams num_teams(8) thread_limit (16)
45 {
46 #pragma omp parallel if(0)
47 if (omp_get_max_teams () != 7
48 || omp_get_teams_thread_limit () != 15
49 || omp_get_num_teams () != 8
50 || omp_get_team_num () < 0
51 || omp_get_team_num () >= omp_get_num_teams ()
52 || omp_get_thread_limit () < 1
53 || omp_get_thread_limit () > 16)
54 abort ();
55 }
56 return 0;
57 }