xref: /dflybsd-src/contrib/gcc-8.0/libgomp/fortran.c (revision 38fd149817dfbff97799f62fcb70be98c4e32523)
1*38fd1498Szrj /* Copyright (C) 2005-2018 Free Software Foundation, Inc.
2*38fd1498Szrj    Contributed by Jakub Jelinek <jakub@redhat.com>.
3*38fd1498Szrj 
4*38fd1498Szrj    This file is part of the GNU Offloading and Multi Processing Library
5*38fd1498Szrj    (libgomp).
6*38fd1498Szrj 
7*38fd1498Szrj    Libgomp is free software; you can redistribute it and/or modify it
8*38fd1498Szrj    under the terms of the GNU General Public License as published by
9*38fd1498Szrj    the Free Software Foundation; either version 3, or (at your option)
10*38fd1498Szrj    any later version.
11*38fd1498Szrj 
12*38fd1498Szrj    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
13*38fd1498Szrj    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14*38fd1498Szrj    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15*38fd1498Szrj    more details.
16*38fd1498Szrj 
17*38fd1498Szrj    Under Section 7 of GPL version 3, you are granted additional
18*38fd1498Szrj    permissions described in the GCC Runtime Library Exception, version
19*38fd1498Szrj    3.1, as published by the Free Software Foundation.
20*38fd1498Szrj 
21*38fd1498Szrj    You should have received a copy of the GNU General Public License and
22*38fd1498Szrj    a copy of the GCC Runtime Library Exception along with this program;
23*38fd1498Szrj    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24*38fd1498Szrj    <http://www.gnu.org/licenses/>.  */
25*38fd1498Szrj 
26*38fd1498Szrj /* This file contains Fortran wrapper routines.  */
27*38fd1498Szrj 
28*38fd1498Szrj #include "libgomp.h"
29*38fd1498Szrj #include "libgomp_f.h"
30*38fd1498Szrj #include <stdlib.h>
31*38fd1498Szrj #include <limits.h>
32*38fd1498Szrj 
33*38fd1498Szrj #ifdef HAVE_ATTRIBUTE_ALIAS
34*38fd1498Szrj /* Use internal aliases if possible.  */
35*38fd1498Szrj # ifndef LIBGOMP_GNU_SYMBOL_VERSIONING
36*38fd1498Szrj ialias_redirect (omp_init_lock)
ialias_redirect(omp_init_nest_lock)37*38fd1498Szrj ialias_redirect (omp_init_nest_lock)
38*38fd1498Szrj ialias_redirect (omp_destroy_lock)
39*38fd1498Szrj ialias_redirect (omp_destroy_nest_lock)
40*38fd1498Szrj ialias_redirect (omp_set_lock)
41*38fd1498Szrj ialias_redirect (omp_set_nest_lock)
42*38fd1498Szrj ialias_redirect (omp_unset_lock)
43*38fd1498Szrj ialias_redirect (omp_unset_nest_lock)
44*38fd1498Szrj ialias_redirect (omp_test_lock)
45*38fd1498Szrj ialias_redirect (omp_test_nest_lock)
46*38fd1498Szrj # endif
47*38fd1498Szrj ialias_redirect (omp_set_dynamic)
48*38fd1498Szrj ialias_redirect (omp_set_nested)
49*38fd1498Szrj ialias_redirect (omp_set_num_threads)
50*38fd1498Szrj ialias_redirect (omp_get_dynamic)
51*38fd1498Szrj ialias_redirect (omp_get_nested)
52*38fd1498Szrj ialias_redirect (omp_in_parallel)
53*38fd1498Szrj ialias_redirect (omp_get_max_threads)
54*38fd1498Szrj ialias_redirect (omp_get_num_procs)
55*38fd1498Szrj ialias_redirect (omp_get_num_threads)
56*38fd1498Szrj ialias_redirect (omp_get_thread_num)
57*38fd1498Szrj ialias_redirect (omp_get_wtick)
58*38fd1498Szrj ialias_redirect (omp_get_wtime)
59*38fd1498Szrj ialias_redirect (omp_set_schedule)
60*38fd1498Szrj ialias_redirect (omp_get_schedule)
61*38fd1498Szrj ialias_redirect (omp_get_thread_limit)
62*38fd1498Szrj ialias_redirect (omp_set_max_active_levels)
63*38fd1498Szrj ialias_redirect (omp_get_max_active_levels)
64*38fd1498Szrj ialias_redirect (omp_get_level)
65*38fd1498Szrj ialias_redirect (omp_get_ancestor_thread_num)
66*38fd1498Szrj ialias_redirect (omp_get_team_size)
67*38fd1498Szrj ialias_redirect (omp_get_active_level)
68*38fd1498Szrj ialias_redirect (omp_in_final)
69*38fd1498Szrj ialias_redirect (omp_get_cancellation)
70*38fd1498Szrj ialias_redirect (omp_get_proc_bind)
71*38fd1498Szrj ialias_redirect (omp_get_num_places)
72*38fd1498Szrj ialias_redirect (omp_get_place_num_procs)
73*38fd1498Szrj ialias_redirect (omp_get_place_proc_ids)
74*38fd1498Szrj ialias_redirect (omp_get_place_num)
75*38fd1498Szrj ialias_redirect (omp_get_partition_num_places)
76*38fd1498Szrj ialias_redirect (omp_get_partition_place_nums)
77*38fd1498Szrj ialias_redirect (omp_set_default_device)
78*38fd1498Szrj ialias_redirect (omp_get_default_device)
79*38fd1498Szrj ialias_redirect (omp_get_num_devices)
80*38fd1498Szrj ialias_redirect (omp_get_num_teams)
81*38fd1498Szrj ialias_redirect (omp_get_team_num)
82*38fd1498Szrj ialias_redirect (omp_is_initial_device)
83*38fd1498Szrj ialias_redirect (omp_get_initial_device)
84*38fd1498Szrj ialias_redirect (omp_get_max_task_priority)
85*38fd1498Szrj #endif
86*38fd1498Szrj 
87*38fd1498Szrj #ifndef LIBGOMP_GNU_SYMBOL_VERSIONING
88*38fd1498Szrj # define gomp_init_lock__30 omp_init_lock_
89*38fd1498Szrj # define gomp_destroy_lock__30 omp_destroy_lock_
90*38fd1498Szrj # define gomp_set_lock__30 omp_set_lock_
91*38fd1498Szrj # define gomp_unset_lock__30 omp_unset_lock_
92*38fd1498Szrj # define gomp_test_lock__30 omp_test_lock_
93*38fd1498Szrj # define gomp_init_nest_lock__30 omp_init_nest_lock_
94*38fd1498Szrj # define gomp_destroy_nest_lock__30 omp_destroy_nest_lock_
95*38fd1498Szrj # define gomp_set_nest_lock__30 omp_set_nest_lock_
96*38fd1498Szrj # define gomp_unset_nest_lock__30 omp_unset_nest_lock_
97*38fd1498Szrj # define gomp_test_nest_lock__30 omp_test_nest_lock_
98*38fd1498Szrj #endif
99*38fd1498Szrj 
100*38fd1498Szrj void
101*38fd1498Szrj gomp_init_lock__30 (omp_lock_arg_t lock)
102*38fd1498Szrj {
103*38fd1498Szrj #ifndef OMP_LOCK_DIRECT
104*38fd1498Szrj   omp_lock_arg (lock) = malloc (sizeof (omp_lock_t));
105*38fd1498Szrj #endif
106*38fd1498Szrj   gomp_init_lock_30 (omp_lock_arg (lock));
107*38fd1498Szrj }
108*38fd1498Szrj 
109*38fd1498Szrj void
gomp_init_nest_lock__30(omp_nest_lock_arg_t lock)110*38fd1498Szrj gomp_init_nest_lock__30 (omp_nest_lock_arg_t lock)
111*38fd1498Szrj {
112*38fd1498Szrj #ifndef OMP_NEST_LOCK_DIRECT
113*38fd1498Szrj   omp_nest_lock_arg (lock) = malloc (sizeof (omp_nest_lock_t));
114*38fd1498Szrj #endif
115*38fd1498Szrj   gomp_init_nest_lock_30 (omp_nest_lock_arg (lock));
116*38fd1498Szrj }
117*38fd1498Szrj 
118*38fd1498Szrj void
gomp_destroy_lock__30(omp_lock_arg_t lock)119*38fd1498Szrj gomp_destroy_lock__30 (omp_lock_arg_t lock)
120*38fd1498Szrj {
121*38fd1498Szrj   gomp_destroy_lock_30 (omp_lock_arg (lock));
122*38fd1498Szrj #ifndef OMP_LOCK_DIRECT
123*38fd1498Szrj   free (omp_lock_arg (lock));
124*38fd1498Szrj   omp_lock_arg (lock) = NULL;
125*38fd1498Szrj #endif
126*38fd1498Szrj }
127*38fd1498Szrj 
128*38fd1498Szrj void
gomp_destroy_nest_lock__30(omp_nest_lock_arg_t lock)129*38fd1498Szrj gomp_destroy_nest_lock__30 (omp_nest_lock_arg_t lock)
130*38fd1498Szrj {
131*38fd1498Szrj   gomp_destroy_nest_lock_30 (omp_nest_lock_arg (lock));
132*38fd1498Szrj #ifndef OMP_NEST_LOCK_DIRECT
133*38fd1498Szrj   free (omp_nest_lock_arg (lock));
134*38fd1498Szrj   omp_nest_lock_arg (lock) = NULL;
135*38fd1498Szrj #endif
136*38fd1498Szrj }
137*38fd1498Szrj 
138*38fd1498Szrj void
gomp_set_lock__30(omp_lock_arg_t lock)139*38fd1498Szrj gomp_set_lock__30 (omp_lock_arg_t lock)
140*38fd1498Szrj {
141*38fd1498Szrj   gomp_set_lock_30 (omp_lock_arg (lock));
142*38fd1498Szrj }
143*38fd1498Szrj 
144*38fd1498Szrj void
gomp_set_nest_lock__30(omp_nest_lock_arg_t lock)145*38fd1498Szrj gomp_set_nest_lock__30 (omp_nest_lock_arg_t lock)
146*38fd1498Szrj {
147*38fd1498Szrj   gomp_set_nest_lock_30 (omp_nest_lock_arg (lock));
148*38fd1498Szrj }
149*38fd1498Szrj 
150*38fd1498Szrj void
gomp_unset_lock__30(omp_lock_arg_t lock)151*38fd1498Szrj gomp_unset_lock__30 (omp_lock_arg_t lock)
152*38fd1498Szrj {
153*38fd1498Szrj   gomp_unset_lock_30 (omp_lock_arg (lock));
154*38fd1498Szrj }
155*38fd1498Szrj 
156*38fd1498Szrj void
gomp_unset_nest_lock__30(omp_nest_lock_arg_t lock)157*38fd1498Szrj gomp_unset_nest_lock__30 (omp_nest_lock_arg_t lock)
158*38fd1498Szrj {
159*38fd1498Szrj   gomp_unset_nest_lock_30 (omp_nest_lock_arg (lock));
160*38fd1498Szrj }
161*38fd1498Szrj 
162*38fd1498Szrj int32_t
gomp_test_lock__30(omp_lock_arg_t lock)163*38fd1498Szrj gomp_test_lock__30 (omp_lock_arg_t lock)
164*38fd1498Szrj {
165*38fd1498Szrj   return gomp_test_lock_30 (omp_lock_arg (lock));
166*38fd1498Szrj }
167*38fd1498Szrj 
168*38fd1498Szrj int32_t
gomp_test_nest_lock__30(omp_nest_lock_arg_t lock)169*38fd1498Szrj gomp_test_nest_lock__30 (omp_nest_lock_arg_t lock)
170*38fd1498Szrj {
171*38fd1498Szrj   return gomp_test_nest_lock_30 (omp_nest_lock_arg (lock));
172*38fd1498Szrj }
173*38fd1498Szrj 
174*38fd1498Szrj #ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
175*38fd1498Szrj void
gomp_init_lock__25(omp_lock_25_arg_t lock)176*38fd1498Szrj gomp_init_lock__25 (omp_lock_25_arg_t lock)
177*38fd1498Szrj {
178*38fd1498Szrj #ifndef OMP_LOCK_25_DIRECT
179*38fd1498Szrj   omp_lock_25_arg (lock) = malloc (sizeof (omp_lock_25_t));
180*38fd1498Szrj #endif
181*38fd1498Szrj   gomp_init_lock_25 (omp_lock_25_arg (lock));
182*38fd1498Szrj }
183*38fd1498Szrj 
184*38fd1498Szrj void
gomp_init_nest_lock__25(omp_nest_lock_25_arg_t lock)185*38fd1498Szrj gomp_init_nest_lock__25 (omp_nest_lock_25_arg_t lock)
186*38fd1498Szrj {
187*38fd1498Szrj #ifndef OMP_NEST_LOCK_25_DIRECT
188*38fd1498Szrj   omp_nest_lock_25_arg (lock) = malloc (sizeof (omp_nest_lock_25_t));
189*38fd1498Szrj #endif
190*38fd1498Szrj   gomp_init_nest_lock_25 (omp_nest_lock_25_arg (lock));
191*38fd1498Szrj }
192*38fd1498Szrj 
193*38fd1498Szrj void
gomp_destroy_lock__25(omp_lock_25_arg_t lock)194*38fd1498Szrj gomp_destroy_lock__25 (omp_lock_25_arg_t lock)
195*38fd1498Szrj {
196*38fd1498Szrj   gomp_destroy_lock_25 (omp_lock_25_arg (lock));
197*38fd1498Szrj #ifndef OMP_LOCK_25_DIRECT
198*38fd1498Szrj   free (omp_lock_25_arg (lock));
199*38fd1498Szrj   omp_lock_25_arg (lock) = NULL;
200*38fd1498Szrj #endif
201*38fd1498Szrj }
202*38fd1498Szrj 
203*38fd1498Szrj void
gomp_destroy_nest_lock__25(omp_nest_lock_25_arg_t lock)204*38fd1498Szrj gomp_destroy_nest_lock__25 (omp_nest_lock_25_arg_t lock)
205*38fd1498Szrj {
206*38fd1498Szrj   gomp_destroy_nest_lock_25 (omp_nest_lock_25_arg (lock));
207*38fd1498Szrj #ifndef OMP_NEST_LOCK_25_DIRECT
208*38fd1498Szrj   free (omp_nest_lock_25_arg (lock));
209*38fd1498Szrj   omp_nest_lock_25_arg (lock) = NULL;
210*38fd1498Szrj #endif
211*38fd1498Szrj }
212*38fd1498Szrj 
213*38fd1498Szrj void
gomp_set_lock__25(omp_lock_25_arg_t lock)214*38fd1498Szrj gomp_set_lock__25 (omp_lock_25_arg_t lock)
215*38fd1498Szrj {
216*38fd1498Szrj   gomp_set_lock_25 (omp_lock_25_arg (lock));
217*38fd1498Szrj }
218*38fd1498Szrj 
219*38fd1498Szrj void
gomp_set_nest_lock__25(omp_nest_lock_25_arg_t lock)220*38fd1498Szrj gomp_set_nest_lock__25 (omp_nest_lock_25_arg_t lock)
221*38fd1498Szrj {
222*38fd1498Szrj   gomp_set_nest_lock_25 (omp_nest_lock_25_arg (lock));
223*38fd1498Szrj }
224*38fd1498Szrj 
225*38fd1498Szrj void
gomp_unset_lock__25(omp_lock_25_arg_t lock)226*38fd1498Szrj gomp_unset_lock__25 (omp_lock_25_arg_t lock)
227*38fd1498Szrj {
228*38fd1498Szrj   gomp_unset_lock_25 (omp_lock_25_arg (lock));
229*38fd1498Szrj }
230*38fd1498Szrj 
231*38fd1498Szrj void
gomp_unset_nest_lock__25(omp_nest_lock_25_arg_t lock)232*38fd1498Szrj gomp_unset_nest_lock__25 (omp_nest_lock_25_arg_t lock)
233*38fd1498Szrj {
234*38fd1498Szrj   gomp_unset_nest_lock_25 (omp_nest_lock_25_arg (lock));
235*38fd1498Szrj }
236*38fd1498Szrj 
237*38fd1498Szrj int32_t
gomp_test_lock__25(omp_lock_25_arg_t lock)238*38fd1498Szrj gomp_test_lock__25 (omp_lock_25_arg_t lock)
239*38fd1498Szrj {
240*38fd1498Szrj   return gomp_test_lock_25 (omp_lock_25_arg (lock));
241*38fd1498Szrj }
242*38fd1498Szrj 
243*38fd1498Szrj int32_t
gomp_test_nest_lock__25(omp_nest_lock_25_arg_t lock)244*38fd1498Szrj gomp_test_nest_lock__25 (omp_nest_lock_25_arg_t lock)
245*38fd1498Szrj {
246*38fd1498Szrj   return gomp_test_nest_lock_25 (omp_nest_lock_25_arg (lock));
247*38fd1498Szrj }
248*38fd1498Szrj 
249*38fd1498Szrj omp_lock_symver (omp_init_lock_)
omp_lock_symver(omp_destroy_lock_)250*38fd1498Szrj omp_lock_symver (omp_destroy_lock_)
251*38fd1498Szrj omp_lock_symver (omp_set_lock_)
252*38fd1498Szrj omp_lock_symver (omp_unset_lock_)
253*38fd1498Szrj omp_lock_symver (omp_test_lock_)
254*38fd1498Szrj omp_lock_symver (omp_init_nest_lock_)
255*38fd1498Szrj omp_lock_symver (omp_destroy_nest_lock_)
256*38fd1498Szrj omp_lock_symver (omp_set_nest_lock_)
257*38fd1498Szrj omp_lock_symver (omp_unset_nest_lock_)
258*38fd1498Szrj omp_lock_symver (omp_test_nest_lock_)
259*38fd1498Szrj #endif
260*38fd1498Szrj 
261*38fd1498Szrj #define TO_INT(x) ((x) > INT_MIN ? (x) < INT_MAX ? (x) : INT_MAX : INT_MIN)
262*38fd1498Szrj 
263*38fd1498Szrj void
264*38fd1498Szrj omp_set_dynamic_ (const int32_t *set)
265*38fd1498Szrj {
266*38fd1498Szrj   omp_set_dynamic (*set);
267*38fd1498Szrj }
268*38fd1498Szrj 
269*38fd1498Szrj void
omp_set_dynamic_8_(const int64_t * set)270*38fd1498Szrj omp_set_dynamic_8_ (const int64_t *set)
271*38fd1498Szrj {
272*38fd1498Szrj   omp_set_dynamic (!!*set);
273*38fd1498Szrj }
274*38fd1498Szrj 
275*38fd1498Szrj void
omp_set_nested_(const int32_t * set)276*38fd1498Szrj omp_set_nested_ (const int32_t *set)
277*38fd1498Szrj {
278*38fd1498Szrj   omp_set_nested (*set);
279*38fd1498Szrj }
280*38fd1498Szrj 
281*38fd1498Szrj void
omp_set_nested_8_(const int64_t * set)282*38fd1498Szrj omp_set_nested_8_ (const int64_t *set)
283*38fd1498Szrj {
284*38fd1498Szrj   omp_set_nested (!!*set);
285*38fd1498Szrj }
286*38fd1498Szrj 
287*38fd1498Szrj void
omp_set_num_threads_(const int32_t * set)288*38fd1498Szrj omp_set_num_threads_ (const int32_t *set)
289*38fd1498Szrj {
290*38fd1498Szrj   omp_set_num_threads (*set);
291*38fd1498Szrj }
292*38fd1498Szrj 
293*38fd1498Szrj void
omp_set_num_threads_8_(const int64_t * set)294*38fd1498Szrj omp_set_num_threads_8_ (const int64_t *set)
295*38fd1498Szrj {
296*38fd1498Szrj   omp_set_num_threads (TO_INT (*set));
297*38fd1498Szrj }
298*38fd1498Szrj 
299*38fd1498Szrj int32_t
omp_get_dynamic_(void)300*38fd1498Szrj omp_get_dynamic_ (void)
301*38fd1498Szrj {
302*38fd1498Szrj   return omp_get_dynamic ();
303*38fd1498Szrj }
304*38fd1498Szrj 
305*38fd1498Szrj int32_t
omp_get_nested_(void)306*38fd1498Szrj omp_get_nested_ (void)
307*38fd1498Szrj {
308*38fd1498Szrj   return omp_get_nested ();
309*38fd1498Szrj }
310*38fd1498Szrj 
311*38fd1498Szrj int32_t
omp_in_parallel_(void)312*38fd1498Szrj omp_in_parallel_ (void)
313*38fd1498Szrj {
314*38fd1498Szrj   return omp_in_parallel ();
315*38fd1498Szrj }
316*38fd1498Szrj 
317*38fd1498Szrj int32_t
omp_get_max_threads_(void)318*38fd1498Szrj omp_get_max_threads_ (void)
319*38fd1498Szrj {
320*38fd1498Szrj   return omp_get_max_threads ();
321*38fd1498Szrj }
322*38fd1498Szrj 
323*38fd1498Szrj int32_t
omp_get_num_procs_(void)324*38fd1498Szrj omp_get_num_procs_ (void)
325*38fd1498Szrj {
326*38fd1498Szrj   return omp_get_num_procs ();
327*38fd1498Szrj }
328*38fd1498Szrj 
329*38fd1498Szrj int32_t
omp_get_num_threads_(void)330*38fd1498Szrj omp_get_num_threads_ (void)
331*38fd1498Szrj {
332*38fd1498Szrj   return omp_get_num_threads ();
333*38fd1498Szrj }
334*38fd1498Szrj 
335*38fd1498Szrj int32_t
omp_get_thread_num_(void)336*38fd1498Szrj omp_get_thread_num_ (void)
337*38fd1498Szrj {
338*38fd1498Szrj   return omp_get_thread_num ();
339*38fd1498Szrj }
340*38fd1498Szrj 
341*38fd1498Szrj double
omp_get_wtick_(void)342*38fd1498Szrj omp_get_wtick_ (void)
343*38fd1498Szrj {
344*38fd1498Szrj   return omp_get_wtick ();
345*38fd1498Szrj }
346*38fd1498Szrj 
347*38fd1498Szrj double
omp_get_wtime_(void)348*38fd1498Szrj omp_get_wtime_ (void)
349*38fd1498Szrj {
350*38fd1498Szrj   return omp_get_wtime ();
351*38fd1498Szrj }
352*38fd1498Szrj 
353*38fd1498Szrj void
omp_set_schedule_(const int32_t * kind,const int32_t * chunk_size)354*38fd1498Szrj omp_set_schedule_ (const int32_t *kind, const int32_t *chunk_size)
355*38fd1498Szrj {
356*38fd1498Szrj   omp_set_schedule (*kind, *chunk_size);
357*38fd1498Szrj }
358*38fd1498Szrj 
359*38fd1498Szrj void
omp_set_schedule_8_(const int32_t * kind,const int64_t * chunk_size)360*38fd1498Szrj omp_set_schedule_8_ (const int32_t *kind, const int64_t *chunk_size)
361*38fd1498Szrj {
362*38fd1498Szrj   omp_set_schedule (*kind, TO_INT (*chunk_size));
363*38fd1498Szrj }
364*38fd1498Szrj 
365*38fd1498Szrj void
omp_get_schedule_(int32_t * kind,int32_t * chunk_size)366*38fd1498Szrj omp_get_schedule_ (int32_t *kind, int32_t *chunk_size)
367*38fd1498Szrj {
368*38fd1498Szrj   omp_sched_t k;
369*38fd1498Szrj   int cs;
370*38fd1498Szrj   omp_get_schedule (&k, &cs);
371*38fd1498Szrj   *kind = k;
372*38fd1498Szrj   *chunk_size = cs;
373*38fd1498Szrj }
374*38fd1498Szrj 
375*38fd1498Szrj void
omp_get_schedule_8_(int32_t * kind,int64_t * chunk_size)376*38fd1498Szrj omp_get_schedule_8_ (int32_t *kind, int64_t *chunk_size)
377*38fd1498Szrj {
378*38fd1498Szrj   omp_sched_t k;
379*38fd1498Szrj   int cs;
380*38fd1498Szrj   omp_get_schedule (&k, &cs);
381*38fd1498Szrj   *kind = k;
382*38fd1498Szrj   *chunk_size = cs;
383*38fd1498Szrj }
384*38fd1498Szrj 
385*38fd1498Szrj int32_t
omp_get_thread_limit_(void)386*38fd1498Szrj omp_get_thread_limit_ (void)
387*38fd1498Szrj {
388*38fd1498Szrj   return omp_get_thread_limit ();
389*38fd1498Szrj }
390*38fd1498Szrj 
391*38fd1498Szrj void
omp_set_max_active_levels_(const int32_t * levels)392*38fd1498Szrj omp_set_max_active_levels_ (const int32_t *levels)
393*38fd1498Szrj {
394*38fd1498Szrj   omp_set_max_active_levels (*levels);
395*38fd1498Szrj }
396*38fd1498Szrj 
397*38fd1498Szrj void
omp_set_max_active_levels_8_(const int64_t * levels)398*38fd1498Szrj omp_set_max_active_levels_8_ (const int64_t *levels)
399*38fd1498Szrj {
400*38fd1498Szrj   omp_set_max_active_levels (TO_INT (*levels));
401*38fd1498Szrj }
402*38fd1498Szrj 
403*38fd1498Szrj int32_t
omp_get_max_active_levels_(void)404*38fd1498Szrj omp_get_max_active_levels_ (void)
405*38fd1498Szrj {
406*38fd1498Szrj   return omp_get_max_active_levels ();
407*38fd1498Szrj }
408*38fd1498Szrj 
409*38fd1498Szrj int32_t
omp_get_level_(void)410*38fd1498Szrj omp_get_level_ (void)
411*38fd1498Szrj {
412*38fd1498Szrj   return omp_get_level ();
413*38fd1498Szrj }
414*38fd1498Szrj 
415*38fd1498Szrj int32_t
omp_get_ancestor_thread_num_(const int32_t * level)416*38fd1498Szrj omp_get_ancestor_thread_num_ (const int32_t *level)
417*38fd1498Szrj {
418*38fd1498Szrj   return omp_get_ancestor_thread_num (*level);
419*38fd1498Szrj }
420*38fd1498Szrj 
421*38fd1498Szrj int32_t
omp_get_ancestor_thread_num_8_(const int64_t * level)422*38fd1498Szrj omp_get_ancestor_thread_num_8_ (const int64_t *level)
423*38fd1498Szrj {
424*38fd1498Szrj   return omp_get_ancestor_thread_num (TO_INT (*level));
425*38fd1498Szrj }
426*38fd1498Szrj 
427*38fd1498Szrj int32_t
omp_get_team_size_(const int32_t * level)428*38fd1498Szrj omp_get_team_size_ (const int32_t *level)
429*38fd1498Szrj {
430*38fd1498Szrj   return omp_get_team_size (*level);
431*38fd1498Szrj }
432*38fd1498Szrj 
433*38fd1498Szrj int32_t
omp_get_team_size_8_(const int64_t * level)434*38fd1498Szrj omp_get_team_size_8_ (const int64_t *level)
435*38fd1498Szrj {
436*38fd1498Szrj   return omp_get_team_size (TO_INT (*level));
437*38fd1498Szrj }
438*38fd1498Szrj 
439*38fd1498Szrj int32_t
omp_get_active_level_(void)440*38fd1498Szrj omp_get_active_level_ (void)
441*38fd1498Szrj {
442*38fd1498Szrj   return omp_get_active_level ();
443*38fd1498Szrj }
444*38fd1498Szrj 
445*38fd1498Szrj int32_t
omp_in_final_(void)446*38fd1498Szrj omp_in_final_ (void)
447*38fd1498Szrj {
448*38fd1498Szrj   return omp_in_final ();
449*38fd1498Szrj }
450*38fd1498Szrj 
451*38fd1498Szrj int32_t
omp_get_cancellation_(void)452*38fd1498Szrj omp_get_cancellation_ (void)
453*38fd1498Szrj {
454*38fd1498Szrj   return omp_get_cancellation ();
455*38fd1498Szrj }
456*38fd1498Szrj 
457*38fd1498Szrj int32_t
omp_get_proc_bind_(void)458*38fd1498Szrj omp_get_proc_bind_ (void)
459*38fd1498Szrj {
460*38fd1498Szrj   return omp_get_proc_bind ();
461*38fd1498Szrj }
462*38fd1498Szrj 
463*38fd1498Szrj int32_t
omp_get_num_places_(void)464*38fd1498Szrj omp_get_num_places_ (void)
465*38fd1498Szrj {
466*38fd1498Szrj   return omp_get_num_places ();
467*38fd1498Szrj }
468*38fd1498Szrj 
469*38fd1498Szrj int32_t
omp_get_place_num_procs_(const int32_t * place_num)470*38fd1498Szrj omp_get_place_num_procs_ (const int32_t *place_num)
471*38fd1498Szrj {
472*38fd1498Szrj   return omp_get_place_num_procs (*place_num);
473*38fd1498Szrj }
474*38fd1498Szrj 
475*38fd1498Szrj int32_t
omp_get_place_num_procs_8_(const int64_t * place_num)476*38fd1498Szrj omp_get_place_num_procs_8_ (const int64_t *place_num)
477*38fd1498Szrj {
478*38fd1498Szrj   return omp_get_place_num_procs (TO_INT (*place_num));
479*38fd1498Szrj }
480*38fd1498Szrj 
481*38fd1498Szrj void
omp_get_place_proc_ids_(const int32_t * place_num,int32_t * ids)482*38fd1498Szrj omp_get_place_proc_ids_ (const int32_t *place_num, int32_t *ids)
483*38fd1498Szrj {
484*38fd1498Szrj   omp_get_place_proc_ids (*place_num, (int *) ids);
485*38fd1498Szrj }
486*38fd1498Szrj 
487*38fd1498Szrj void
omp_get_place_proc_ids_8_(const int64_t * place_num,int64_t * ids)488*38fd1498Szrj omp_get_place_proc_ids_8_ (const int64_t *place_num, int64_t *ids)
489*38fd1498Szrj {
490*38fd1498Szrj   gomp_get_place_proc_ids_8 (TO_INT (*place_num), ids);
491*38fd1498Szrj }
492*38fd1498Szrj 
493*38fd1498Szrj int32_t
omp_get_place_num_(void)494*38fd1498Szrj omp_get_place_num_ (void)
495*38fd1498Szrj {
496*38fd1498Szrj   return omp_get_place_num ();
497*38fd1498Szrj }
498*38fd1498Szrj 
499*38fd1498Szrj int32_t
omp_get_partition_num_places_(void)500*38fd1498Szrj omp_get_partition_num_places_ (void)
501*38fd1498Szrj {
502*38fd1498Szrj   return omp_get_partition_num_places ();
503*38fd1498Szrj }
504*38fd1498Szrj 
505*38fd1498Szrj void
omp_get_partition_place_nums_(int32_t * place_nums)506*38fd1498Szrj omp_get_partition_place_nums_ (int32_t *place_nums)
507*38fd1498Szrj {
508*38fd1498Szrj   omp_get_partition_place_nums ((int *) place_nums);
509*38fd1498Szrj }
510*38fd1498Szrj 
511*38fd1498Szrj void
omp_get_partition_place_nums_8_(int64_t * place_nums)512*38fd1498Szrj omp_get_partition_place_nums_8_ (int64_t *place_nums)
513*38fd1498Szrj {
514*38fd1498Szrj   if (gomp_places_list == NULL)
515*38fd1498Szrj     return;
516*38fd1498Szrj 
517*38fd1498Szrj   struct gomp_thread *thr = gomp_thread ();
518*38fd1498Szrj   if (thr->place == 0)
519*38fd1498Szrj     gomp_init_affinity ();
520*38fd1498Szrj 
521*38fd1498Szrj   unsigned int i;
522*38fd1498Szrj   for (i = 0; i < thr->ts.place_partition_len; i++)
523*38fd1498Szrj     *place_nums++ = (int64_t) thr->ts.place_partition_off + i;
524*38fd1498Szrj }
525*38fd1498Szrj 
526*38fd1498Szrj void
omp_set_default_device_(const int32_t * device_num)527*38fd1498Szrj omp_set_default_device_ (const int32_t *device_num)
528*38fd1498Szrj {
529*38fd1498Szrj   return omp_set_default_device (*device_num);
530*38fd1498Szrj }
531*38fd1498Szrj 
532*38fd1498Szrj void
omp_set_default_device_8_(const int64_t * device_num)533*38fd1498Szrj omp_set_default_device_8_ (const int64_t *device_num)
534*38fd1498Szrj {
535*38fd1498Szrj   return omp_set_default_device (TO_INT (*device_num));
536*38fd1498Szrj }
537*38fd1498Szrj 
538*38fd1498Szrj int32_t
omp_get_default_device_(void)539*38fd1498Szrj omp_get_default_device_ (void)
540*38fd1498Szrj {
541*38fd1498Szrj   return omp_get_default_device ();
542*38fd1498Szrj }
543*38fd1498Szrj 
544*38fd1498Szrj int32_t
omp_get_num_devices_(void)545*38fd1498Szrj omp_get_num_devices_ (void)
546*38fd1498Szrj {
547*38fd1498Szrj   return omp_get_num_devices ();
548*38fd1498Szrj }
549*38fd1498Szrj 
550*38fd1498Szrj int32_t
omp_get_num_teams_(void)551*38fd1498Szrj omp_get_num_teams_ (void)
552*38fd1498Szrj {
553*38fd1498Szrj   return omp_get_num_teams ();
554*38fd1498Szrj }
555*38fd1498Szrj 
556*38fd1498Szrj int32_t
omp_get_team_num_(void)557*38fd1498Szrj omp_get_team_num_ (void)
558*38fd1498Szrj {
559*38fd1498Szrj   return omp_get_team_num ();
560*38fd1498Szrj }
561*38fd1498Szrj 
562*38fd1498Szrj int32_t
omp_is_initial_device_(void)563*38fd1498Szrj omp_is_initial_device_ (void)
564*38fd1498Szrj {
565*38fd1498Szrj   return omp_is_initial_device ();
566*38fd1498Szrj }
567*38fd1498Szrj 
568*38fd1498Szrj int32_t
omp_get_initial_device_(void)569*38fd1498Szrj omp_get_initial_device_ (void)
570*38fd1498Szrj {
571*38fd1498Szrj   return omp_get_initial_device ();
572*38fd1498Szrj }
573*38fd1498Szrj 
574*38fd1498Szrj int32_t
omp_get_max_task_priority_(void)575*38fd1498Szrj omp_get_max_task_priority_ (void)
576*38fd1498Szrj {
577*38fd1498Szrj   return omp_get_max_task_priority ();
578*38fd1498Szrj }
579