136ac495dSmrg /* This file is automatically generated. DO NOT EDIT! */ 2*c0a68be4Smrg /* Generated from: NetBSD: mknative-gcc,v 1.108 2020/09/05 10:58:08 mrg Exp */ 336ac495dSmrg /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ 436ac495dSmrg 5*c0a68be4Smrg /* Copyright (C) 2005-2019 Free Software Foundation, Inc. 636ac495dSmrg Contributed by Richard Henderson <rth@redhat.com>. 736ac495dSmrg 836ac495dSmrg This file is part of the GNU Offloading and Multi Processing Library 936ac495dSmrg (libgomp). 1036ac495dSmrg 1136ac495dSmrg Libgomp is free software; you can redistribute it and/or modify it 1236ac495dSmrg under the terms of the GNU General Public License as published by 1336ac495dSmrg the Free Software Foundation; either version 3, or (at your option) 1436ac495dSmrg any later version. 1536ac495dSmrg 1636ac495dSmrg Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY 1736ac495dSmrg WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 1836ac495dSmrg FOR A PARTICULAR PURPOSE. See the GNU General Public License for 1936ac495dSmrg more details. 2036ac495dSmrg 2136ac495dSmrg Under Section 7 of GPL version 3, you are granted additional 2236ac495dSmrg permissions described in the GCC Runtime Library Exception, version 2336ac495dSmrg 3.1, as published by the Free Software Foundation. 2436ac495dSmrg 2536ac495dSmrg You should have received a copy of the GNU General Public License and 2636ac495dSmrg a copy of the GCC Runtime Library Exception along with this program; 2736ac495dSmrg see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2836ac495dSmrg <http://www.gnu.org/licenses/>. */ 2936ac495dSmrg 3036ac495dSmrg #ifndef _OMP_H 3136ac495dSmrg #define _OMP_H 1 3236ac495dSmrg 3336ac495dSmrg #ifndef _LIBGOMP_OMP_LOCK_DEFINED 3436ac495dSmrg #define _LIBGOMP_OMP_LOCK_DEFINED 1 3536ac495dSmrg /* These two structures get edited by the libgomp build process to 3636ac495dSmrg reflect the shape of the two types. Their internals are private 3736ac495dSmrg to the library. */ 3836ac495dSmrg 3936ac495dSmrg typedef struct 4036ac495dSmrg { 4136ac495dSmrg unsigned char _x[4] 4236ac495dSmrg __attribute__((__aligned__(4))); 4336ac495dSmrg } omp_lock_t; 4436ac495dSmrg 4536ac495dSmrg typedef struct 4636ac495dSmrg { 4736ac495dSmrg unsigned char _x[12] 4836ac495dSmrg __attribute__((__aligned__(4))); 4936ac495dSmrg } omp_nest_lock_t; 5036ac495dSmrg #endif 5136ac495dSmrg 5236ac495dSmrg typedef enum omp_sched_t 5336ac495dSmrg { 5436ac495dSmrg omp_sched_static = 1, 5536ac495dSmrg omp_sched_dynamic = 2, 5636ac495dSmrg omp_sched_guided = 3, 57*c0a68be4Smrg omp_sched_auto = 4, 58*c0a68be4Smrg omp_sched_monotonic = 0x80000000U 5936ac495dSmrg } omp_sched_t; 6036ac495dSmrg 6136ac495dSmrg typedef enum omp_proc_bind_t 6236ac495dSmrg { 6336ac495dSmrg omp_proc_bind_false = 0, 6436ac495dSmrg omp_proc_bind_true = 1, 6536ac495dSmrg omp_proc_bind_master = 2, 6636ac495dSmrg omp_proc_bind_close = 3, 6736ac495dSmrg omp_proc_bind_spread = 4 6836ac495dSmrg } omp_proc_bind_t; 6936ac495dSmrg 70*c0a68be4Smrg typedef enum omp_sync_hint_t 7136ac495dSmrg { 72*c0a68be4Smrg omp_sync_hint_none = 0, 73*c0a68be4Smrg omp_lock_hint_none = omp_sync_hint_none, 74*c0a68be4Smrg omp_sync_hint_uncontended = 1, 75*c0a68be4Smrg omp_lock_hint_uncontended = omp_sync_hint_uncontended, 76*c0a68be4Smrg omp_sync_hint_contended = 2, 77*c0a68be4Smrg omp_lock_hint_contended = omp_sync_hint_contended, 78*c0a68be4Smrg omp_sync_hint_nonspeculative = 4, 79*c0a68be4Smrg omp_lock_hint_nonspeculative = omp_sync_hint_nonspeculative, 80*c0a68be4Smrg omp_sync_hint_speculative = 8, 81*c0a68be4Smrg omp_lock_hint_speculative = omp_sync_hint_speculative 82*c0a68be4Smrg } omp_sync_hint_t; 83*c0a68be4Smrg 84*c0a68be4Smrg typedef omp_sync_hint_t omp_lock_hint_t; 85*c0a68be4Smrg 86*c0a68be4Smrg typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t 87*c0a68be4Smrg { 88*c0a68be4Smrg char __omp_depend_t__[2 * sizeof (void *)]; 89*c0a68be4Smrg } omp_depend_t; 90*c0a68be4Smrg 91*c0a68be4Smrg typedef enum omp_pause_resource_t 92*c0a68be4Smrg { 93*c0a68be4Smrg omp_pause_soft = 1, 94*c0a68be4Smrg omp_pause_hard = 2 95*c0a68be4Smrg } omp_pause_resource_t; 9636ac495dSmrg 9736ac495dSmrg #ifdef __cplusplus 9836ac495dSmrg extern "C" { 9936ac495dSmrg # define __GOMP_NOTHROW throw () 10036ac495dSmrg #else 10136ac495dSmrg # define __GOMP_NOTHROW __attribute__((__nothrow__)) 10236ac495dSmrg #endif 10336ac495dSmrg 10436ac495dSmrg extern void omp_set_num_threads (int) __GOMP_NOTHROW; 10536ac495dSmrg extern int omp_get_num_threads (void) __GOMP_NOTHROW; 10636ac495dSmrg extern int omp_get_max_threads (void) __GOMP_NOTHROW; 10736ac495dSmrg extern int omp_get_thread_num (void) __GOMP_NOTHROW; 10836ac495dSmrg extern int omp_get_num_procs (void) __GOMP_NOTHROW; 10936ac495dSmrg 11036ac495dSmrg extern int omp_in_parallel (void) __GOMP_NOTHROW; 11136ac495dSmrg 11236ac495dSmrg extern void omp_set_dynamic (int) __GOMP_NOTHROW; 11336ac495dSmrg extern int omp_get_dynamic (void) __GOMP_NOTHROW; 11436ac495dSmrg 11536ac495dSmrg extern void omp_set_nested (int) __GOMP_NOTHROW; 11636ac495dSmrg extern int omp_get_nested (void) __GOMP_NOTHROW; 11736ac495dSmrg 11836ac495dSmrg extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; 119*c0a68be4Smrg extern void omp_init_lock_with_hint (omp_lock_t *, omp_sync_hint_t) 12036ac495dSmrg __GOMP_NOTHROW; 12136ac495dSmrg extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; 12236ac495dSmrg extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; 12336ac495dSmrg extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; 12436ac495dSmrg extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; 12536ac495dSmrg 12636ac495dSmrg extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 127*c0a68be4Smrg extern void omp_init_nest_lock_with_hint (omp_nest_lock_t *, omp_sync_hint_t) 12836ac495dSmrg __GOMP_NOTHROW; 12936ac495dSmrg extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 13036ac495dSmrg extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 13136ac495dSmrg extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 13236ac495dSmrg extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; 13336ac495dSmrg 13436ac495dSmrg extern double omp_get_wtime (void) __GOMP_NOTHROW; 13536ac495dSmrg extern double omp_get_wtick (void) __GOMP_NOTHROW; 13636ac495dSmrg 13736ac495dSmrg extern void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; 13836ac495dSmrg extern void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; 13936ac495dSmrg extern int omp_get_thread_limit (void) __GOMP_NOTHROW; 14036ac495dSmrg extern void omp_set_max_active_levels (int) __GOMP_NOTHROW; 14136ac495dSmrg extern int omp_get_max_active_levels (void) __GOMP_NOTHROW; 14236ac495dSmrg extern int omp_get_level (void) __GOMP_NOTHROW; 14336ac495dSmrg extern int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; 14436ac495dSmrg extern int omp_get_team_size (int) __GOMP_NOTHROW; 14536ac495dSmrg extern int omp_get_active_level (void) __GOMP_NOTHROW; 14636ac495dSmrg 14736ac495dSmrg extern int omp_in_final (void) __GOMP_NOTHROW; 14836ac495dSmrg 14936ac495dSmrg extern int omp_get_cancellation (void) __GOMP_NOTHROW; 15036ac495dSmrg extern omp_proc_bind_t omp_get_proc_bind (void) __GOMP_NOTHROW; 15136ac495dSmrg extern int omp_get_num_places (void) __GOMP_NOTHROW; 15236ac495dSmrg extern int omp_get_place_num_procs (int) __GOMP_NOTHROW; 15336ac495dSmrg extern void omp_get_place_proc_ids (int, int *) __GOMP_NOTHROW; 15436ac495dSmrg extern int omp_get_place_num (void) __GOMP_NOTHROW; 15536ac495dSmrg extern int omp_get_partition_num_places (void) __GOMP_NOTHROW; 15636ac495dSmrg extern void omp_get_partition_place_nums (int *) __GOMP_NOTHROW; 15736ac495dSmrg 15836ac495dSmrg extern void omp_set_default_device (int) __GOMP_NOTHROW; 15936ac495dSmrg extern int omp_get_default_device (void) __GOMP_NOTHROW; 16036ac495dSmrg extern int omp_get_num_devices (void) __GOMP_NOTHROW; 16136ac495dSmrg extern int omp_get_num_teams (void) __GOMP_NOTHROW; 16236ac495dSmrg extern int omp_get_team_num (void) __GOMP_NOTHROW; 16336ac495dSmrg 16436ac495dSmrg extern int omp_is_initial_device (void) __GOMP_NOTHROW; 16536ac495dSmrg extern int omp_get_initial_device (void) __GOMP_NOTHROW; 16636ac495dSmrg extern int omp_get_max_task_priority (void) __GOMP_NOTHROW; 16736ac495dSmrg 16836ac495dSmrg extern void *omp_target_alloc (__SIZE_TYPE__, int) __GOMP_NOTHROW; 16936ac495dSmrg extern void omp_target_free (void *, int) __GOMP_NOTHROW; 170*c0a68be4Smrg extern int omp_target_is_present (const void *, int) __GOMP_NOTHROW; 171*c0a68be4Smrg extern int omp_target_memcpy (void *, const void *, __SIZE_TYPE__, 172*c0a68be4Smrg __SIZE_TYPE__, __SIZE_TYPE__, int, int) 173*c0a68be4Smrg __GOMP_NOTHROW; 174*c0a68be4Smrg extern int omp_target_memcpy_rect (void *, const void *, __SIZE_TYPE__, int, 17536ac495dSmrg const __SIZE_TYPE__ *, 17636ac495dSmrg const __SIZE_TYPE__ *, 17736ac495dSmrg const __SIZE_TYPE__ *, 17836ac495dSmrg const __SIZE_TYPE__ *, 17936ac495dSmrg const __SIZE_TYPE__ *, int, int) 18036ac495dSmrg __GOMP_NOTHROW; 181*c0a68be4Smrg extern int omp_target_associate_ptr (const void *, const void *, __SIZE_TYPE__, 18236ac495dSmrg __SIZE_TYPE__, int) __GOMP_NOTHROW; 183*c0a68be4Smrg extern int omp_target_disassociate_ptr (const void *, int) __GOMP_NOTHROW; 184*c0a68be4Smrg 185*c0a68be4Smrg extern void omp_set_affinity_format (const char *) __GOMP_NOTHROW; 186*c0a68be4Smrg extern __SIZE_TYPE__ omp_get_affinity_format (char *, __SIZE_TYPE__) 187*c0a68be4Smrg __GOMP_NOTHROW; 188*c0a68be4Smrg extern void omp_display_affinity (const char *) __GOMP_NOTHROW; 189*c0a68be4Smrg extern __SIZE_TYPE__ omp_capture_affinity (char *, __SIZE_TYPE__, const char *) 190*c0a68be4Smrg __GOMP_NOTHROW; 191*c0a68be4Smrg 192*c0a68be4Smrg extern int omp_pause_resource (omp_pause_resource_t, int) __GOMP_NOTHROW; 193*c0a68be4Smrg extern int omp_pause_resource_all (omp_pause_resource_t) __GOMP_NOTHROW; 19436ac495dSmrg 19536ac495dSmrg #ifdef __cplusplus 19636ac495dSmrg } 19736ac495dSmrg #endif 19836ac495dSmrg 19936ac495dSmrg #endif /* _OMP_H */ 200