Set num_threads to 50 on 32-bit hppa in two libgomp loop tests
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / teams-2.c
blob316bcfe58486874d948fc9686e6708ade48d5124
1 #include <omp.h>
2 #include <stdlib.h>
4 int
5 foo ()
7 return 934;
10 int
11 main ()
13 int a[934] = {};
14 int k, e;
15 #pragma omp target map(a)
16 #pragma omp teams num_teams (foo ())
18 int i = omp_get_team_num ();
19 if (omp_get_num_teams () != 934
20 || (unsigned) i >= 934U
21 || a[i] != 0)
22 abort ();
23 ++a[i];
25 #pragma omp target map(a)
26 #pragma omp teams num_teams (foo () - 50 : foo ())
28 int i = omp_get_team_num ();
29 int j = omp_get_num_teams ();
30 if (j < 884
31 || j > 934
32 || (unsigned) i >= (unsigned) j
33 || a[i] != 1)
34 abort ();
35 ++a[i];
37 #pragma omp target teams map(a) num_teams (foo () / 2)
39 int i = omp_get_team_num ();
40 if (omp_get_num_teams () != 467
41 || (unsigned) i >= 467U
42 || a[i] != 2)
43 abort ();
44 ++a[i];
46 #pragma omp target teams map(a) num_teams (foo () / 2 - 50 : foo () / 2)
48 int i = omp_get_team_num ();
49 int j = omp_get_num_teams ();
50 if (j < 417
51 || j > 467
52 || (unsigned) i >= (unsigned) j
53 || a[i] != 3)
54 abort ();
55 ++a[i];
57 e = 4;
58 for (k = 0; k < 934; k++)
60 if (k >= 417 && k < 467 && a[k] == 3)
61 e = 3;
62 else if (k == 467)
63 e = 2;
64 else if (k >= 884 && a[k] == 1)
65 e = 1;
66 if (a[k] != e)
67 abort ();
69 return 0;