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
645