]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libgomp/lib/contrib/gcc-4.9/libgomp/omp_lib.f90.in
update
[l4.git] / l4 / pkg / libgomp / lib / contrib / gcc-4.9 / libgomp / omp_lib.f90.in
1 !  Copyright (C) 2005-2014 Free Software Foundation, Inc.
2 !  Contributed by Jakub Jelinek <jakub@redhat.com>.
3
4 !  This file is part of the GNU OpenMP Library (libgomp).
5
6 !  Libgomp is free software; you can redistribute it and/or modify it
7 !  under the terms of the GNU General Public License as published by
8 !  the Free Software Foundation; either version 3, or (at your option)
9 !  any later version.
10
11 !  Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
12 !  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13 !  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14 !  more details.
15
16 !  Under Section 7 of GPL version 3, you are granted additional
17 !  permissions described in the GCC Runtime Library Exception, version
18 !  3.1, as published by the Free Software Foundation.
19
20 !  You should have received a copy of the GNU General Public License and
21 !  a copy of the GCC Runtime Library Exception along with this program;
22 !  see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23 !  <http://www.gnu.org/licenses/>.
24
25       module omp_lib_kinds
26         implicit none
27         integer, parameter :: omp_lock_kind = @OMP_LOCK_KIND@
28         integer, parameter :: omp_nest_lock_kind = @OMP_NEST_LOCK_KIND@
29         integer, parameter :: omp_sched_kind = 4
30         integer, parameter :: omp_proc_bind_kind = 4
31         integer (omp_sched_kind), parameter :: omp_sched_static = 1
32         integer (omp_sched_kind), parameter :: omp_sched_dynamic = 2
33         integer (omp_sched_kind), parameter :: omp_sched_guided = 3
34         integer (omp_sched_kind), parameter :: omp_sched_auto = 4
35         integer (omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
36         integer (omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
37         integer (omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
38         integer (omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
39         integer (omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
40       end module
41
42       module omp_lib
43         use omp_lib_kinds
44         implicit none
45         integer, parameter :: openmp_version = 201307
46
47         interface
48           subroutine omp_init_lock (svar)
49             use omp_lib_kinds
50             integer (omp_lock_kind), intent (out) :: svar
51           end subroutine omp_init_lock
52         end interface
53
54         interface
55           subroutine omp_init_nest_lock (nvar)
56             use omp_lib_kinds
57             integer (omp_nest_lock_kind), intent (out) :: nvar
58           end subroutine omp_init_nest_lock
59         end interface
60
61         interface
62           subroutine omp_destroy_lock (svar)
63             use omp_lib_kinds
64             integer (omp_lock_kind), intent (inout) :: svar
65           end subroutine omp_destroy_lock
66         end interface
67
68         interface
69           subroutine omp_destroy_nest_lock (nvar)
70             use omp_lib_kinds
71             integer (omp_nest_lock_kind), intent (inout) :: nvar
72           end subroutine omp_destroy_nest_lock
73         end interface
74
75         interface
76           subroutine omp_set_lock (svar)
77             use omp_lib_kinds
78             integer (omp_lock_kind), intent (inout) :: svar
79           end subroutine omp_set_lock
80         end interface
81
82         interface
83           subroutine omp_set_nest_lock (nvar)
84             use omp_lib_kinds
85             integer (omp_nest_lock_kind), intent (inout) :: nvar
86           end subroutine omp_set_nest_lock
87         end interface
88
89         interface
90           subroutine omp_unset_lock (svar)
91             use omp_lib_kinds
92             integer (omp_lock_kind), intent (inout) :: svar
93           end subroutine omp_unset_lock
94         end interface
95
96         interface
97           subroutine omp_unset_nest_lock (nvar)
98             use omp_lib_kinds
99             integer (omp_nest_lock_kind), intent (inout) :: nvar
100           end subroutine omp_unset_nest_lock
101         end interface
102
103         interface omp_set_dynamic
104           subroutine omp_set_dynamic (dynamic_threads)
105             logical (4), intent (in) :: dynamic_threads
106           end subroutine omp_set_dynamic
107           subroutine omp_set_dynamic_8 (dynamic_threads)
108             logical (8), intent (in) :: dynamic_threads
109           end subroutine omp_set_dynamic_8
110         end interface
111
112         interface omp_set_nested
113           subroutine omp_set_nested (nested)
114             logical (4), intent (in) :: nested
115           end subroutine omp_set_nested
116           subroutine omp_set_nested_8 (nested)
117             logical (8), intent (in) :: nested
118           end subroutine omp_set_nested_8
119         end interface
120
121         interface omp_set_num_threads
122           subroutine omp_set_num_threads (num_threads)
123             integer (4), intent (in) :: num_threads
124           end subroutine omp_set_num_threads
125           subroutine omp_set_num_threads_8 (num_threads)
126             integer (8), intent (in) :: num_threads
127           end subroutine omp_set_num_threads_8
128         end interface
129
130         interface
131           function omp_get_dynamic ()
132             logical (4) :: omp_get_dynamic
133           end function omp_get_dynamic
134         end interface
135
136         interface
137           function omp_get_nested ()
138             logical (4) :: omp_get_nested
139           end function omp_get_nested
140         end interface
141
142         interface
143           function omp_in_parallel ()
144             logical (4) :: omp_in_parallel
145           end function omp_in_parallel
146         end interface
147
148         interface
149           function omp_test_lock (svar)
150             use omp_lib_kinds
151             logical (4) :: omp_test_lock
152             integer (omp_lock_kind), intent (inout) :: svar
153           end function omp_test_lock
154         end interface
155
156         interface
157           function omp_get_max_threads ()
158             integer (4) :: omp_get_max_threads
159           end function omp_get_max_threads
160         end interface
161
162         interface
163           function omp_get_num_procs ()
164             integer (4) :: omp_get_num_procs
165           end function omp_get_num_procs
166         end interface
167
168         interface
169           function omp_get_num_threads ()
170             integer (4) :: omp_get_num_threads
171           end function omp_get_num_threads
172         end interface
173
174         interface
175           function omp_get_thread_num ()
176             integer (4) :: omp_get_thread_num
177           end function omp_get_thread_num
178         end interface
179
180         interface
181           function omp_test_nest_lock (nvar)
182             use omp_lib_kinds
183             integer (4) :: omp_test_nest_lock
184             integer (omp_nest_lock_kind), intent (inout) :: nvar
185           end function omp_test_nest_lock
186         end interface
187
188         interface
189           function omp_get_wtick ()
190             double precision :: omp_get_wtick
191           end function omp_get_wtick
192         end interface
193
194         interface
195           function omp_get_wtime ()
196             double precision :: omp_get_wtime
197           end function omp_get_wtime
198         end interface
199
200         interface omp_set_schedule
201           subroutine omp_set_schedule (kind, modifier)
202             use omp_lib_kinds
203             integer (omp_sched_kind), intent (in) :: kind
204             integer (4), intent (in) :: modifier
205           end subroutine omp_set_schedule
206           subroutine omp_set_schedule_8 (kind, modifier)
207             use omp_lib_kinds
208             integer (omp_sched_kind), intent (in) :: kind
209             integer (8), intent (in) :: modifier
210           end subroutine omp_set_schedule_8
211          end interface
212
213         interface omp_get_schedule
214           subroutine omp_get_schedule (kind, modifier)
215             use omp_lib_kinds
216             integer (omp_sched_kind), intent (out) :: kind
217             integer (4), intent (out) :: modifier
218           end subroutine omp_get_schedule
219           subroutine omp_get_schedule_8 (kind, modifier)
220             use omp_lib_kinds
221             integer (omp_sched_kind), intent (out) :: kind
222             integer (8), intent (out) :: modifier
223           end subroutine omp_get_schedule_8
224          end interface
225
226         interface
227           function omp_get_thread_limit ()
228             integer (4) :: omp_get_thread_limit
229           end function omp_get_thread_limit
230         end interface
231
232         interface omp_set_max_active_levels
233           subroutine omp_set_max_active_levels (max_levels)
234             integer (4), intent (in) :: max_levels
235           end subroutine omp_set_max_active_levels
236           subroutine omp_set_max_active_levels_8 (max_levels)
237             integer (8), intent (in) :: max_levels
238           end subroutine omp_set_max_active_levels_8
239         end interface
240
241         interface
242           function omp_get_max_active_levels ()
243             integer (4) :: omp_get_max_active_levels
244           end function omp_get_max_active_levels
245         end interface
246
247         interface
248           function omp_get_level ()
249             integer (4) :: omp_get_level
250           end function omp_get_level
251         end interface
252
253         interface omp_get_ancestor_thread_num
254           function omp_get_ancestor_thread_num (level)
255             integer (4), intent (in) :: level
256             integer (4) :: omp_get_ancestor_thread_num
257           end function omp_get_ancestor_thread_num
258           function omp_get_ancestor_thread_num_8 (level)
259             integer (8), intent (in) :: level
260             integer (4) :: omp_get_ancestor_thread_num_8
261           end function omp_get_ancestor_thread_num_8
262         end interface
263
264         interface omp_get_team_size
265           function omp_get_team_size (level)
266             integer (4), intent (in) :: level
267             integer (4) :: omp_get_team_size
268           end function omp_get_team_size
269           function omp_get_team_size_8 (level)
270             integer (8), intent (in) :: level
271             integer (4) :: omp_get_team_size_8
272           end function omp_get_team_size_8
273         end interface
274
275         interface
276           function omp_get_active_level ()
277             integer (4) :: omp_get_active_level
278           end function omp_get_active_level
279         end interface
280
281         interface
282           function omp_in_final ()
283             logical (4) :: omp_in_final
284           end function omp_in_final
285         end interface
286
287         interface
288           function omp_get_cancellation ()
289             logical (4) :: omp_get_cancellation
290           end function omp_get_cancellation
291         end interface
292
293         interface
294           function omp_get_proc_bind ()
295             use omp_lib_kinds
296             integer (omp_proc_bind_kind) :: omp_get_proc_bind
297           end function omp_get_proc_bind
298         end interface
299
300         interface omp_set_default_device
301           subroutine omp_set_default_device (device_num)
302             integer (4), intent (in) :: device_num
303           end subroutine omp_set_default_device
304           subroutine omp_set_default_device_8 (device_num)
305             integer (8), intent (in) :: device_num
306           end subroutine omp_set_default_device_8
307         end interface
308
309         interface
310           function omp_get_default_device ()
311             integer (4) :: omp_get_default_device
312           end function omp_get_default_device
313         end interface
314
315         interface
316           function omp_get_num_devices ()
317             integer (4) :: omp_get_num_devices
318           end function omp_get_num_devices
319         end interface
320
321         interface
322           function omp_get_num_teams ()
323             integer (4) :: omp_get_num_teams
324           end function omp_get_num_teams
325         end interface
326
327         interface
328           function omp_get_team_num ()
329             integer (4) :: omp_get_team_num
330           end function omp_get_team_num
331         end interface
332
333         interface
334           function omp_is_initial_device ()
335             logical (4) :: omp_is_initial_device
336           end function omp_is_initial_device
337         end interface
338
339       end module omp_lib