]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/openmp/runtime/src/include/30/omp_lib.f.var
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / openmp / runtime / src / include / 30 / omp_lib.f.var
1 ! include/30/omp_lib.f.var
2
3 !
4 !//===----------------------------------------------------------------------===//
5 !//
6 !//                     The LLVM Compiler Infrastructure
7 !//
8 !// This file is dual licensed under the MIT and the University of Illinois Open
9 !// Source Licenses. See LICENSE.txt for details.
10 !//
11 !//===----------------------------------------------------------------------===//
12 !
13
14 !***
15 !*** Some of the directives for the following routine extend past column 72,
16 !*** so process this file in 132-column mode.
17 !***
18
19 !dec$ fixedformlinesize:132
20
21       module omp_lib_kinds
22
23         integer, parameter :: omp_integer_kind       = 4
24         integer, parameter :: omp_logical_kind       = 4
25         integer, parameter :: omp_real_kind          = 4
26         integer, parameter :: omp_lock_kind          = int_ptr_kind()
27         integer, parameter :: omp_nest_lock_kind     = int_ptr_kind()
28         integer, parameter :: omp_sched_kind         = omp_integer_kind
29         integer, parameter :: kmp_pointer_kind       = int_ptr_kind()
30         integer, parameter :: kmp_size_t_kind        = int_ptr_kind()
31         integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
32
33       end module omp_lib_kinds
34
35       module omp_lib
36
37         use omp_lib_kinds
38
39         integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
40         integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
41         integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
42         character(*), parameter :: kmp_build_date    = '@LIBOMP_BUILD_DATE@'
43         integer (kind=omp_integer_kind), parameter :: openmp_version    = @LIBOMP_OMP_YEAR_MONTH@
44
45         integer(kind=omp_sched_kind), parameter :: omp_sched_static  = 1
46         integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
47         integer(kind=omp_sched_kind), parameter :: omp_sched_guided  = 3
48         integer(kind=omp_sched_kind), parameter :: omp_sched_auto    = 4
49
50         interface
51
52 !         ***
53 !         *** omp_* entry points
54 !         ***
55
56           subroutine omp_set_num_threads(nthreads)
57             use omp_lib_kinds
58             integer (kind=omp_integer_kind) nthreads
59           end subroutine omp_set_num_threads
60
61           subroutine omp_set_dynamic(enable)
62             use omp_lib_kinds
63             logical (kind=omp_logical_kind) enable
64           end subroutine omp_set_dynamic
65
66           subroutine omp_set_nested(enable)
67             use omp_lib_kinds
68             logical (kind=omp_logical_kind) enable
69           end subroutine omp_set_nested
70
71           function omp_get_num_threads()
72             use omp_lib_kinds
73             integer (kind=omp_integer_kind) omp_get_num_threads
74           end function omp_get_num_threads
75
76           function omp_get_max_threads()
77             use omp_lib_kinds
78             integer (kind=omp_integer_kind) omp_get_max_threads
79           end function omp_get_max_threads
80
81           function omp_get_thread_num()
82             use omp_lib_kinds
83             integer (kind=omp_integer_kind) omp_get_thread_num
84           end function omp_get_thread_num
85
86           function omp_get_num_procs()
87             use omp_lib_kinds
88             integer (kind=omp_integer_kind) omp_get_num_procs
89           end function omp_get_num_procs
90
91           function omp_in_parallel()
92             use omp_lib_kinds
93             logical (kind=omp_logical_kind) omp_in_parallel
94           end function omp_in_parallel
95
96           function omp_get_dynamic()
97             use omp_lib_kinds
98             logical (kind=omp_logical_kind) omp_get_dynamic
99           end function omp_get_dynamic
100
101           function omp_get_nested()
102             use omp_lib_kinds
103             logical (kind=omp_logical_kind) omp_get_nested
104           end function omp_get_nested
105
106           function omp_get_thread_limit()
107             use omp_lib_kinds
108             integer (kind=omp_integer_kind) omp_get_thread_limit
109           end function omp_get_thread_limit
110
111           subroutine omp_set_max_active_levels(max_levels)
112             use omp_lib_kinds
113             integer (kind=omp_integer_kind) max_levels
114           end subroutine omp_set_max_active_levels
115
116           function omp_get_max_active_levels()
117             use omp_lib_kinds
118             integer (kind=omp_integer_kind) omp_get_max_active_levels
119           end function omp_get_max_active_levels
120
121           function omp_get_level()
122             use omp_lib_kinds
123             integer (kind=omp_integer_kind) omp_get_level
124           end function omp_get_level
125
126           function omp_get_active_level()
127             use omp_lib_kinds
128             integer (kind=omp_integer_kind) omp_get_active_level
129           end function omp_get_active_level
130
131           function omp_get_ancestor_thread_num(level)
132             use omp_lib_kinds
133             integer (kind=omp_integer_kind) level
134             integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
135           end function omp_get_ancestor_thread_num
136
137           function omp_get_team_size(level)
138             use omp_lib_kinds
139             integer (kind=omp_integer_kind) level
140             integer (kind=omp_integer_kind) omp_get_team_size
141           end function omp_get_team_size
142
143           subroutine omp_set_schedule(kind, modifier)
144             use omp_lib_kinds
145             integer (kind=omp_sched_kind) kind
146             integer (kind=omp_integer_kind) modifier
147           end subroutine omp_set_schedule
148
149           subroutine omp_get_schedule(kind, modifier)
150             use omp_lib_kinds
151             integer (kind=omp_sched_kind) kind
152             integer (kind=omp_integer_kind) modifier
153           end subroutine omp_get_schedule
154
155           function omp_get_wtime()
156             double precision omp_get_wtime
157           end function omp_get_wtime
158
159           function omp_get_wtick ()
160             double precision omp_get_wtick
161           end function omp_get_wtick
162
163           subroutine omp_init_lock(lockvar)
164             use omp_lib_kinds
165             integer (kind=omp_lock_kind) lockvar
166           end subroutine omp_init_lock
167
168           subroutine omp_destroy_lock(lockvar)
169             use omp_lib_kinds
170             integer (kind=omp_lock_kind) lockvar
171           end subroutine omp_destroy_lock
172
173           subroutine omp_set_lock(lockvar)
174             use omp_lib_kinds
175             integer (kind=omp_lock_kind) lockvar
176           end subroutine omp_set_lock
177
178           subroutine omp_unset_lock(lockvar)
179             use omp_lib_kinds
180             integer (kind=omp_lock_kind) lockvar
181           end subroutine omp_unset_lock
182
183           function omp_test_lock(lockvar)
184             use omp_lib_kinds
185             logical (kind=omp_logical_kind) omp_test_lock
186             integer (kind=omp_lock_kind) lockvar
187           end function omp_test_lock
188
189           subroutine omp_init_nest_lock(lockvar)
190             use omp_lib_kinds
191             integer (kind=omp_nest_lock_kind) lockvar
192           end subroutine omp_init_nest_lock
193
194           subroutine omp_destroy_nest_lock(lockvar)
195             use omp_lib_kinds
196             integer (kind=omp_nest_lock_kind) lockvar
197           end subroutine omp_destroy_nest_lock
198
199           subroutine omp_set_nest_lock(lockvar)
200             use omp_lib_kinds
201             integer (kind=omp_nest_lock_kind) lockvar
202           end subroutine omp_set_nest_lock
203
204           subroutine omp_unset_nest_lock(lockvar)
205             use omp_lib_kinds
206             integer (kind=omp_nest_lock_kind) lockvar
207           end subroutine omp_unset_nest_lock
208
209           function omp_test_nest_lock(lockvar)
210             use omp_lib_kinds
211             integer (kind=omp_integer_kind) omp_test_nest_lock
212             integer (kind=omp_nest_lock_kind) lockvar
213           end function omp_test_nest_lock
214
215 !         ***
216 !         *** kmp_* entry points
217 !         ***
218
219           subroutine kmp_set_stacksize(size)
220             use omp_lib_kinds
221             integer (kind=omp_integer_kind) size
222           end subroutine kmp_set_stacksize
223
224           subroutine kmp_set_stacksize_s(size)
225             use omp_lib_kinds
226             integer (kind=kmp_size_t_kind) size
227           end subroutine kmp_set_stacksize_s
228
229           subroutine kmp_set_blocktime(msec)
230             use omp_lib_kinds
231             integer (kind=omp_integer_kind) msec
232           end subroutine kmp_set_blocktime
233
234           subroutine kmp_set_library_serial()
235           end subroutine kmp_set_library_serial
236
237           subroutine kmp_set_library_turnaround()
238           end subroutine kmp_set_library_turnaround
239
240           subroutine kmp_set_library_throughput()
241           end subroutine kmp_set_library_throughput
242
243           subroutine kmp_set_library(libnum)
244             use omp_lib_kinds
245             integer (kind=omp_integer_kind) libnum
246           end subroutine kmp_set_library
247
248           subroutine kmp_set_defaults(string)
249             character*(*) string
250           end subroutine kmp_set_defaults
251
252           function kmp_get_stacksize()
253             use omp_lib_kinds
254             integer (kind=omp_integer_kind) kmp_get_stacksize
255           end function kmp_get_stacksize
256
257           function kmp_get_stacksize_s()
258             use omp_lib_kinds
259             integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
260           end function kmp_get_stacksize_s
261
262           function kmp_get_blocktime()
263             use omp_lib_kinds
264             integer (kind=omp_integer_kind) kmp_get_blocktime
265           end function kmp_get_blocktime
266
267           function kmp_get_library()
268             use omp_lib_kinds
269             integer (kind=omp_integer_kind) kmp_get_library
270           end function kmp_get_library
271
272           function kmp_set_affinity(mask)
273             use omp_lib_kinds
274             integer (kind=omp_integer_kind) kmp_set_affinity
275             integer (kind=kmp_affinity_mask_kind) mask
276           end function kmp_set_affinity
277
278           function kmp_get_affinity(mask)
279             use omp_lib_kinds
280             integer (kind=omp_integer_kind) kmp_get_affinity
281             integer (kind=kmp_affinity_mask_kind) mask
282           end function kmp_get_affinity
283
284           function kmp_get_affinity_max_proc()
285             use omp_lib_kinds
286             integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
287           end function kmp_get_affinity_max_proc
288
289           subroutine kmp_create_affinity_mask(mask)
290             use omp_lib_kinds
291             integer (kind=kmp_affinity_mask_kind) mask
292           end subroutine kmp_create_affinity_mask
293
294           subroutine kmp_destroy_affinity_mask(mask)
295             use omp_lib_kinds
296             integer (kind=kmp_affinity_mask_kind) mask
297           end subroutine kmp_destroy_affinity_mask
298
299           function kmp_set_affinity_mask_proc(proc, mask)
300             use omp_lib_kinds
301             integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
302             integer (kind=omp_integer_kind) proc
303             integer (kind=kmp_affinity_mask_kind) mask
304           end function kmp_set_affinity_mask_proc
305
306           function kmp_unset_affinity_mask_proc(proc, mask)
307             use omp_lib_kinds
308             integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
309             integer (kind=omp_integer_kind) proc
310             integer (kind=kmp_affinity_mask_kind) mask
311           end function kmp_unset_affinity_mask_proc
312
313           function kmp_get_affinity_mask_proc(proc, mask)
314             use omp_lib_kinds
315             integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
316             integer (kind=omp_integer_kind) proc
317             integer (kind=kmp_affinity_mask_kind) mask
318           end function kmp_get_affinity_mask_proc
319
320           function kmp_malloc(size)
321             use omp_lib_kinds
322             integer (kind=kmp_pointer_kind) kmp_malloc
323             integer (kind=kmp_size_t_kind) size
324           end function kmp_malloc
325
326           function kmp_aligned_malloc(size, alignment)
327             use omp_lib_kinds
328             integer (kind=kmp_pointer_kind) kmp_aligned_malloc
329             integer (kind=kmp_size_t_kind) size
330             integer (kind=kmp_size_t_kind) alignment
331           end function kmp_aligned_malloc
332
333           function kmp_calloc(nelem, elsize)
334             use omp_lib_kinds
335             integer (kind=kmp_pointer_kind) kmp_calloc
336             integer (kind=kmp_size_t_kind) nelem
337             integer (kind=kmp_size_t_kind) elsize
338           end function kmp_calloc
339
340           function kmp_realloc(ptr, size)
341             use omp_lib_kinds
342             integer (kind=kmp_pointer_kind) kmp_realloc
343             integer (kind=kmp_pointer_kind) ptr
344             integer (kind=kmp_size_t_kind) size
345           end function kmp_realloc
346
347           subroutine kmp_free(ptr)
348             use omp_lib_kinds
349             integer (kind=kmp_pointer_kind) ptr
350           end subroutine kmp_free
351
352           subroutine kmp_set_warnings_on()
353           end subroutine kmp_set_warnings_on
354
355           subroutine kmp_set_warnings_off()
356           end subroutine kmp_set_warnings_off
357
358         end interface
359
360 !dec$ if defined(_WIN32)
361 !dec$   if defined(_WIN64) .or. defined(_M_AMD64)
362
363 !***
364 !*** The Fortran entry points must be in uppercase, even if the /Qlowercase
365 !*** option is specified.  The alias attribute ensures that the specified
366 !*** string is used as the entry point.
367 !***
368 !*** On the Windows* OS IA-32 architecture, the Fortran entry points have an
369 !*** underscore prepended.  On the Windows* OS Intel(R) 64
370 !*** architecture, no underscore is prepended.
371 !***
372
373 !dec$ attributes alias:'OMP_SET_NUM_THREADS' :: omp_set_num_threads
374 !dec$ attributes alias:'OMP_SET_DYNAMIC' :: omp_set_dynamic
375 !dec$ attributes alias:'OMP_SET_NESTED' :: omp_set_nested
376 !dec$ attributes alias:'OMP_GET_NUM_THREADS' :: omp_get_num_threads
377 !dec$ attributes alias:'OMP_GET_MAX_THREADS' :: omp_get_max_threads
378 !dec$ attributes alias:'OMP_GET_THREAD_NUM' :: omp_get_thread_num
379 !dec$ attributes alias:'OMP_GET_NUM_PROCS' :: omp_get_num_procs
380 !dec$ attributes alias:'OMP_IN_PARALLEL' :: omp_in_parallel
381 !dec$ attributes alias:'OMP_GET_DYNAMIC' :: omp_get_dynamic
382 !dec$ attributes alias:'OMP_GET_NESTED' :: omp_get_nested
383 !dec$ attributes alias:'OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
384 !dec$ attributes alias:'OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
385 !dec$ attributes alias:'OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
386 !dec$ attributes alias:'OMP_GET_LEVEL' :: omp_get_level
387 !dec$ attributes alias:'OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
388 !dec$ attributes alias:'OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
389 !dec$ attributes alias:'OMP_GET_TEAM_SIZE' :: omp_get_team_size
390 !dec$ attributes alias:'OMP_SET_SCHEDULE' :: omp_set_schedule
391 !dec$ attributes alias:'OMP_GET_SCHEDULE' :: omp_get_schedule
392 !dec$ attributes alias:'OMP_GET_WTIME' :: omp_get_wtime
393 !dec$ attributes alias:'OMP_GET_WTICK' :: omp_get_wtick
394
395 !dec$ attributes alias:'omp_init_lock' :: omp_init_lock
396 !dec$ attributes alias:'omp_destroy_lock' :: omp_destroy_lock
397 !dec$ attributes alias:'omp_set_lock' :: omp_set_lock
398 !dec$ attributes alias:'omp_unset_lock' :: omp_unset_lock
399 !dec$ attributes alias:'omp_test_lock' :: omp_test_lock
400 !dec$ attributes alias:'omp_init_nest_lock' :: omp_init_nest_lock
401 !dec$ attributes alias:'omp_destroy_nest_lock' :: omp_destroy_nest_lock
402 !dec$ attributes alias:'omp_set_nest_lock' :: omp_set_nest_lock
403 !dec$ attributes alias:'omp_unset_nest_lock' :: omp_unset_nest_lock
404 !dec$ attributes alias:'omp_test_nest_lock' :: omp_test_nest_lock
405
406 !dec$ attributes alias:'KMP_SET_STACKSIZE'::kmp_set_stacksize
407 !dec$ attributes alias:'KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
408 !dec$ attributes alias:'KMP_SET_BLOCKTIME'::kmp_set_blocktime
409 !dec$ attributes alias:'KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
410 !dec$ attributes alias:'KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
411 !dec$ attributes alias:'KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
412 !dec$ attributes alias:'KMP_SET_LIBRARY'::kmp_set_library
413 !dec$ attributes alias:'KMP_GET_STACKSIZE'::kmp_get_stacksize
414 !dec$ attributes alias:'KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
415 !dec$ attributes alias:'KMP_GET_BLOCKTIME'::kmp_get_blocktime
416 !dec$ attributes alias:'KMP_GET_LIBRARY'::kmp_get_library
417 !dec$ attributes alias:'KMP_SET_AFFINITY'::kmp_set_affinity
418 !dec$ attributes alias:'KMP_GET_AFFINITY'::kmp_get_affinity
419 !dec$ attributes alias:'KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
420 !dec$ attributes alias:'KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
421 !dec$ attributes alias:'KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
422 !dec$ attributes alias:'KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
423 !dec$ attributes alias:'KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
424 !dec$ attributes alias:'KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
425 !dec$ attributes alias:'KMP_MALLOC'::kmp_malloc
426 !dec$ attributes alias:'KMP_ALIGNED_MALLOC'::kmp_aligned_malloc
427 !dec$ attributes alias:'KMP_CALLOC'::kmp_calloc
428 !dec$ attributes alias:'KMP_REALLOC'::kmp_realloc
429 !dec$ attributes alias:'KMP_FREE'::kmp_free
430
431 !dec$ attributes alias:'KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
432 !dec$ attributes alias:'KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
433
434 !dec$   else
435
436 !***
437 !*** On Windows* OS IA-32 architecture, the Fortran entry points have an underscore prepended.
438 !***
439
440 !dec$ attributes alias:'_OMP_SET_NUM_THREADS' :: omp_set_num_threads
441 !dec$ attributes alias:'_OMP_SET_DYNAMIC' :: omp_set_dynamic
442 !dec$ attributes alias:'_OMP_SET_NESTED' :: omp_set_nested
443 !dec$ attributes alias:'_OMP_GET_NUM_THREADS' :: omp_get_num_threads
444 !dec$ attributes alias:'_OMP_GET_MAX_THREADS' :: omp_get_max_threads
445 !dec$ attributes alias:'_OMP_GET_THREAD_NUM' :: omp_get_thread_num
446 !dec$ attributes alias:'_OMP_GET_NUM_PROCS' :: omp_get_num_procs
447 !dec$ attributes alias:'_OMP_IN_PARALLEL' :: omp_in_parallel
448 !dec$ attributes alias:'_OMP_GET_DYNAMIC' :: omp_get_dynamic
449 !dec$ attributes alias:'_OMP_GET_NESTED' :: omp_get_nested
450 !dec$ attributes alias:'_OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
451 !dec$ attributes alias:'_OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
452 !dec$ attributes alias:'_OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
453 !dec$ attributes alias:'_OMP_GET_LEVEL' :: omp_get_level
454 !dec$ attributes alias:'_OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
455 !dec$ attributes alias:'_OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
456 !dec$ attributes alias:'_OMP_GET_TEAM_SIZE' :: omp_get_team_size
457 !dec$ attributes alias:'_OMP_SET_SCHEDULE' :: omp_set_schedule
458 !dec$ attributes alias:'_OMP_GET_SCHEDULE' :: omp_get_schedule
459 !dec$ attributes alias:'_OMP_GET_WTIME' :: omp_get_wtime
460 !dec$ attributes alias:'_OMP_GET_WTICK' :: omp_get_wtick
461
462 !dec$ attributes alias:'_omp_init_lock' :: omp_init_lock
463 !dec$ attributes alias:'_omp_destroy_lock' :: omp_destroy_lock
464 !dec$ attributes alias:'_omp_set_lock' :: omp_set_lock
465 !dec$ attributes alias:'_omp_unset_lock' :: omp_unset_lock
466 !dec$ attributes alias:'_omp_test_lock' :: omp_test_lock
467 !dec$ attributes alias:'_omp_init_nest_lock' :: omp_init_nest_lock
468 !dec$ attributes alias:'_omp_destroy_nest_lock' :: omp_destroy_nest_lock
469 !dec$ attributes alias:'_omp_set_nest_lock' :: omp_set_nest_lock
470 !dec$ attributes alias:'_omp_unset_nest_lock' :: omp_unset_nest_lock
471 !dec$ attributes alias:'_omp_test_nest_lock' :: omp_test_nest_lock
472
473 !dec$ attributes alias:'_KMP_SET_STACKSIZE'::kmp_set_stacksize
474 !dec$ attributes alias:'_KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
475 !dec$ attributes alias:'_KMP_SET_BLOCKTIME'::kmp_set_blocktime
476 !dec$ attributes alias:'_KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
477 !dec$ attributes alias:'_KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
478 !dec$ attributes alias:'_KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
479 !dec$ attributes alias:'_KMP_SET_LIBRARY'::kmp_set_library
480 !dec$ attributes alias:'_KMP_GET_STACKSIZE'::kmp_get_stacksize
481 !dec$ attributes alias:'_KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
482 !dec$ attributes alias:'_KMP_GET_BLOCKTIME'::kmp_get_blocktime
483 !dec$ attributes alias:'_KMP_GET_LIBRARY'::kmp_get_library
484 !dec$ attributes alias:'_KMP_SET_AFFINITY'::kmp_set_affinity
485 !dec$ attributes alias:'_KMP_GET_AFFINITY'::kmp_get_affinity
486 !dec$ attributes alias:'_KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
487 !dec$ attributes alias:'_KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
488 !dec$ attributes alias:'_KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
489 !dec$ attributes alias:'_KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
490 !dec$ attributes alias:'_KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
491 !dec$ attributes alias:'_KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
492 !dec$ attributes alias:'_KMP_MALLOC'::kmp_malloc
493 !dec$ attributes alias:'_KMP_ALIGNED_MALLOC'::kmp_aligned_malloc
494 !dec$ attributes alias:'_KMP_CALLOC'::kmp_calloc
495 !dec$ attributes alias:'_KMP_REALLOC'::kmp_realloc
496 !dec$ attributes alias:'_KMP_FREE'::kmp_free
497
498 !dec$ attributes alias:'_KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
499 !dec$ attributes alias:'_KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
500
501 !dec$   endif
502 !dec$ endif
503
504 !dec$ if defined(__linux)
505
506 !***
507 !*** The Linux* OS entry points are in lowercase, with an underscore appended.
508 !***
509
510 !dec$ attributes alias:'omp_set_num_threads_'::omp_set_num_threads
511 !dec$ attributes alias:'omp_set_dynamic_'::omp_set_dynamic
512 !dec$ attributes alias:'omp_set_nested_'::omp_set_nested
513 !dec$ attributes alias:'omp_get_num_threads_'::omp_get_num_threads
514 !dec$ attributes alias:'omp_get_max_threads_'::omp_get_max_threads
515 !dec$ attributes alias:'omp_get_thread_num_'::omp_get_thread_num
516 !dec$ attributes alias:'omp_get_num_procs_'::omp_get_num_procs
517 !dec$ attributes alias:'omp_in_parallel_'::omp_in_parallel
518 !dec$ attributes alias:'omp_get_dynamic_'::omp_get_dynamic
519 !dec$ attributes alias:'omp_get_nested_'::omp_get_nested
520 !dec$ attributes alias:'omp_get_thread_limit_'::omp_get_thread_limit
521 !dec$ attributes alias:'omp_set_max_active_levels_'::omp_set_max_active_levels
522 !dec$ attributes alias:'omp_get_max_active_levels_'::omp_get_max_active_levels
523 !dec$ attributes alias:'omp_get_level_'::omp_get_level
524 !dec$ attributes alias:'omp_get_active_level_'::omp_get_active_level
525 !dec$ attributes alias:'omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
526 !dec$ attributes alias:'omp_get_team_size_'::omp_get_team_size
527 !dec$ attributes alias:'omp_set_schedule_'::omp_set_schedule
528 !dec$ attributes alias:'omp_get_schedule_'::omp_get_schedule
529 !dec$ attributes alias:'omp_get_wtime_'::omp_get_wtime
530 !dec$ attributes alias:'omp_get_wtick_'::omp_get_wtick
531
532 !dec$ attributes alias:'omp_init_lock_'::omp_init_lock
533 !dec$ attributes alias:'omp_destroy_lock_'::omp_destroy_lock
534 !dec$ attributes alias:'omp_set_lock_'::omp_set_lock
535 !dec$ attributes alias:'omp_unset_lock_'::omp_unset_lock
536 !dec$ attributes alias:'omp_test_lock_'::omp_test_lock
537 !dec$ attributes alias:'omp_init_nest_lock_'::omp_init_nest_lock
538 !dec$ attributes alias:'omp_destroy_nest_lock_'::omp_destroy_nest_lock
539 !dec$ attributes alias:'omp_set_nest_lock_'::omp_set_nest_lock
540 !dec$ attributes alias:'omp_unset_nest_lock_'::omp_unset_nest_lock
541 !dec$ attributes alias:'omp_test_nest_lock_'::omp_test_nest_lock
542
543 !dec$ attributes alias:'kmp_set_stacksize_'::kmp_set_stacksize
544 !dec$ attributes alias:'kmp_set_stacksize_s_'::kmp_set_stacksize_s
545 !dec$ attributes alias:'kmp_set_blocktime_'::kmp_set_blocktime
546 !dec$ attributes alias:'kmp_set_library_serial_'::kmp_set_library_serial
547 !dec$ attributes alias:'kmp_set_library_turnaround_'::kmp_set_library_turnaround
548 !dec$ attributes alias:'kmp_set_library_throughput_'::kmp_set_library_throughput
549 !dec$ attributes alias:'kmp_set_library_'::kmp_set_library
550 !dec$ attributes alias:'kmp_get_stacksize_'::kmp_get_stacksize
551 !dec$ attributes alias:'kmp_get_stacksize_s_'::kmp_get_stacksize_s
552 !dec$ attributes alias:'kmp_get_blocktime_'::kmp_get_blocktime
553 !dec$ attributes alias:'kmp_get_library_'::kmp_get_library
554 !dec$ attributes alias:'kmp_set_affinity_'::kmp_set_affinity
555 !dec$ attributes alias:'kmp_get_affinity_'::kmp_get_affinity
556 !dec$ attributes alias:'kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
557 !dec$ attributes alias:'kmp_create_affinity_mask_'::kmp_create_affinity_mask
558 !dec$ attributes alias:'kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
559 !dec$ attributes alias:'kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
560 !dec$ attributes alias:'kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
561 !dec$ attributes alias:'kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
562 !dec$ attributes alias:'kmp_malloc_'::kmp_malloc
563 !dec$ attributes alias:'kmp_aligned_malloc_'::kmp_aligned_malloc
564 !dec$ attributes alias:'kmp_calloc_'::kmp_calloc
565 !dec$ attributes alias:'kmp_realloc_'::kmp_realloc
566 !dec$ attributes alias:'kmp_free_'::kmp_free
567
568 !dec$ attributes alias:'kmp_set_warnings_on_'::kmp_set_warnings_on
569 !dec$ attributes alias:'kmp_set_warnings_off_'::kmp_set_warnings_off
570
571 !dec$ endif
572
573 !dec$ if defined(__APPLE__)
574
575 !***
576 !*** The Mac entry points are in lowercase, with an both an underscore
577 !*** appended and an underscore prepended.
578 !***
579
580 !dec$ attributes alias:'_omp_set_num_threads_'::omp_set_num_threads
581 !dec$ attributes alias:'_omp_set_dynamic_'::omp_set_dynamic
582 !dec$ attributes alias:'_omp_set_nested_'::omp_set_nested
583 !dec$ attributes alias:'_omp_get_num_threads_'::omp_get_num_threads
584 !dec$ attributes alias:'_omp_get_max_threads_'::omp_get_max_threads
585 !dec$ attributes alias:'_omp_get_thread_num_'::omp_get_thread_num
586 !dec$ attributes alias:'_omp_get_num_procs_'::omp_get_num_procs
587 !dec$ attributes alias:'_omp_in_parallel_'::omp_in_parallel
588 !dec$ attributes alias:'_omp_get_dynamic_'::omp_get_dynamic
589 !dec$ attributes alias:'_omp_get_nested_'::omp_get_nested
590 !dec$ attributes alias:'_omp_get_thread_limit_'::omp_get_thread_limit
591 !dec$ attributes alias:'_omp_set_max_active_levels_'::omp_set_max_active_levels
592 !dec$ attributes alias:'_omp_get_max_active_levels_'::omp_get_max_active_levels
593 !dec$ attributes alias:'_omp_get_level_'::omp_get_level
594 !dec$ attributes alias:'_omp_get_active_level_'::omp_get_active_level
595 !dec$ attributes alias:'_omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
596 !dec$ attributes alias:'_omp_get_team_size_'::omp_get_team_size
597 !dec$ attributes alias:'_omp_set_schedule_'::omp_set_schedule
598 !dec$ attributes alias:'_omp_get_schedule_'::omp_get_schedule
599 !dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime
600 !dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick
601
602 !dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
603 !dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock
604 !dec$ attributes alias:'_omp_set_lock_'::omp_set_lock
605 !dec$ attributes alias:'_omp_unset_lock_'::omp_unset_lock
606 !dec$ attributes alias:'_omp_test_lock_'::omp_test_lock
607 !dec$ attributes alias:'_omp_init_nest_lock_'::omp_init_nest_lock
608 !dec$ attributes alias:'_omp_destroy_nest_lock_'::omp_destroy_nest_lock
609 !dec$ attributes alias:'_omp_set_nest_lock_'::omp_set_nest_lock
610 !dec$ attributes alias:'_omp_unset_nest_lock_'::omp_unset_nest_lock
611 !dec$ attributes alias:'_omp_test_nest_lock_'::omp_test_nest_lock
612
613 !dec$ attributes alias:'_kmp_set_stacksize_'::kmp_set_stacksize
614 !dec$ attributes alias:'_kmp_set_stacksize_s_'::kmp_set_stacksize_s
615 !dec$ attributes alias:'_kmp_set_blocktime_'::kmp_set_blocktime
616 !dec$ attributes alias:'_kmp_set_library_serial_'::kmp_set_library_serial
617 !dec$ attributes alias:'_kmp_set_library_turnaround_'::kmp_set_library_turnaround
618 !dec$ attributes alias:'_kmp_set_library_throughput_'::kmp_set_library_throughput
619 !dec$ attributes alias:'_kmp_set_library_'::kmp_set_library
620 !dec$ attributes alias:'_kmp_get_stacksize_'::kmp_get_stacksize
621 !dec$ attributes alias:'_kmp_get_stacksize_s_'::kmp_get_stacksize_s
622 !dec$ attributes alias:'_kmp_get_blocktime_'::kmp_get_blocktime
623 !dec$ attributes alias:'_kmp_get_library_'::kmp_get_library
624 !dec$ attributes alias:'_kmp_set_affinity_'::kmp_set_affinity
625 !dec$ attributes alias:'_kmp_get_affinity_'::kmp_get_affinity
626 !dec$ attributes alias:'_kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
627 !dec$ attributes alias:'_kmp_create_affinity_mask_'::kmp_create_affinity_mask
628 !dec$ attributes alias:'_kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
629 !dec$ attributes alias:'_kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
630 !dec$ attributes alias:'_kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
631 !dec$ attributes alias:'_kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
632 !dec$ attributes alias:'_kmp_malloc_'::kmp_malloc
633 !dec$ attributes alias:'_kmp_aligned_malloc_'::kmp_aligned_malloc
634 !dec$ attributes alias:'_kmp_calloc_'::kmp_calloc
635 !dec$ attributes alias:'_kmp_realloc_'::kmp_realloc
636 !dec$ attributes alias:'_kmp_free_'::kmp_free
637
638 !dec$ attributes alias:'_kmp_set_warnings_on_'::kmp_set_warnings_on
639 !dec$ attributes alias:'_kmp_set_warnings_off_'::kmp_set_warnings_off
640
641 !dec$ endif
642
643       end module omp_lib
644