]>
Commit | Line | Data |
---|---|---|
953ff289 DN |
1 | ! Copyright (C) 2005 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 Lesser General Public License as published by | |
8 | ! the Free Software Foundation; either version 2.1 of the License, or | |
9 | ! (at your option) 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 Lesser General Public License for | |
14 | ! more details. | |
15 | ||
16 | ! You should have received a copy of the GNU Lesser General Public License | |
17 | ! along with libgomp; see the file COPYING.LIB. If not, write to the | |
18 | ! Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | |
19 | ! MA 02110-1301, USA. */ | |
20 | ||
21 | ! As a special exception, if you link this library with other files, some | |
22 | ! of which are compiled with GCC, to produce an executable, this library | |
23 | ! does not by itself cause the resulting executable to be covered by the | |
24 | ! GNU General Public License. This exception does not however invalidate | |
25 | ! any other reasons why the executable file might be covered by the GNU | |
26 | ! General Public License. | |
27 | ||
28 | module omp_lib_kinds | |
29 | integer, parameter :: omp_integer_kind = 4 | |
30 | integer, parameter :: omp_logical_kind = 4 | |
03b8fe49 PB |
31 | integer, parameter :: omp_lock_kind = @OMP_LOCK_KIND@ |
32 | integer, parameter :: omp_nest_lock_kind = @OMP_NEST_LOCK_KIND@ | |
953ff289 DN |
33 | end module |
34 | ||
35 | module omp_lib | |
36 | use omp_lib_kinds | |
37 | integer, parameter :: openmp_version = 200505 | |
38 | ||
39 | interface | |
40 | subroutine omp_init_lock (lock) | |
41 | use omp_lib_kinds | |
42 | integer (omp_lock_kind), intent (out) :: lock | |
43 | end subroutine omp_init_lock | |
44 | end interface | |
45 | ||
46 | interface | |
47 | subroutine omp_init_nest_lock (lock) | |
48 | use omp_lib_kinds | |
49 | integer (omp_nest_lock_kind), intent (out) :: lock | |
50 | end subroutine omp_init_nest_lock | |
51 | end interface | |
52 | ||
53 | interface | |
54 | subroutine omp_destroy_lock (lock) | |
55 | use omp_lib_kinds | |
56 | integer (omp_lock_kind), intent (inout) :: lock | |
57 | end subroutine omp_destroy_lock | |
58 | end interface | |
59 | ||
60 | interface | |
61 | subroutine omp_destroy_nest_lock (lock) | |
62 | use omp_lib_kinds | |
63 | integer (omp_nest_lock_kind), intent (inout) :: lock | |
64 | end subroutine omp_destroy_nest_lock | |
65 | end interface | |
66 | ||
67 | interface | |
68 | subroutine omp_set_lock (lock) | |
69 | use omp_lib_kinds | |
70 | integer (omp_lock_kind), intent (inout) :: lock | |
71 | end subroutine omp_set_lock | |
72 | end interface | |
73 | ||
74 | interface | |
75 | subroutine omp_set_nest_lock (lock) | |
76 | use omp_lib_kinds | |
77 | integer (omp_nest_lock_kind), intent (inout) :: lock | |
78 | end subroutine omp_set_nest_lock | |
79 | end interface | |
80 | ||
81 | interface | |
82 | subroutine omp_unset_lock (lock) | |
83 | use omp_lib_kinds | |
84 | integer (omp_lock_kind), intent (inout) :: lock | |
85 | end subroutine omp_unset_lock | |
86 | end interface | |
87 | ||
88 | interface | |
89 | subroutine omp_unset_nest_lock (lock) | |
90 | use omp_lib_kinds | |
91 | integer (omp_nest_lock_kind), intent (inout) :: lock | |
92 | end subroutine omp_unset_nest_lock | |
93 | end interface | |
94 | ||
95 | interface omp_set_dynamic | |
96 | subroutine omp_set_dynamic (set) | |
97 | logical (4), intent (in) :: set | |
98 | end subroutine omp_set_dynamic | |
99 | subroutine omp_set_dynamic_8 (set) | |
100 | logical (8), intent (in) :: set | |
101 | end subroutine omp_set_dynamic_8 | |
102 | end interface | |
103 | ||
104 | interface omp_set_nested | |
105 | subroutine omp_set_nested (set) | |
106 | logical (4), intent (in) :: set | |
107 | end subroutine omp_set_nested | |
108 | subroutine omp_set_nested_8 (set) | |
109 | logical (8), intent (in) :: set | |
110 | end subroutine omp_set_nested_8 | |
111 | end interface | |
112 | ||
113 | interface omp_set_num_threads | |
114 | subroutine omp_set_num_threads (set) | |
115 | integer (4), intent (in) :: set | |
116 | end subroutine omp_set_num_threads | |
117 | subroutine omp_set_num_threads_8 (set) | |
118 | integer (8), intent (in) :: set | |
119 | end subroutine omp_set_num_threads_8 | |
120 | end interface | |
121 | ||
122 | interface | |
123 | function omp_get_dynamic () | |
124 | use omp_lib_kinds | |
125 | logical (omp_logical_kind) :: omp_get_dynamic | |
126 | end function omp_get_dynamic | |
127 | end interface | |
128 | ||
129 | interface | |
130 | function omp_get_nested () | |
131 | use omp_lib_kinds | |
132 | logical (omp_logical_kind) :: omp_get_nested | |
133 | end function omp_get_nested | |
134 | end interface | |
135 | ||
136 | interface | |
137 | function omp_in_parallel () | |
138 | use omp_lib_kinds | |
139 | logical (omp_logical_kind) :: omp_in_parallel | |
140 | end function omp_in_parallel | |
141 | end interface | |
142 | ||
143 | interface | |
144 | function omp_test_lock (lock) | |
145 | use omp_lib_kinds | |
146 | logical (omp_logical_kind) :: omp_test_lock | |
147 | integer (omp_lock_kind), intent (inout) :: lock | |
148 | end function omp_test_lock | |
149 | end interface | |
150 | ||
151 | interface | |
152 | function omp_get_max_threads () | |
153 | use omp_lib_kinds | |
154 | integer (omp_integer_kind) :: omp_get_max_threads | |
155 | end function omp_get_max_threads | |
156 | end interface | |
157 | ||
158 | interface | |
159 | function omp_get_num_procs () | |
160 | use omp_lib_kinds | |
161 | integer (omp_integer_kind) :: omp_get_num_procs | |
162 | end function omp_get_num_procs | |
163 | end interface | |
164 | ||
165 | interface | |
166 | function omp_get_num_threads () | |
167 | use omp_lib_kinds | |
168 | integer (omp_integer_kind) :: omp_get_num_threads | |
169 | end function omp_get_num_threads | |
170 | end interface | |
171 | ||
172 | interface | |
173 | function omp_get_thread_num () | |
174 | use omp_lib_kinds | |
175 | integer (omp_integer_kind) :: omp_get_thread_num | |
176 | end function omp_get_thread_num | |
177 | end interface | |
178 | ||
179 | interface | |
180 | function omp_test_nest_lock (lock) | |
181 | use omp_lib_kinds | |
182 | integer (omp_integer_kind) :: omp_test_nest_lock | |
183 | integer (omp_nest_lock_kind), intent (inout) :: lock | |
184 | end function omp_test_nest_lock | |
185 | end interface | |
186 | ||
187 | interface | |
188 | function omp_get_wtick () | |
189 | double precision :: omp_get_wtick | |
190 | end function omp_get_wtick | |
191 | end interface | |
192 | ||
193 | interface | |
194 | function omp_get_wtime () | |
195 | double precision :: omp_get_wtime | |
196 | end function omp_get_wtime | |
197 | end interface | |
198 | ||
199 | end module omp_lib |