Home | History | Annotate | Line # | Download | only in libgomp
      1  1.1.1.13  mrg /* Copyright (C) 2005-2024 Free Software Foundation, Inc.
      2       1.1  mrg    Contributed by Richard Henderson <rth (at) redhat.com>.
      3       1.1  mrg 
      4   1.1.1.3  mrg    This file is part of the GNU Offloading and Multi Processing Library
      5   1.1.1.3  mrg    (libgomp).
      6       1.1  mrg 
      7       1.1  mrg    Libgomp is free software; you can redistribute it and/or modify it
      8       1.1  mrg    under the terms of the GNU General Public License as published by
      9       1.1  mrg    the Free Software Foundation; either version 3, or (at your option)
     10       1.1  mrg    any later version.
     11       1.1  mrg 
     12       1.1  mrg    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
     13       1.1  mrg    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     14       1.1  mrg    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
     15       1.1  mrg    more details.
     16       1.1  mrg 
     17       1.1  mrg    Under Section 7 of GPL version 3, you are granted additional
     18       1.1  mrg    permissions described in the GCC Runtime Library Exception, version
     19       1.1  mrg    3.1, as published by the Free Software Foundation.
     20       1.1  mrg 
     21       1.1  mrg    You should have received a copy of the GNU General Public License and
     22       1.1  mrg    a copy of the GCC Runtime Library Exception along with this program;
     23       1.1  mrg    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     24       1.1  mrg    <http://www.gnu.org/licenses/>.  */
     25       1.1  mrg 
     26   1.1.1.3  mrg #ifndef _OMP_H
     27   1.1.1.3  mrg #define _OMP_H 1
     28       1.1  mrg 
     29  1.1.1.12  mrg #if defined(__GNUC__) && _OPENMP >= 201811
     30  1.1.1.12  mrg # define __GOMP_DEPRECATED_5_0 __attribute__((__deprecated__))
     31  1.1.1.12  mrg #else
     32  1.1.1.12  mrg # define __GOMP_DEPRECATED_5_0
     33  1.1.1.12  mrg #endif
     34  1.1.1.12  mrg 
     35  1.1.1.12  mrg #if defined(__GNUC__) && _OPENMP >= 202011
     36  1.1.1.12  mrg # define __GOMP_DEPRECATED_5_1 __attribute__((__deprecated__))
     37  1.1.1.12  mrg #else
     38  1.1.1.12  mrg # define __GOMP_DEPRECATED_5_1
     39  1.1.1.12  mrg #endif
     40  1.1.1.12  mrg 
     41       1.1  mrg #ifndef _LIBGOMP_OMP_LOCK_DEFINED
     42       1.1  mrg #define _LIBGOMP_OMP_LOCK_DEFINED 1
     43       1.1  mrg /* These two structures get edited by the libgomp build process to
     44       1.1  mrg    reflect the shape of the two types.  Their internals are private
     45       1.1  mrg    to the library.  */
     46       1.1  mrg 
     47       1.1  mrg typedef struct
     48       1.1  mrg {
     49       1.1  mrg   unsigned char _x[@OMP_LOCK_SIZE@]
     50       1.1  mrg     __attribute__((__aligned__(@OMP_LOCK_ALIGN@)));
     51       1.1  mrg } omp_lock_t;
     52       1.1  mrg 
     53       1.1  mrg typedef struct
     54       1.1  mrg {
     55       1.1  mrg   unsigned char _x[@OMP_NEST_LOCK_SIZE@]
     56       1.1  mrg     __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
     57       1.1  mrg } omp_nest_lock_t;
     58       1.1  mrg #endif
     59       1.1  mrg 
     60       1.1  mrg typedef enum omp_sched_t
     61       1.1  mrg {
     62       1.1  mrg   omp_sched_static = 1,
     63       1.1  mrg   omp_sched_dynamic = 2,
     64       1.1  mrg   omp_sched_guided = 3,
     65  1.1.1.10  mrg   omp_sched_auto = 4,
     66  1.1.1.10  mrg   omp_sched_monotonic = 0x80000000U
     67       1.1  mrg } omp_sched_t;
     68       1.1  mrg 
     69   1.1.1.3  mrg typedef enum omp_proc_bind_t
     70   1.1.1.3  mrg {
     71   1.1.1.3  mrg   omp_proc_bind_false = 0,
     72   1.1.1.3  mrg   omp_proc_bind_true = 1,
     73  1.1.1.12  mrg   omp_proc_bind_primary = 2,
     74  1.1.1.12  mrg   omp_proc_bind_master __GOMP_DEPRECATED_5_1
     75  1.1.1.12  mrg     = omp_proc_bind_primary,
     76   1.1.1.3  mrg   omp_proc_bind_close = 3,
     77   1.1.1.3  mrg   omp_proc_bind_spread = 4
     78   1.1.1.3  mrg } omp_proc_bind_t;
     79   1.1.1.3  mrg 
     80  1.1.1.10  mrg typedef enum omp_sync_hint_t
     81   1.1.1.4  mrg {
     82  1.1.1.10  mrg   omp_sync_hint_none = 0,
     83  1.1.1.12  mrg   omp_lock_hint_none __GOMP_DEPRECATED_5_0 = omp_sync_hint_none,
     84  1.1.1.10  mrg   omp_sync_hint_uncontended = 1,
     85  1.1.1.12  mrg   omp_lock_hint_uncontended __GOMP_DEPRECATED_5_0 = omp_sync_hint_uncontended,
     86  1.1.1.10  mrg   omp_sync_hint_contended = 2,
     87  1.1.1.12  mrg   omp_lock_hint_contended __GOMP_DEPRECATED_5_0 = omp_sync_hint_contended,
     88  1.1.1.10  mrg   omp_sync_hint_nonspeculative = 4,
     89  1.1.1.12  mrg   omp_lock_hint_nonspeculative __GOMP_DEPRECATED_5_0
     90  1.1.1.12  mrg     = omp_sync_hint_nonspeculative,
     91  1.1.1.10  mrg   omp_sync_hint_speculative = 8,
     92  1.1.1.12  mrg   omp_lock_hint_speculative __GOMP_DEPRECATED_5_0 = omp_sync_hint_speculative
     93  1.1.1.10  mrg } omp_sync_hint_t;
     94  1.1.1.10  mrg 
     95  1.1.1.12  mrg typedef __GOMP_DEPRECATED_5_0 omp_sync_hint_t omp_lock_hint_t;
     96  1.1.1.10  mrg 
     97  1.1.1.10  mrg typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t
     98  1.1.1.10  mrg {
     99  1.1.1.10  mrg   char __omp_depend_t__[2 * sizeof (void *)];
    100  1.1.1.10  mrg } omp_depend_t;
    101  1.1.1.10  mrg 
    102  1.1.1.10  mrg typedef enum omp_pause_resource_t
    103  1.1.1.10  mrg {
    104  1.1.1.10  mrg   omp_pause_soft = 1,
    105  1.1.1.10  mrg   omp_pause_hard = 2
    106  1.1.1.10  mrg } omp_pause_resource_t;
    107   1.1.1.4  mrg 
    108  1.1.1.12  mrg typedef __UINTPTR_TYPE__ omp_uintptr_t;
    109  1.1.1.12  mrg 
    110  1.1.1.12  mrg #if __cplusplus >= 201103L
    111  1.1.1.12  mrg # define __GOMP_UINTPTR_T_ENUM : omp_uintptr_t
    112  1.1.1.12  mrg #else
    113  1.1.1.12  mrg # define __GOMP_UINTPTR_T_ENUM
    114  1.1.1.12  mrg #endif
    115  1.1.1.12  mrg 
    116  1.1.1.12  mrg typedef enum omp_memspace_handle_t __GOMP_UINTPTR_T_ENUM
    117  1.1.1.12  mrg {
    118  1.1.1.12  mrg   omp_default_mem_space = 0,
    119  1.1.1.12  mrg   omp_large_cap_mem_space = 1,
    120  1.1.1.12  mrg   omp_const_mem_space = 2,
    121  1.1.1.12  mrg   omp_high_bw_mem_space = 3,
    122  1.1.1.12  mrg   omp_low_lat_mem_space = 4,
    123  1.1.1.12  mrg   __omp_memspace_handle_t_max__ = __UINTPTR_MAX__
    124  1.1.1.12  mrg } omp_memspace_handle_t;
    125  1.1.1.12  mrg 
    126  1.1.1.12  mrg typedef enum omp_allocator_handle_t __GOMP_UINTPTR_T_ENUM
    127  1.1.1.12  mrg {
    128  1.1.1.12  mrg   omp_null_allocator = 0,
    129  1.1.1.12  mrg   omp_default_mem_alloc = 1,
    130  1.1.1.12  mrg   omp_large_cap_mem_alloc = 2,
    131  1.1.1.12  mrg   omp_const_mem_alloc = 3,
    132  1.1.1.12  mrg   omp_high_bw_mem_alloc = 4,
    133  1.1.1.12  mrg   omp_low_lat_mem_alloc = 5,
    134  1.1.1.12  mrg   omp_cgroup_mem_alloc = 6,
    135  1.1.1.12  mrg   omp_pteam_mem_alloc = 7,
    136  1.1.1.12  mrg   omp_thread_mem_alloc = 8,
    137  1.1.1.12  mrg   __omp_allocator_handle_t_max__ = __UINTPTR_MAX__
    138  1.1.1.12  mrg } omp_allocator_handle_t;
    139  1.1.1.12  mrg 
    140  1.1.1.12  mrg typedef enum omp_alloctrait_key_t
    141  1.1.1.12  mrg {
    142  1.1.1.12  mrg   omp_atk_sync_hint = 1,
    143  1.1.1.12  mrg   omp_atk_alignment = 2,
    144  1.1.1.12  mrg   omp_atk_access = 3,
    145  1.1.1.12  mrg   omp_atk_pool_size = 4,
    146  1.1.1.12  mrg   omp_atk_fallback = 5,
    147  1.1.1.12  mrg   omp_atk_fb_data = 6,
    148  1.1.1.12  mrg   omp_atk_pinned = 7,
    149  1.1.1.12  mrg   omp_atk_partition = 8
    150  1.1.1.12  mrg } omp_alloctrait_key_t;
    151  1.1.1.12  mrg 
    152  1.1.1.12  mrg typedef enum omp_alloctrait_value_t
    153  1.1.1.12  mrg {
    154  1.1.1.12  mrg   omp_atv_default = (__UINTPTR_TYPE__) -1,
    155  1.1.1.12  mrg   omp_atv_false = 0,
    156  1.1.1.12  mrg   omp_atv_true = 1,
    157  1.1.1.12  mrg   omp_atv_contended = 3,
    158  1.1.1.12  mrg   omp_atv_uncontended = 4,
    159  1.1.1.12  mrg   omp_atv_serialized = 5,
    160  1.1.1.12  mrg   omp_atv_sequential __GOMP_DEPRECATED_5_1 = omp_atv_serialized,
    161  1.1.1.12  mrg   omp_atv_private = 6,
    162  1.1.1.12  mrg   omp_atv_all = 7,
    163  1.1.1.12  mrg   omp_atv_thread = 8,
    164  1.1.1.12  mrg   omp_atv_pteam = 9,
    165  1.1.1.12  mrg   omp_atv_cgroup = 10,
    166  1.1.1.12  mrg   omp_atv_default_mem_fb = 11,
    167  1.1.1.12  mrg   omp_atv_null_fb = 12,
    168  1.1.1.12  mrg   omp_atv_abort_fb = 13,
    169  1.1.1.12  mrg   omp_atv_allocator_fb = 14,
    170  1.1.1.12  mrg   omp_atv_environment = 15,
    171  1.1.1.12  mrg   omp_atv_nearest = 16,
    172  1.1.1.12  mrg   omp_atv_blocked = 17,
    173  1.1.1.12  mrg   omp_atv_interleaved = 18
    174  1.1.1.12  mrg } omp_alloctrait_value_t;
    175  1.1.1.12  mrg 
    176  1.1.1.12  mrg typedef struct omp_alloctrait_t
    177  1.1.1.12  mrg {
    178  1.1.1.12  mrg   omp_alloctrait_key_t key;
    179  1.1.1.12  mrg   omp_uintptr_t value;
    180  1.1.1.12  mrg } omp_alloctrait_t;
    181  1.1.1.12  mrg 
    182  1.1.1.12  mrg typedef enum omp_event_handle_t __GOMP_UINTPTR_T_ENUM
    183  1.1.1.12  mrg {
    184  1.1.1.12  mrg   __omp_event_handle_t_max__ = __UINTPTR_MAX__
    185  1.1.1.12  mrg } omp_event_handle_t;
    186  1.1.1.12  mrg 
    187  1.1.1.13  mrg enum
    188  1.1.1.13  mrg {
    189  1.1.1.13  mrg   omp_initial_device = -1,
    190  1.1.1.13  mrg   omp_invalid_device = -4
    191  1.1.1.13  mrg };
    192  1.1.1.13  mrg 
    193       1.1  mrg #ifdef __cplusplus
    194       1.1  mrg extern "C" {
    195       1.1  mrg # define __GOMP_NOTHROW throw ()
    196  1.1.1.12  mrg # define __GOMP_DEFAULT_NULL_ALLOCATOR = omp_null_allocator
    197       1.1  mrg #else
    198       1.1  mrg # define __GOMP_NOTHROW __attribute__((__nothrow__))
    199  1.1.1.12  mrg # define __GOMP_DEFAULT_NULL_ALLOCATOR
    200       1.1  mrg #endif
    201       1.1  mrg 
    202       1.1  mrg extern void omp_set_num_threads (int) __GOMP_NOTHROW;
    203       1.1  mrg extern int omp_get_num_threads (void) __GOMP_NOTHROW;
    204       1.1  mrg extern int omp_get_max_threads (void) __GOMP_NOTHROW;
    205       1.1  mrg extern int omp_get_thread_num (void) __GOMP_NOTHROW;
    206       1.1  mrg extern int omp_get_num_procs (void) __GOMP_NOTHROW;
    207       1.1  mrg 
    208       1.1  mrg extern int omp_in_parallel (void) __GOMP_NOTHROW;
    209       1.1  mrg 
    210       1.1  mrg extern void omp_set_dynamic (int) __GOMP_NOTHROW;
    211       1.1  mrg extern int omp_get_dynamic (void) __GOMP_NOTHROW;
    212       1.1  mrg 
    213  1.1.1.12  mrg extern void omp_set_nested (int) __GOMP_NOTHROW __GOMP_DEPRECATED_5_0;
    214  1.1.1.12  mrg extern int omp_get_nested (void) __GOMP_NOTHROW __GOMP_DEPRECATED_5_0;
    215       1.1  mrg 
    216       1.1  mrg extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
    217  1.1.1.10  mrg extern void omp_init_lock_with_hint (omp_lock_t *, omp_sync_hint_t)
    218   1.1.1.4  mrg   __GOMP_NOTHROW;
    219       1.1  mrg extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
    220       1.1  mrg extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
    221       1.1  mrg extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
    222       1.1  mrg extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
    223       1.1  mrg 
    224       1.1  mrg extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
    225  1.1.1.10  mrg extern void omp_init_nest_lock_with_hint (omp_nest_lock_t *, omp_sync_hint_t)
    226   1.1.1.4  mrg   __GOMP_NOTHROW;
    227       1.1  mrg extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
    228       1.1  mrg extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
    229       1.1  mrg extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
    230       1.1  mrg extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
    231       1.1  mrg 
    232       1.1  mrg extern double omp_get_wtime (void) __GOMP_NOTHROW;
    233       1.1  mrg extern double omp_get_wtick (void) __GOMP_NOTHROW;
    234       1.1  mrg 
    235   1.1.1.3  mrg extern void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
    236   1.1.1.3  mrg extern void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
    237   1.1.1.3  mrg extern int omp_get_thread_limit (void) __GOMP_NOTHROW;
    238   1.1.1.3  mrg extern void omp_set_max_active_levels (int) __GOMP_NOTHROW;
    239   1.1.1.3  mrg extern int omp_get_max_active_levels (void) __GOMP_NOTHROW;
    240  1.1.1.12  mrg extern int omp_get_supported_active_levels (void) __GOMP_NOTHROW;
    241   1.1.1.3  mrg extern int omp_get_level (void) __GOMP_NOTHROW;
    242   1.1.1.3  mrg extern int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
    243   1.1.1.3  mrg extern int omp_get_team_size (int) __GOMP_NOTHROW;
    244   1.1.1.3  mrg extern int omp_get_active_level (void) __GOMP_NOTHROW;
    245   1.1.1.3  mrg 
    246   1.1.1.3  mrg extern int omp_in_final (void) __GOMP_NOTHROW;
    247  1.1.1.13  mrg extern int omp_in_explicit_task (void) __GOMP_NOTHROW;
    248   1.1.1.3  mrg 
    249   1.1.1.3  mrg extern int omp_get_cancellation (void) __GOMP_NOTHROW;
    250   1.1.1.3  mrg extern omp_proc_bind_t omp_get_proc_bind (void) __GOMP_NOTHROW;
    251   1.1.1.4  mrg extern int omp_get_num_places (void) __GOMP_NOTHROW;
    252   1.1.1.4  mrg extern int omp_get_place_num_procs (int) __GOMP_NOTHROW;
    253   1.1.1.4  mrg extern void omp_get_place_proc_ids (int, int *) __GOMP_NOTHROW;
    254   1.1.1.4  mrg extern int omp_get_place_num (void) __GOMP_NOTHROW;
    255   1.1.1.4  mrg extern int omp_get_partition_num_places (void) __GOMP_NOTHROW;
    256   1.1.1.4  mrg extern void omp_get_partition_place_nums (int *) __GOMP_NOTHROW;
    257   1.1.1.3  mrg 
    258   1.1.1.3  mrg extern void omp_set_default_device (int) __GOMP_NOTHROW;
    259   1.1.1.3  mrg extern int omp_get_default_device (void) __GOMP_NOTHROW;
    260   1.1.1.3  mrg extern int omp_get_num_devices (void) __GOMP_NOTHROW;
    261  1.1.1.12  mrg extern int omp_get_device_num (void) __GOMP_NOTHROW;
    262   1.1.1.3  mrg extern int omp_get_num_teams (void) __GOMP_NOTHROW;
    263   1.1.1.3  mrg extern int omp_get_team_num (void) __GOMP_NOTHROW;
    264       1.1  mrg 
    265   1.1.1.3  mrg extern int omp_is_initial_device (void) __GOMP_NOTHROW;
    266   1.1.1.4  mrg extern int omp_get_initial_device (void) __GOMP_NOTHROW;
    267   1.1.1.4  mrg extern int omp_get_max_task_priority (void) __GOMP_NOTHROW;
    268   1.1.1.4  mrg 
    269  1.1.1.12  mrg extern void omp_fulfill_event (omp_event_handle_t) __GOMP_NOTHROW;
    270  1.1.1.12  mrg 
    271  1.1.1.12  mrg extern void omp_set_num_teams (int) __GOMP_NOTHROW;
    272  1.1.1.12  mrg extern int omp_get_max_teams (void) __GOMP_NOTHROW;
    273  1.1.1.12  mrg extern void omp_set_teams_thread_limit (int) __GOMP_NOTHROW;
    274  1.1.1.12  mrg extern int omp_get_teams_thread_limit (void) __GOMP_NOTHROW;
    275  1.1.1.12  mrg 
    276   1.1.1.4  mrg extern void *omp_target_alloc (__SIZE_TYPE__, int) __GOMP_NOTHROW;
    277   1.1.1.4  mrg extern void omp_target_free (void *, int) __GOMP_NOTHROW;
    278  1.1.1.10  mrg extern int omp_target_is_present (const void *, int) __GOMP_NOTHROW;
    279  1.1.1.10  mrg extern int omp_target_memcpy (void *, const void *, __SIZE_TYPE__,
    280  1.1.1.10  mrg 			      __SIZE_TYPE__, __SIZE_TYPE__, int, int)
    281  1.1.1.10  mrg   __GOMP_NOTHROW;
    282  1.1.1.13  mrg extern int omp_target_memcpy_async (void *, const void *, __SIZE_TYPE__,
    283  1.1.1.13  mrg 				    __SIZE_TYPE__, __SIZE_TYPE__, int, int,
    284  1.1.1.13  mrg 				    int, omp_depend_t *)
    285  1.1.1.13  mrg   __GOMP_NOTHROW;
    286  1.1.1.10  mrg extern int omp_target_memcpy_rect (void *, const void *, __SIZE_TYPE__, int,
    287   1.1.1.4  mrg 				   const __SIZE_TYPE__ *,
    288   1.1.1.4  mrg 				   const __SIZE_TYPE__ *,
    289   1.1.1.4  mrg 				   const __SIZE_TYPE__ *,
    290   1.1.1.4  mrg 				   const __SIZE_TYPE__ *,
    291   1.1.1.4  mrg 				   const __SIZE_TYPE__ *, int, int)
    292   1.1.1.4  mrg   __GOMP_NOTHROW;
    293  1.1.1.13  mrg extern int omp_target_memcpy_rect_async (void *, const void *, __SIZE_TYPE__,
    294  1.1.1.13  mrg 					 int, const __SIZE_TYPE__ *,
    295  1.1.1.13  mrg 					 const __SIZE_TYPE__ *,
    296  1.1.1.13  mrg 					 const __SIZE_TYPE__ *,
    297  1.1.1.13  mrg 					 const __SIZE_TYPE__ *,
    298  1.1.1.13  mrg 					 const __SIZE_TYPE__ *, int, int, int,
    299  1.1.1.13  mrg 					 omp_depend_t *)
    300  1.1.1.13  mrg   __GOMP_NOTHROW;
    301  1.1.1.10  mrg extern int omp_target_associate_ptr (const void *, const void *, __SIZE_TYPE__,
    302   1.1.1.4  mrg 				     __SIZE_TYPE__, int) __GOMP_NOTHROW;
    303  1.1.1.10  mrg extern int omp_target_disassociate_ptr (const void *, int) __GOMP_NOTHROW;
    304  1.1.1.13  mrg extern void *omp_get_mapped_ptr (const void *, int) __GOMP_NOTHROW;
    305  1.1.1.13  mrg extern int omp_target_is_accessible (const void *, __SIZE_TYPE__, int)
    306  1.1.1.13  mrg   __GOMP_NOTHROW;
    307  1.1.1.10  mrg 
    308  1.1.1.10  mrg extern void omp_set_affinity_format (const char *) __GOMP_NOTHROW;
    309  1.1.1.10  mrg extern __SIZE_TYPE__ omp_get_affinity_format (char *, __SIZE_TYPE__)
    310  1.1.1.10  mrg   __GOMP_NOTHROW;
    311  1.1.1.10  mrg extern void omp_display_affinity (const char *) __GOMP_NOTHROW;
    312  1.1.1.10  mrg extern __SIZE_TYPE__ omp_capture_affinity (char *, __SIZE_TYPE__, const char *)
    313  1.1.1.10  mrg   __GOMP_NOTHROW;
    314  1.1.1.10  mrg 
    315  1.1.1.10  mrg extern int omp_pause_resource (omp_pause_resource_t, int) __GOMP_NOTHROW;
    316  1.1.1.10  mrg extern int omp_pause_resource_all (omp_pause_resource_t) __GOMP_NOTHROW;
    317   1.1.1.2  mrg 
    318  1.1.1.12  mrg extern omp_allocator_handle_t omp_init_allocator (omp_memspace_handle_t,
    319  1.1.1.12  mrg 						  int,
    320  1.1.1.12  mrg 						  const omp_alloctrait_t [])
    321  1.1.1.12  mrg   __GOMP_NOTHROW;
    322  1.1.1.12  mrg extern void omp_destroy_allocator (omp_allocator_handle_t) __GOMP_NOTHROW;
    323  1.1.1.12  mrg extern void omp_set_default_allocator (omp_allocator_handle_t) __GOMP_NOTHROW;
    324  1.1.1.12  mrg extern omp_allocator_handle_t omp_get_default_allocator (void) __GOMP_NOTHROW;
    325  1.1.1.12  mrg extern void omp_free (void *,
    326  1.1.1.12  mrg 		      omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR)
    327  1.1.1.12  mrg   __GOMP_NOTHROW;
    328  1.1.1.12  mrg extern void *omp_alloc (__SIZE_TYPE__,
    329  1.1.1.12  mrg 			omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR)
    330  1.1.1.12  mrg   __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free),
    331  1.1.1.12  mrg 				__alloc_size__ (1)));
    332  1.1.1.12  mrg extern void *omp_aligned_alloc (__SIZE_TYPE__, __SIZE_TYPE__,
    333  1.1.1.12  mrg 				omp_allocator_handle_t
    334  1.1.1.12  mrg 				__GOMP_DEFAULT_NULL_ALLOCATOR)
    335  1.1.1.12  mrg   __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free),
    336  1.1.1.12  mrg 				__alloc_size__ (2), __alloc_align__ (1)));
    337  1.1.1.12  mrg extern void *omp_calloc (__SIZE_TYPE__, __SIZE_TYPE__,
    338  1.1.1.12  mrg 			 omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR)
    339  1.1.1.12  mrg   __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free),
    340  1.1.1.12  mrg 				__alloc_size__ (1, 2)));
    341  1.1.1.12  mrg extern void *omp_aligned_calloc (__SIZE_TYPE__, __SIZE_TYPE__, __SIZE_TYPE__,
    342  1.1.1.12  mrg 				 omp_allocator_handle_t
    343  1.1.1.12  mrg 				 __GOMP_DEFAULT_NULL_ALLOCATOR)
    344  1.1.1.12  mrg   __GOMP_NOTHROW __attribute__((__malloc__, __malloc__ (omp_free),
    345  1.1.1.12  mrg 				__alloc_size__ (2, 3), __alloc_align__ (1)));
    346  1.1.1.12  mrg extern void *omp_realloc (void *, __SIZE_TYPE__,
    347  1.1.1.12  mrg 			  omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR,
    348  1.1.1.12  mrg 			  omp_allocator_handle_t __GOMP_DEFAULT_NULL_ALLOCATOR)
    349  1.1.1.12  mrg   __GOMP_NOTHROW __attribute__((__malloc__ (omp_free), __alloc_size__ (2)));
    350  1.1.1.12  mrg 
    351  1.1.1.12  mrg extern void omp_display_env (int) __GOMP_NOTHROW;
    352  1.1.1.12  mrg 
    353       1.1  mrg #ifdef __cplusplus
    354       1.1  mrg }
    355       1.1  mrg #endif
    356       1.1  mrg 
    357   1.1.1.3  mrg #endif /* _OMP_H */
    358