]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/omp_lib.h.in
Daily bump.
[thirdparty/gcc.git] / libgomp / omp_lib.h.in
CommitLineData
a945c346 1! Copyright (C) 2005-2024 Free Software Foundation, Inc.
953ff289
DN
2! Contributed by Jakub Jelinek <jakub@redhat.com>.
3
f1f3453e
TS
4! This file is part of the GNU Offloading and Multi Processing Library
5! (libgomp).
953ff289
DN
6
7! Libgomp is free software; you can redistribute it and/or modify it
748086b7
JJ
8! under the terms of the GNU General Public License as published by
9! the Free Software Foundation; either version 3, or (at your option)
10! any later version.
953ff289
DN
11
12! Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
13! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
748086b7 14! FOR A PARTICULAR PURPOSE. See the GNU General Public License for
953ff289
DN
15! more details.
16
748086b7
JJ
17! Under Section 7 of GPL version 3, you are granted additional
18! permissions described in the GCC Runtime Library Exception, version
19! 3.1, as published by the Free Software Foundation.
953ff289 20
748086b7
JJ
21! You should have received a copy of the GNU General Public License and
22! a copy of the GCC Runtime Library Exception along with this program;
23! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24! <http://www.gnu.org/licenses/>.
953ff289
DN
25
26 integer omp_lock_kind, omp_nest_lock_kind, openmp_version
03b8fe49
PB
27 parameter (omp_lock_kind = @OMP_LOCK_KIND@)
28 parameter (omp_nest_lock_kind = @OMP_NEST_LOCK_KIND@)
2631d95a
TB
29 integer omp_depend_kind
30 parameter (omp_depend_kind = @OMP_DEPEND_KIND@)
20906c66 31 integer omp_sched_kind
a68ab351 32 parameter (omp_sched_kind = 4)
20906c66
JJ
33 integer (omp_sched_kind) omp_sched_static, omp_sched_dynamic
34 integer (omp_sched_kind) omp_sched_guided, omp_sched_auto
a68ab351
JJ
35 parameter (omp_sched_static = 1)
36 parameter (omp_sched_dynamic = 2)
37 parameter (omp_sched_guided = 3)
38 parameter (omp_sched_auto = 4)
acf0174b
JJ
39 integer omp_proc_bind_kind
40 parameter (omp_proc_bind_kind = 4)
41 integer (omp_proc_bind_kind) omp_proc_bind_false
42 integer (omp_proc_bind_kind) omp_proc_bind_true
432de084 43 integer (omp_proc_bind_kind) omp_proc_bind_primary
acf0174b
JJ
44 integer (omp_proc_bind_kind) omp_proc_bind_master
45 integer (omp_proc_bind_kind) omp_proc_bind_close
46 integer (omp_proc_bind_kind) omp_proc_bind_spread
47 parameter (omp_proc_bind_false = 0)
48 parameter (omp_proc_bind_true = 1)
432de084 49 parameter (omp_proc_bind_primary = 2)
acf0174b
JJ
50 parameter (omp_proc_bind_master = 2)
51 parameter (omp_proc_bind_close = 3)
52 parameter (omp_proc_bind_spread = 4)
c7c24828 53 integer omp_sync_hint_kind
d9a6bd32 54 integer omp_lock_hint_kind
c7c24828
TB
55 parameter (omp_sync_hint_kind = 4)
56 parameter (omp_lock_hint_kind = omp_sync_hint_kind)
57 integer (omp_sync_hint_kind) omp_sync_hint_none
d9a6bd32 58 integer (omp_lock_hint_kind) omp_lock_hint_none
c7c24828 59 integer (omp_sync_hint_kind) omp_sync_hint_uncontended
d9a6bd32 60 integer (omp_lock_hint_kind) omp_lock_hint_uncontended
c7c24828
TB
61 integer (omp_sync_hint_kind) omp_sync_hint_contended
62 integer (omp_sync_hint_kind) omp_lock_hint_contended
63 integer (omp_lock_hint_kind) omp_sync_hint_nonspeculative
d9a6bd32 64 integer (omp_lock_hint_kind) omp_lock_hint_nonspeculative
c7c24828 65 integer (omp_sync_hint_kind) omp_sync_hint_speculative
d9a6bd32 66 integer (omp_lock_hint_kind) omp_lock_hint_speculative
c7c24828 67 parameter (omp_sync_hint_none = 0)
d9a6bd32 68 parameter (omp_lock_hint_none = 0)
c7c24828 69 parameter (omp_sync_hint_uncontended = 1)
d9a6bd32 70 parameter (omp_lock_hint_uncontended = 1)
c7c24828 71 parameter (omp_sync_hint_contended = 2)
d9a6bd32 72 parameter (omp_lock_hint_contended = 2)
c7c24828 73 parameter (omp_sync_hint_nonspeculative = 4)
d9a6bd32 74 parameter (omp_lock_hint_nonspeculative = 4)
c7c24828 75 parameter (omp_sync_hint_speculative = 8)
d9a6bd32 76 parameter (omp_lock_hint_speculative = 8)
8ebd1b31 77 parameter (openmp_version = 201511)
28567c40
JJ
78 integer omp_pause_resource_kind
79 parameter (omp_pause_resource_kind = 4)
80 integer (omp_pause_resource_kind) omp_pause_soft
81 integer (omp_pause_resource_kind) omp_pause_hard
82 parameter (omp_pause_soft = 1)
83 parameter (omp_pause_hard = 2)
953ff289 84
fff15bad
TB
85 integer omp_allocator_handle_kind, omp_alloctrait_key_kind
86 integer omp_alloctrait_val_kind, omp_memspace_handle_kind
a6d22fb2 87 integer omp_event_handle_kind
fff15bad 88 parameter (omp_allocator_handle_kind = @INTPTR_T_KIND@)
2631d95a 89 parameter (omp_alloctrait_key_kind = 4)
fff15bad
TB
90 parameter (omp_alloctrait_val_kind = @INTPTR_T_KIND@)
91 parameter (omp_memspace_handle_kind = @INTPTR_T_KIND@)
a6d22fb2 92 parameter (omp_event_handle_kind = @INTPTR_T_KIND@)
fff15bad
TB
93 integer (omp_alloctrait_key_kind) omp_atk_sync_hint
94 integer (omp_alloctrait_key_kind) omp_atk_alignment
95 integer (omp_alloctrait_key_kind) omp_atk_access
96 integer (omp_alloctrait_key_kind) omp_atk_pool_size
97 integer (omp_alloctrait_key_kind) omp_atk_fallback
98 integer (omp_alloctrait_key_kind) omp_atk_fb_data
99 integer (omp_alloctrait_key_kind) omp_atk_pinned
100 integer (omp_alloctrait_key_kind) omp_atk_partition
101 parameter (omp_atk_sync_hint = 1)
102 parameter (omp_atk_alignment = 2)
103 parameter (omp_atk_access = 3)
104 parameter (omp_atk_pool_size = 4)
105 parameter (omp_atk_fallback = 5)
106 parameter (omp_atk_fb_data = 6)
107 parameter (omp_atk_pinned = 7)
108 parameter (omp_atk_partition = 8)
109 integer (omp_alloctrait_val_kind) omp_atv_false
110 integer (omp_alloctrait_val_kind) omp_atv_true
111 integer (omp_alloctrait_val_kind) omp_atv_default
112 integer (omp_alloctrait_val_kind) omp_atv_contended
113 integer (omp_alloctrait_val_kind) omp_atv_uncontended
114 integer (omp_alloctrait_val_kind) omp_atv_serialized
115 integer (omp_alloctrait_val_kind) omp_atv_sequential
116 integer (omp_alloctrait_val_kind) omp_atv_private
117 integer (omp_alloctrait_val_kind) omp_atv_all
118 integer (omp_alloctrait_val_kind) omp_atv_thread
119 integer (omp_alloctrait_val_kind) omp_atv_pteam
120 integer (omp_alloctrait_val_kind) omp_atv_cgroup
121 integer (omp_alloctrait_val_kind) omp_atv_default_mem_fb
122 integer (omp_alloctrait_val_kind) omp_atv_null_fb
123 integer (omp_alloctrait_val_kind) omp_atv_abort_fb
124 integer (omp_alloctrait_val_kind) omp_atv_allocator_fb
125 integer (omp_alloctrait_val_kind) omp_atv_environment
126 integer (omp_alloctrait_val_kind) omp_atv_nearest
127 integer (omp_alloctrait_val_kind) omp_atv_blocked
128 integer (omp_alloctrait_val_kind) omp_atv_interleaved
129 parameter (omp_atv_default = -1)
130 parameter (omp_atv_false = 0)
131 parameter (omp_atv_true = 1)
132 parameter (omp_atv_contended = 3)
133 parameter (omp_atv_uncontended = 4)
134 parameter (omp_atv_serialized = 5)
135 parameter (omp_atv_sequential = omp_atv_serialized)
136 parameter (omp_atv_private = 6)
137 parameter (omp_atv_all = 7)
138 parameter (omp_atv_thread = 8)
139 parameter (omp_atv_pteam = 9)
140 parameter (omp_atv_cgroup = 10)
141 parameter (omp_atv_default_mem_fb = 11)
142 parameter (omp_atv_null_fb = 12)
143 parameter (omp_atv_abort_fb = 13)
144 parameter (omp_atv_allocator_fb = 14)
145 parameter (omp_atv_environment = 15)
146 parameter (omp_atv_nearest = 16)
147 parameter (omp_atv_blocked = 17)
148 parameter (omp_atv_interleaved = 18)
149 integer (omp_allocator_handle_kind) omp_null_allocator
150 integer (omp_allocator_handle_kind) omp_default_mem_alloc
151 integer (omp_allocator_handle_kind) omp_large_cap_mem_alloc
152 integer (omp_allocator_handle_kind) omp_const_mem_alloc
153 integer (omp_allocator_handle_kind) omp_high_bw_mem_alloc
154 integer (omp_allocator_handle_kind) omp_low_lat_mem_alloc
155 integer (omp_allocator_handle_kind) omp_cgroup_mem_alloc
156 integer (omp_allocator_handle_kind) omp_pteam_mem_alloc
157 integer (omp_allocator_handle_kind) omp_thread_mem_alloc
158 parameter (omp_null_allocator = 0)
159 parameter (omp_default_mem_alloc = 1)
160 parameter (omp_large_cap_mem_alloc = 2)
161 parameter (omp_const_mem_alloc = 3)
162 parameter (omp_high_bw_mem_alloc = 4)
163 parameter (omp_low_lat_mem_alloc = 5)
164 parameter (omp_cgroup_mem_alloc = 6)
165 parameter (omp_pteam_mem_alloc = 7)
166 parameter (omp_thread_mem_alloc = 8)
167 integer (omp_memspace_handle_kind) omp_default_mem_space
168 integer (omp_memspace_handle_kind) omp_large_cap_mem_space
169 integer (omp_memspace_handle_kind) omp_const_mem_space
170 integer (omp_memspace_handle_kind) omp_high_bw_mem_space
171 integer (omp_memspace_handle_kind) omp_low_lat_mem_space
172 parameter (omp_default_mem_space = 0)
173 parameter (omp_large_cap_mem_space = 1)
174 parameter (omp_const_mem_space = 2)
175 parameter (omp_high_bw_mem_space = 3)
176 parameter (omp_low_lat_mem_space = 4)
1158fe43
JJ
177 integer omp_initial_device, omp_invalid_device
178 parameter (omp_initial_device = -1)
179 parameter (omp_invalid_device = -4)
fff15bad
TB
180
181 type omp_alloctrait
182 integer (omp_alloctrait_key_kind) key
183 integer (omp_alloctrait_val_kind) value
184 end type omp_alloctrait
185
953ff289 186 external omp_init_lock, omp_init_nest_lock
d9a6bd32
JJ
187 external omp_init_lock_with_hint
188 external omp_init_nest_lock_with_hint
953ff289
DN
189 external omp_destroy_lock, omp_destroy_nest_lock
190 external omp_set_lock, omp_set_nest_lock
191 external omp_unset_lock, omp_unset_nest_lock
192 external omp_set_dynamic, omp_set_nested
193 external omp_set_num_threads
194
195 external omp_get_dynamic, omp_get_nested
693d54f2 196 logical(4) omp_get_dynamic, omp_get_nested
953ff289 197 external omp_test_lock, omp_in_parallel
693d54f2 198 logical(4) omp_test_lock, omp_in_parallel
953ff289
DN
199
200 external omp_get_max_threads, omp_get_num_procs
693d54f2 201 integer(4) omp_get_max_threads, omp_get_num_procs
953ff289 202 external omp_get_num_threads, omp_get_thread_num
693d54f2 203 integer(4) omp_get_num_threads, omp_get_thread_num
953ff289 204 external omp_test_nest_lock
693d54f2 205 integer(4) omp_test_nest_lock
953ff289
DN
206
207 external omp_get_wtick, omp_get_wtime
208 double precision omp_get_wtick, omp_get_wtime
a68ab351
JJ
209
210 external omp_set_schedule, omp_get_schedule
211 external omp_get_thread_limit, omp_set_max_active_levels
212 external omp_get_max_active_levels, omp_get_level
213 external omp_get_ancestor_thread_num, omp_get_team_size
214 external omp_get_active_level
8949b985 215 external omp_get_supported_active_levels
693d54f2
TB
216 integer(4) omp_get_thread_limit, omp_get_max_active_levels
217 integer(4) omp_get_level, omp_get_ancestor_thread_num
218 integer(4) omp_get_team_size, omp_get_active_level
8949b985 219 integer(4) omp_get_supported_active_levels
20906c66
JJ
220
221 external omp_in_final
222 logical(4) omp_in_final
0ec4e93f
JJ
223 external omp_in_explicit_task
224 logical(4) omp_in_explicit_task
acf0174b 225
93d90219
TB
226 external omp_get_cancellation
227 logical(4) omp_get_cancellation
acf0174b
JJ
228
229 external omp_get_proc_bind
230 integer(omp_proc_bind_kind) omp_get_proc_bind
231
d9a6bd32
JJ
232 integer(4) omp_get_num_places
233 external omp_get_num_places
234 integer(4) omp_get_place_num_procs
235 external omp_get_place_num_procs
236 external omp_get_place_proc_ids
237 integer(4) omp_get_place_num
238 external omp_get_place_num
239 integer(4) omp_get_partition_num_places
240 external omp_get_partition_num_places
241 external omp_get_partition_place_nums
242
acf0174b
JJ
243 external omp_set_default_device, omp_get_default_device
244 external omp_get_num_devices, omp_get_num_teams
245 external omp_get_team_num
246 integer(4) omp_get_default_device, omp_get_num_devices
247 integer(4) omp_get_num_teams, omp_get_team_num
248
249 external omp_is_initial_device
250 logical(4) omp_is_initial_device
d9a6bd32
JJ
251 external omp_get_initial_device
252 integer(4) omp_get_initial_device
253
0bac793e
CLT
254 external omp_get_device_num
255 integer(4) omp_get_device_num
256
d9a6bd32
JJ
257 external omp_get_max_task_priority
258 integer(4) omp_get_max_task_priority
28567c40 259
07dd3bcd
JJ
260 external omp_set_num_teams, omp_set_teams_thread_limit
261 external omp_get_max_teams, omp_get_teams_thread_limit
262 integer(4) omp_get_max_teams, omp_get_teams_thread_limit
263
a6d22fb2
KCY
264 external omp_fulfill_event
265
28567c40
JJ
266 external omp_set_affinity_format, omp_get_affinity_format
267 external omp_display_affinity, omp_capture_affinity
268 integer(4) omp_get_affinity_format
269 integer(4) omp_capture_affinity
270
271 external omp_pause_resource, omp_pause_resource_all
272 integer(4) omp_pause_resource
273 integer(4) omp_pause_resource_all
fff15bad
TB
274
275 external omp_init_allocator
276 integer (omp_allocator_handle_kind) omp_init_allocator
277 external omp_destroy_allocator
278 external omp_set_default_allocator
279 external omp_get_default_allocator
280 integer (omp_allocator_handle_kind) omp_get_default_allocator
7123ae24
UD
281
282 external omp_display_env
76bb3c50
TB
283
284 interface
285 function omp_alloc (size, allocator) bind(c)
286 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
287 use, intrinsic :: omp_lib_kinds
288 type(c_ptr) :: omp_alloc
289 integer(c_size_t), value :: size
290 integer(omp_allocator_handle_kind), value :: allocator
291 end function omp_alloc
292 end interface
293
70de20db
TB
294 interface
295 function omp_aligned_alloc (alignment, size, allocator) bind(c)
296 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
297 use, intrinsic :: omp_lib_kinds
298 type(c_ptr) :: omp_aligned_alloc
299 integer(c_size_t), value :: alignment, size
300 integer(omp_allocator_handle_kind), value :: allocator
301 end function omp_aligned_alloc
302 end interface
303
76bb3c50
TB
304 interface
305 subroutine omp_free(ptr, allocator) bind(c)
306 use, intrinsic :: iso_c_binding, only : c_ptr
307 use, intrinsic :: omp_lib_kinds
308 type(c_ptr), value :: ptr
309 integer(omp_allocator_handle_kind), value :: allocator
70de20db
TB
310 end subroutine omp_free
311 end interface
312
313 interface
314 function omp_calloc (nmemb, size, allocator) bind(c)
315 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
316 use, intrinsic :: omp_lib_kinds
317 type(c_ptr) :: omp_calloc
318 integer(c_size_t), value :: nmemb, size
319 integer(omp_allocator_handle_kind), value :: allocator
320 end function omp_calloc
321 end interface
322
323 interface
324 function omp_aligned_calloc (alignment, nmemb, size, allocator) &
325 & bind(c)
326 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
327 use, intrinsic :: omp_lib_kinds
328 type(c_ptr) :: omp_aligned_calloc
329 integer(c_size_t), value :: alignment, nmemb, size
330 integer(omp_allocator_handle_kind), value :: allocator
331 end function omp_aligned_calloc
332 end interface
333
334 interface
335 function omp_realloc (ptr, size, allocator, free_allocator) &
336 & bind(c)
337 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
338 use, intrinsic :: omp_lib_kinds
339 type(c_ptr) :: omp_realloc
340 type(c_ptr), value :: ptr
341 integer(c_size_t), value :: size
342 integer(omp_allocator_handle_kind), value :: allocator
343 integer(omp_allocator_handle_kind), value :: free_allocator
344 end function omp_realloc
76bb3c50
TB
345 end interface
346
347 interface
348 function omp_target_alloc (size, device_num) bind(c)
349 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
350 type(c_ptr) :: omp_target_alloc
351 integer(c_size_t), value :: size
352 integer(c_int), value :: device_num
353 end function omp_target_alloc
354 end interface
355
356 interface
357 subroutine omp_target_free (device_ptr, device_num) bind(c)
358 use, intrinsic :: iso_c_binding, only : c_ptr, c_int
359 type(c_ptr), value :: device_ptr
360 integer(c_int), value :: device_num
361 end subroutine omp_target_free
362 end interface
363
364 interface
365 function omp_target_is_present (ptr, device_num) bind(c)
366 use, intrinsic :: iso_c_binding, only : c_ptr, c_int
367 integer(c_int) :: omp_target_is_present
368 type(c_ptr), value :: ptr
369 integer(c_int), value :: device_num
370 end function omp_target_is_present
371 end interface
372
373 interface
374 function omp_target_memcpy (dst, src, length, dst_offset, &
375 & src_offset, dst_device_num, &
376 & src_device_num) bind(c)
377 use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
378 integer(c_int) :: omp_target_memcpy
379 type(c_ptr), value :: dst, src
380 integer(c_size_t), value :: length, dst_offset, src_offset
381 integer(c_int), value :: dst_device_num, src_device_num
382 end function omp_target_memcpy
383 end interface
384
6c420193
MV
385 interface
386 function omp_target_memcpy_async (dst, src, length, dst_offset, &
387 & src_offset, dst_device_num, &
388 & src_device_num, depobj_count, &
389 & depobj_list) bind(c)
390 use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
391 import :: omp_depend_kind
392 integer(c_int) :: omp_target_memcpy_async
393 type(c_ptr), value :: dst, src
394 integer(c_size_t), value :: length, dst_offset, src_offset
395 integer(c_int), value :: dst_device_num, src_device_num
396 integer(c_int), value :: depobj_count
397 integer(omp_depend_kind), optional :: depobj_list(*)
398 end function omp_target_memcpy_async
399 end interface
400
76bb3c50
TB
401 interface
402 function omp_target_memcpy_rect (dst,src,element_size, num_dims, &
403 & volume, dst_offsets, &
404 & src_offsets, dst_dimensions, &
405 & src_dimensions, dst_device_num, &
406 & src_device_num) bind(c)
407 use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
408 integer(c_int) :: omp_target_memcpy_rect
409 type(c_ptr), value :: dst, src
410 integer(c_size_t), value :: element_size
411 integer(c_int), value :: num_dims
412 integer(c_int), value :: dst_device_num, src_device_num
413 integer(c_size_t), intent(in) :: volume(*), dst_offsets(*)
414 integer(c_size_t), intent(in) :: src_offsets(*)
415 integer(c_size_t), intent(in) :: dst_dimensions(*)
416 integer(c_size_t), intent(in) :: src_dimensions(*)
417 end function omp_target_memcpy_rect
418 end interface
419
6c420193
MV
420 interface
421 function omp_target_memcpy_rect_async (dst,src,element_size, &
422 & num_dims, volume, &
423 & dst_offsets, src_offsets, &
424 & dst_dimensions, &
425 & src_dimensions, &
426 & dst_device_num, &
427 & src_device_num, &
428 & depobj_count, &
429 & depobj_list) bind(c)
430 use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
431 import :: omp_depend_kind
432 integer(c_int) :: omp_target_memcpy_rect_async
433 type(c_ptr), value :: dst, src
434 integer(c_size_t), value :: element_size
435 integer(c_int), value :: num_dims, depobj_count
436 integer(c_int), value :: dst_device_num, src_device_num
437 integer(c_size_t), intent(in) :: volume(*), dst_offsets(*)
438 integer(c_size_t), intent(in) :: src_offsets(*)
439 integer(c_size_t), intent(in) :: dst_dimensions(*)
440 integer(c_size_t), intent(in) :: src_dimensions(*)
441 integer(omp_depend_kind), optional :: depobj_list(*)
442 end function omp_target_memcpy_rect_async
443 end interface
444
76bb3c50
TB
445 interface
446 function omp_target_associate_ptr (host_ptr, device_ptr, size, &
447 & device_offset, device_num) &
448 & bind(c)
449 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
450 integer(c_int) :: omp_target_associate_ptr
451 type(c_ptr), value :: host_ptr, device_ptr
452 integer(c_size_t), value :: size, device_offset
453 integer(c_int), value :: device_num
454 end function omp_target_associate_ptr
455 end interface
456
457 interface
458 function omp_target_disassociate_ptr (ptr, device_num) bind(c)
459 use, intrinsic :: iso_c_binding, only : c_ptr, c_int
460 integer(c_int) :: omp_target_disassociate_ptr
461 type(c_ptr), value :: ptr
462 integer(c_int), value :: device_num
463 end function omp_target_disassociate_ptr
464 end interface
941cdc8b
MV
465
466 interface
467 function omp_get_mapped_ptr (ptr, device_num) bind(c)
468 use, intrinsic :: iso_c_binding, only : c_ptr, c_int
469 type(c_ptr) :: omp_get_mapped_ptr
470 type(c_ptr), value :: ptr
471 integer(c_int), value :: device_num
472 end function omp_get_mapped_ptr
473 end interface
4043f53c
MV
474
475 interface
476 function omp_target_is_accessible (ptr, size, device_num) &
477 & bind(c)
478 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
479 integer(c_int) :: omp_target_is_accessible
480 type(c_ptr), value :: ptr
481 integer(c_size_t), value :: size
482 integer(c_int), value :: device_num
483 end function omp_target_is_accessible
484 end interface