18b0b8ab1Smrg /* This file is automatically generated. DO NOT EDIT! */ 2*cf89d143Smrg /* Generated from: NetBSD: mknative-gcc,v 1.117 2023/07/31 01:48:37 mrg Exp */ 313795cc7Smrg /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ 48b0b8ab1Smrg 5*cf89d143Smrg /* Copyright (C) 2005-2022 Free Software Foundation, Inc. 68b0b8ab1Smrg Contributed by Richard Henderson <rth@redhat.com>. 78b0b8ab1Smrg 8e7262bd9Smrg This file is part of the GNU Offloading and Multi Processing Library 9e7262bd9Smrg (libgomp). 108b0b8ab1Smrg 118b0b8ab1Smrg Libgomp is free software; you can redistribute it and/or modify it 128b0b8ab1Smrg under the terms of the GNU General Public License as published by 138b0b8ab1Smrg the Free Software Foundation; either version 3, or (at your option) 148b0b8ab1Smrg any later version. 158b0b8ab1Smrg 168b0b8ab1Smrg Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY 178b0b8ab1Smrg WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 188b0b8ab1Smrg FOR A PARTICULAR PURPOSE. See the GNU General Public License for 198b0b8ab1Smrg more details. 208b0b8ab1Smrg 218b0b8ab1Smrg Under Section 7 of GPL version 3, you are granted additional 228b0b8ab1Smrg permissions described in the GCC Runtime Library Exception, version 238b0b8ab1Smrg 3.1, as published by the Free Software Foundation. 248b0b8ab1Smrg 258b0b8ab1Smrg You should have received a copy of the GNU General Public License and 268b0b8ab1Smrg a copy of the GCC Runtime Library Exception along with this program; 278b0b8ab1Smrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 288b0b8ab1Smrg <http://www.gnu.org/licenses/>. */ 298b0b8ab1Smrg 30e7262bd9Smrg #ifndef _OMP_H 31e7262bd9Smrg #define _OMP_H 1 328b0b8ab1Smrg 33*cf89d143Smrg #if defined(__GNUC__) && _OPENMP >= 201811 34*cf89d143Smrg # define __GOMP_DEPRECATED_5_0 __attribute__((__deprecated__)) 35*cf89d143Smrg #else 36*cf89d143Smrg # define __GOMP_DEPRECATED_5_0 37*cf89d143Smrg #endif 38*cf89d143Smrg 39*cf89d143Smrg #if defined(__GNUC__) && _OPENMP >= 202011 40*cf89d143Smrg # define __GOMP_DEPRECATED_5_1 __attribute__((__deprecated__)) 41*cf89d143Smrg #else 42*cf89d143Smrg # define __GOMP_DEPRECATED_5_1 43*cf89d143Smrg #endif 44*cf89d143Smrg 458b0b8ab1Smrg #ifndef _LIBGOMP_OMP_LOCK_DEFINED 468b0b8ab1Smrg #define _LIBGOMP_OMP_LOCK_DEFINED 1 478b0b8ab1Smrg /* These two structures get edited by the libgomp build process to 488b0b8ab1Smrg reflect the shape of the two types. Their internals are private 498b0b8ab1Smrg to the library. */ 508b0b8ab1Smrg 518b0b8ab1Smrg typedef struct 528b0b8ab1Smrg { 538b0b8ab1Smrg unsigned char _x[4] 548b0b8ab1Smrg __attribute__((__aligned__(4))); 558b0b8ab1Smrg } omp_lock_t; 568b0b8ab1Smrg 578b0b8ab1Smrg typedef struct 588b0b8ab1Smrg { 598b0b8ab1Smrg unsigned char _x[12] 608b0b8ab1Smrg __attribute__((__aligned__(4))); 618b0b8ab1Smrg } omp_nest_lock_t; 628b0b8ab1Smrg #endif 638b0b8ab1Smrg 648b0b8ab1Smrg typedef enum omp_sched_t 658b0b8ab1Smrg { 668b0b8ab1Smrg omp_sched_static = 1, 678b0b8ab1Smrg omp_sched_dynamic = 2, 688b0b8ab1Smrg omp_sched_guided = 3, 69dec7c724Smrg omp_sched_auto = 4, 70dec7c724Smrg omp_sched_monotonic = 0x80000000U 718b0b8ab1Smrg } omp_sched_t; 728b0b8ab1Smrg 73e7262bd9Smrg typedef enum omp_proc_bind_t 74e7262bd9Smrg { 75e7262bd9Smrg omp_proc_bind_false = 0, 76e7262bd9Smrg omp_proc_bind_true = 1, 77*cf89d143Smrg omp_proc_bind_primary = 2, 78*cf89d143Smrg omp_proc_bind_master __GOMP_DEPRECATED_5_1 79*cf89d143Smrg = omp_proc_bind_primary, 80e7262bd9Smrg omp_proc_bind_close = 3, 81e7262bd9Smrg omp_proc_bind_spread = 4 82e7262bd9Smrg } omp_proc_bind_t; 83e7262bd9Smrg 84dec7c724Smrg typedef enum omp_sync_hint_t 85d79d5e15Smrg { 86dec7c724Smrg omp_sync_hint_none = 0, 87*cf89d143Smrg omp_lock_hint_none __GOMP_DEPRECATED_5_0 = omp_sync_hint_none, 88dec7c724Smrg omp_sync_hint_uncontended = 1, 89*cf89d143Smrg omp_lock_hint_uncontended __GOMP_DEPRECATED_5_0 = omp_sync_hint_uncontended, 90dec7c724Smrg omp_sync_hint_contended = 2, 91*cf89d143Smrg omp_lock_hint_contended __GOMP_DEPRECATED_5_0 = omp_sync_hint_contended, 92dec7c724Smrg omp_sync_hint_nonspeculative = 4, 93*cf89d143Smrg omp_lock_hint_nonspeculative __GOMP_DEPRECATED_5_0 94*cf89d143Smrg = omp_sync_hint_nonspeculative, 95dec7c724Smrg omp_sync_hint_speculative = 8, 96*cf89d143Smrg omp_lock_hint_speculative __GOMP_DEPRECATED_5_0 = omp_sync_hint_speculative 97dec7c724Smrg } omp_sync_hint_t; 98dec7c724Smrg 99*cf89d143Smrg typedef __GOMP_DEPRECATED_5_0 omp_sync_hint_t omp_lock_hint_t; 100dec7c724Smrg 101dec7c724Smrg typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t 102dec7c724Smrg { 103dec7c724Smrg char __omp_depend_t__[2 * sizeof (void *)]; 104dec7c724Smrg } omp_depend_t; 105dec7c724Smrg 106dec7c724Smrg typedef enum omp_pause_resource_t 107dec7c724Smrg { 108dec7c724Smrg omp_pause_soft = 1, 109dec7c724Smrg omp_pause_hard = 2 110dec7c724Smrg } omp_pause_resource_t; 111d79d5e15Smrg 112*cf89d143Smrg typedef __UINTPTR_TYPE__ omp_uintptr_t; 113*cf89d143Smrg 114*cf89d143Smrg #if __cplusplus >= 201103L 115*cf89d143Smrg # define __GOMP_UINTPTR_T_ENUM : omp_uintptr_t 116*cf89d143Smrg #else 117*cf89d143Smrg # define __GOMP_UINTPTR_T_ENUM 118*cf89d143Smrg #endif 119*cf89d143Smrg 120*cf89d143Smrg typedef enum omp_memspace_handle_t __GOMP_UINTPTR_T_ENUM 121*cf89d143Smrg { 122*cf89d143Smrg omp_default_mem_space = 0, 123*cf89d143Smrg omp_large_cap_mem_space = 1, 124*cf89d143Smrg omp_const_mem_space = 2, 125*cf89d143Smrg omp_high_bw_mem_space = 3, 126*cf89d143Smrg omp_low_lat_mem_space = 4, 127*cf89d143Smrg __omp_memspace_handle_t_max__ = __UINTPTR_MAX__ 128*cf89d143Smrg } omp_memspace_handle_t; 129*cf89d143Smrg 130*cf89d143Smrg typedef enum omp_allocator_handle_t __GOMP_UINTPTR_T_ENUM 131*cf89d143Smrg { 132*cf89d143Smrg omp_null_allocator = 0, 133*cf89d143Smrg omp_default_mem_alloc = 1, 134*cf89d143Smrg omp_large_cap_mem_alloc = 2, 135*cf89d143Smrg omp_const_mem_alloc = 3, 136*cf89d143Smrg omp_high_bw_mem_alloc = 4, 137*cf89d143Smrg omp_low_lat_mem_alloc = 5, 138*cf89d143Smrg omp_cgroup_mem_alloc = 6, 139*cf89d143Smrg omp_pteam_mem_alloc = 7, 140*cf89d143Smrg omp_thread_mem_alloc = 8, 141*cf89d143Smrg __omp_allocator_handle_t_max__ = __UINTPTR_MAX__ 142*cf89d143Smrg } omp_allocator_handle_t; 143*cf89d143Smrg 144*cf89d143Smrg typedef enum omp_alloctrait_key_t 145*cf89d143Smrg { 146*cf89d143Smrg omp_atk_sync_hint = 1, 147*cf89d143Smrg omp_atk_alignment = 2, 148*cf89d143Smrg omp_atk_access = 3, 149*cf89d143Smrg omp_atk_pool_size = 4, 150*cf89d143Smrg omp_atk_fallback = 5, 151*cf89d143Smrg omp_atk_fb_data = 6, 152*cf89d143Smrg omp_atk_pinned = 7, 153*cf89d143Smrg omp_atk_partition = 8 154*cf89d143Smrg } omp_alloctrait_key_t; 155*cf89d143Smrg 156*cf89d143Smrg typedef enum omp_alloctrait_value_t 157*cf89d143Smrg { 158*cf89d143Smrg omp_atv_default = (__UINTPTR_TYPE__) -1, 159*cf89d143Smrg omp_atv_false = 0, 160*cf89d143Smrg omp_atv_true = 1, 161*cf89d143Smrg omp_atv_contended = 3, 162*cf89d143Smrg omp_atv_uncontended = 4, 163*cf89d143Smrg omp_atv_serialized = 5, 164*cf89d143Smrg omp_atv_sequential __GOMP_DEPRECATED_5_1 = omp_atv_serialized, 165*cf89d143Smrg omp_atv_private = 6, 166*cf89d143Smrg omp_atv_all = 7, 167*cf89d143Smrg omp_atv_thread = 8, 168*cf89d143Smrg omp_atv_pteam = 9, 169*cf89d143Smrg omp_atv_cgroup = 10, 170*cf89d143Smrg omp_atv_default_mem_fb = 11, 171*cf89d143Smrg omp_atv_null_fb = 12, 172*cf89d143Smrg omp_atv_abort_fb = 13, 173*cf89d143Smrg omp_atv_allocator_fb = 14, 174*cf89d143Smrg omp_atv_environment = 15, 175*cf89d143Smrg omp_atv_nearest = 16, 176*cf89d143Smrg omp_atv_blocked = 17, 177*cf89d143Smrg omp_atv_interleaved = 18 178*cf89d143Smrg } omp_alloctrait_value_t; 179*cf89d143Smrg 180*cf89d143Smrg typedef struct omp_alloctrait_t 181*cf89d143Smrg { 182*cf89d143Smrg omp_alloctrait_key_t key; 183*cf89d143Smrg omp_uintptr_t value; 184*cf89d143Smrg } omp_alloctrait_t; 185*cf89d143Smrg 186*cf89d143Smrg typedef enum omp_event_handle_t __GOMP_UINTPTR_T_ENUM 187*cf89d143Smrg { 188*cf89d143Smrg __omp_event_handle_t_max__ = __UINTPTR_MAX__ 189*cf89d143Smrg } omp_event_handle_t; 190*cf89d143Smrg 1918b0b8ab1Smrg #ifdef __cplusplus 1928b0b8ab1Smrg extern "C" { 1938b0b8ab1Smrg # define __GOMP_NOTHROW throw () 194*cf89d143Smrg # define __GOMP_DEFAULT_NULL_ALLOCATOR = omp_null_allocator 1958b0b8ab1Smrg #else 1968b0b8ab1Smrg # define __GOMP_NOTHROW __attribute__((__nothrow__)) 197*cf89d143Smrg # define __GOMP_DEFAULT_NULL_ALLOCATOR 1988b0b8ab1Smrg #endif 1998b0b8ab1Smrg 2008b0b8ab1Smrg extern void omp_set_num_threads (int) __GOMP_NOTHROW; 2018b0b8ab1Smrg extern int omp_get_num_threads (void) __GOMP_NOTHROW; 2028b0b8ab1Smrg extern int omp_get_max_threads (void) __GOMP_NOTHROW; 2038b0b8ab1Smrg extern int omp_get_thread_num (void) __GOMP_NOTHROW; 2048b0b8ab1Smrg extern int omp_get_num_procs (void) __GOMP_NOTHROW; 2058b0b8ab1Smrg 2068b0b8ab1Smrg extern int omp_in_parallel (void) __GOMP_NOTHROW; 2078b0b8ab1Smrg 2088b0b8ab1Smrg extern void omp_set_dynamic (int) __GOMP_NOTHROW; 2098b0b8ab1Smrg extern int omp_get_dynamic (void) __GOMP_NOTHROW; 2108b0b8ab1Smrg 211*cf89d143Smrg extern void omp_set_nested (int) __GOMP_NOTHROW __GOMP_DEPRECATED_5_0; 212*cf89d143Smrg extern int omp_get_nested (void) __GOMP_NOTHROW __GOMP_DEPRECATED_5_0; 2138b0b8ab1Smrg 2148b0b8ab1Smrg extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; 215dec7c724Smrg extern void omp_init_lock_with_hint (omp_lock_t *, omp_sync_hint_t) 216d79d5e15Smrg __GOMP_NOTHROW; 2178b0b8ab1Smrg extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; 2188b0b8ab1Smrg extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; 2198b0b8ab1Smrg extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; 2208b0b8ab1Smrg extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; 2218b0b8ab1Smrg 2228b0b8ab1Smrg extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 223dec7c724Smrg extern void omp_init_nest_lock_with_hint (omp_nest_lock_t *, omp_sync_hint_t) 224d79d5e15Smrg __GOMP_NOTHROW; 2258b0b8ab1Smrg extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 2268b0b8ab1Smrg extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 2278b0b8ab1Smrg extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 2288b0b8ab1Smrg extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 2298b0b8ab1Smrg 2308b0b8ab1Smrg extern double omp_get_wtime (void) __GOMP_NOTHROW; 2318b0b8ab1Smrg extern double omp_get_wtick (void) __GOMP_NOTHROW; 2328b0b8ab1Smrg 233e7262bd9Smrg extern void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; 234e7262bd9Smrg extern void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; 235e7262bd9Smrg extern int omp_get_thread_limit (void) __GOMP_NOTHROW; 236e7262bd9Smrg extern void omp_set_max_active_levels (int) __GOMP_NOTHROW; 237e7262bd9Smrg extern int omp_get_max_active_levels (void) __GOMP_NOTHROW; 238*cf89d143Smrg extern int omp_get_supported_active_levels (void) __GOMP_NOTHROW; 239e7262bd9Smrg extern int omp_get_level (void) __GOMP_NOTHROW; 240e7262bd9Smrg extern int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; 241e7262bd9Smrg extern int omp_get_team_size (int) __GOMP_NOTHROW; 242e7262bd9Smrg extern int omp_get_active_level (void) __GOMP_NOTHROW; 2438b0b8ab1Smrg 244e7262bd9Smrg extern int omp_in_final (void) __GOMP_NOTHROW; 245e7262bd9Smrg 246e7262bd9Smrg extern int omp_get_cancellation (void) __GOMP_NOTHROW; 247e7262bd9Smrg extern omp_proc_bind_t omp_get_proc_bind (void) __GOMP_NOTHROW; 248d79d5e15Smrg extern int omp_get_num_places (void) __GOMP_NOTHROW; 249d79d5e15Smrg extern int omp_get_place_num_procs (int) __GOMP_NOTHROW; 250d79d5e15Smrg extern void omp_get_place_proc_ids (int, int *) __GOMP_NOTHROW; 251d79d5e15Smrg extern int omp_get_place_num (void) __GOMP_NOTHROW; 252d79d5e15Smrg extern int omp_get_partition_num_places (void) __GOMP_NOTHROW; 253d79d5e15Smrg extern void omp_get_partition_place_nums (int *) __GOMP_NOTHROW; 254e7262bd9Smrg 255e7262bd9Smrg extern void omp_set_default_device (int) __GOMP_NOTHROW; 256e7262bd9Smrg extern int omp_get_default_device (void) __GOMP_NOTHROW; 257e7262bd9Smrg extern int omp_get_num_devices (void) __GOMP_NOTHROW; 258*cf89d143Smrg extern int omp_get_device_num (void) __GOMP_NOTHROW; 259e7262bd9Smrg extern int omp_get_num_teams (void) __GOMP_NOTHROW; 260e7262bd9Smrg extern int omp_get_team_num (void) __GOMP_NOTHROW; 261e7262bd9Smrg 262e7262bd9Smrg extern int omp_is_initial_device (void) __GOMP_NOTHROW; 263d79d5e15Smrg extern int omp_get_initial_device (void) __GOMP_NOTHROW; 264d79d5e15Smrg extern int omp_get_max_task_priority (void) __GOMP_NOTHROW; 265d79d5e15Smrg 266*cf89d143Smrg extern void omp_fulfill_event (omp_event_handle_t) __GOMP_NOTHROW; 267*cf89d143Smrg 268*cf89d143Smrg extern void omp_set_num_teams (int) __GOMP_NOTHROW; 269*cf89d143Smrg extern int omp_get_max_teams (void) __GOMP_NOTHROW; 270*cf89d143Smrg extern void omp_set_teams_thread_limit (int) __GOMP_NOTHROW; 271*cf89d143Smrg extern int omp_get_teams_thread_limit (void) __GOMP_NOTHROW; 272*cf89d143Smrg 273d79d5e15Smrg extern void *omp_target_alloc (__SIZE_TYPE__, int) __GOMP_NOTHROW; 274d79d5e15Smrg extern void omp_target_free (void *, int) __GOMP_NOTHROW; 275dec7c724Smrg extern int omp_target_is_present (const void *, int) __GOMP_NOTHROW; 276dec7c724Smrg extern int omp_target_memcpy (void *, const void *, __SIZE_TYPE__, 277dec7c724Smrg __SIZE_TYPE__, __SIZE_TYPE__, int, int) 278dec7c724Smrg __GOMP_NOTHROW; 279dec7c724Smrg extern int omp_target_memcpy_rect (void *, const void *, __SIZE_TYPE__, int, 280d79d5e15Smrg const __SIZE_TYPE__ *, 281d79d5e15Smrg const __SIZE_TYPE__ *, 282d79d5e15Smrg const __SIZE_TYPE__ *, 283d79d5e15Smrg const __SIZE_TYPE__ *, 284d79d5e15Smrg const __SIZE_TYPE__ *, int, int) 285d79d5e15Smrg __GOMP_NOTHROW; 286dec7c724Smrg extern int omp_target_associate_ptr (const void *, const void *, __SIZE_TYPE__, 287d79d5e15Smrg __SIZE_TYPE__, int) __GOMP_NOTHROW; 288dec7c724Smrg extern int omp_target_disassociate_ptr (const void *, int) __GOMP_NOTHROW; 289dec7c724Smrg 290dec7c724Smrg extern void omp_set_affinity_format (const char *) __GOMP_NOTHROW; 291dec7c724Smrg extern __SIZE_TYPE__ omp_get_affinity_format (char *, __SIZE_TYPE__) 292dec7c724Smrg __GOMP_NOTHROW; 293dec7c724Smrg extern void omp_display_affinity (const char *) __GOMP_NOTHROW; 294dec7c724Smrg extern __SIZE_TYPE__ omp_capture_affinity (char *, __SIZE_TYPE__, const char *) 295dec7c724Smrg __GOMP_NOTHROW; 296dec7c724Smrg 297dec7c724Smrg extern int omp_pause_resource (omp_pause_resource_t, int) __GOMP_NOTHROW; 298dec7c724Smrg extern int omp_pause_resource_all (omp_pause_resource_t) __GOMP_NOTHROW; 29949d8c9ecSmrg 300*cf89d143Smrg extern omp_allocator_handle_t omp_init_allocator (omp_memspace_handle_t, 301*cf89d143Smrg int, 302*cf89d143Smrg const omp_alloctrait_t []) 303*cf89d143Smrg __GOMP_NOTHROW; 304*cf89d143Smrg extern void omp_destroy_allocator (omp_allocator_handle_t) __GOMP_NOTHROW; 305*cf89d143Smrg extern void omp_set_default_allocator (omp_allocator_handle_t) __GOMP_NOTHROW; 306*cf89d143Smrg extern omp_allocator_handle_t omp_get_default_allocator (void) __GOMP_NOTHROW; 307*cf89d143Smrg extern void omp_free (void *, 308*cf89d143Smrg omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR) 309*cf89d143Smrg __GOMP_NOTHROW; 310*cf89d143Smrg extern void *omp_alloc (__SIZE_TYPE__, 311*cf89d143Smrg omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR) 312*cf89d143Smrg __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free), 313*cf89d143Smrg __alloc_size__ (1))); 314*cf89d143Smrg extern void *omp_aligned_alloc (__SIZE_TYPE__, __SIZE_TYPE__, 315*cf89d143Smrg omp_allocator_handle_t 316*cf89d143Smrg __GOMP_DEFAULT_NULL_ALLOCATOR) 317*cf89d143Smrg __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free), 318*cf89d143Smrg __alloc_size__ (2), __alloc_align__ (1))); 319*cf89d143Smrg extern void *omp_calloc (__SIZE_TYPE__, __SIZE_TYPE__, 320*cf89d143Smrg omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR) 321*cf89d143Smrg __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free), 322*cf89d143Smrg __alloc_size__ (1, 2))); 323*cf89d143Smrg extern void *omp_aligned_calloc (__SIZE_TYPE__, __SIZE_TYPE__, __SIZE_TYPE__, 324*cf89d143Smrg omp_allocator_handle_t 325*cf89d143Smrg __GOMP_DEFAULT_NULL_ALLOCATOR) 326*cf89d143Smrg __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free), 327*cf89d143Smrg __alloc_size__ (2, 3), __alloc_align__ (1))); 328*cf89d143Smrg extern void *omp_realloc (void *, __SIZE_TYPE__, 329*cf89d143Smrg omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR, 330*cf89d143Smrg omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR) 331*cf89d143Smrg __GOMP_NOTHROW __attribute__((__malloc__ (omp_free), __alloc_size__ (2))); 332*cf89d143Smrg 333*cf89d143Smrg extern void omp_display_env (int) __GOMP_NOTHROW; 334*cf89d143Smrg 3358b0b8ab1Smrg #ifdef __cplusplus 3368b0b8ab1Smrg } 3378b0b8ab1Smrg #endif 3388b0b8ab1Smrg 339e7262bd9Smrg #endif /* _OMP_H */ 340