Merge llvm-project 12.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR:		255570
MFC after:	6 weeks
This commit is contained in:
Dimitry Andric
2021-04-26 13:23:24 +02:00
269 changed files with 7493 additions and 7942 deletions
+18
View File
@@ -45,6 +45,8 @@
#define OMPT_DEBUG LIBOMP_OMPT_DEBUG
#define LIBOMP_OMPT_SUPPORT 1
#define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT
#define LIBOMP_PROFILING_SUPPORT 0
#define OMP_PROFILING_SUPPORT LIBOMP_PROFILING_SUPPORT
#define LIBOMP_OMPT_OPTIONAL 1
#define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL
#define LIBOMP_USE_ADAPTIVE_LOCKS 1
@@ -71,10 +73,26 @@
#endif
#define MSVC 0
#define KMP_MSVC_COMPAT MSVC
#define LIBOMP_HAVE_WAITPKG_INTRINSICS 1
#define KMP_HAVE_WAITPKG_INTRINSICS LIBOMP_HAVE_WAITPKG_INTRINSICS
#define LIBOMP_HAVE_RTM_INTRINSICS 1
#define KMP_HAVE_RTM_INTRINSICS LIBOMP_HAVE_RTM_INTRINSICS
#define LIBOMP_HAVE_IMMINTRIN_H 1
#define KMP_HAVE_IMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H
#define LIBOMP_HAVE_INTRIN_H 0
#define KMP_HAVE_INTRIN_H LIBOMP_HAVE_INTRIN_H
#define LIBOMP_HAVE_ATTRIBUTE_WAITPKG 1
#define KMP_HAVE_ATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG
#define LIBOMP_HAVE_ATTRIBUTE_RTM 1
#define KMP_HAVE_ATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM
#define LIBOMP_ARCH_AARCH64_A64FX 0
#define KMP_ARCH_AARCH64_A64FX LIBOMP_ARCH_AARCH64_A64FX
// Configured cache line based on architecture
#if KMP_ARCH_PPC64
# define CACHE_LINE 128
#elif KMP_ARCH_AARCH64_A64FX
# define CACHE_LINE 256
#else
# define CACHE_LINE 64
#endif
+6 -4
View File
@@ -1,6 +1,6 @@
// $FreeBSD$
// Do not edit this file! //
// The file was generated from en_US.txt by message-converter.pl on Fri Aug 23 08:40:57 2019. //
// The file was generated from en_US.txt by message-converter.pl on Mon Apr 26 14:12:23 2021. //
static char const *
__kmp_i18n_default_meta[] =
@@ -245,7 +245,7 @@ __kmp_i18n_default_messages[] =
"%1$s: Affinity capable, using default \"flat\" topology",
"%1$s: Affinity not capable, using local cpuid info",
"%1$s: Affinity not capable, using cpuinfo file",
"%1$s: Affinity not capable, assumming \"flat\" topology",
"%1$s: Affinity not capable, assuming \"flat\" topology",
"%1$s: Initial OS proc set respected: %2$s",
"%1$s: Initial OS proc set not respected: %2$s",
"%1$s: %2$d available OS procs",
@@ -311,7 +311,7 @@ __kmp_i18n_default_messages[] =
"%1$s - exiting.",
"Incompatible %1$s library with version %2$s found.",
"ittnotify: Function %1$s failed:",
"ittnofify: Error #%1$d.",
"ittnotify: Error #%1$d.",
"%1$s must be set prior to first parallel region or certain API calls; ignored.",
"Lock initialized at %1$s(%2$d) was not destroyed",
"Cannot determine machine load balance - Using %1$s",
@@ -354,6 +354,7 @@ __kmp_i18n_default_messages[] =
"%1$s: Ignoring hwloc mechanism.",
"%1$s: Hwloc failed in %2$s. Relying on internal affinity mechanisms.",
"%1$s must be set prior to OpenMP runtime library initialization; ignored.",
"You have enabled the use of umonitor/umwait. If the CPU doesn't have that enabled you'll get an illegal instruction exception.",
"%1$s variable deprecated, please use %2$s instead.",
"KMP_FORCE_REDUCTION: %1$s method is not supported; using critical.",
"KMP_HW_SUBSET ignored: unsupported item requested for non-HWLOC topology method (KMP_TOPOLOGY_METHOD)",
@@ -363,6 +364,7 @@ __kmp_i18n_default_messages[] =
"Hierarchy ignored: unsupported level: %1$s.",
"OMP: pid %1$s tid %2$s thread %3$s bound to OS proc set {%4$s}",
"%1$s routine deprecated, please use %2$s instead.",
"libgomp compatibility layer does not support OpenMP feature: %1$s",
NULL
};
@@ -413,7 +415,7 @@ __kmp_i18n_sections[] =
{ 5, __kmp_i18n_default_meta },
{ 55, __kmp_i18n_default_strings },
{ 6, __kmp_i18n_default_formats },
{ 270, __kmp_i18n_default_messages },
{ 272, __kmp_i18n_default_messages },
{ 27, __kmp_i18n_default_hints },
{ 0, NULL }
};
+3 -1
View File
@@ -1,6 +1,6 @@
// $FreeBSD$
// Do not edit this file! //
// The file was generated from en_US.txt by message-converter.pl on Fri Aug 23 08:40:57 2019. //
// The file was generated from en_US.txt by message-converter.pl on Mon Apr 26 14:12:23 2021. //
enum kmp_i18n_id {
@@ -348,6 +348,7 @@ enum kmp_i18n_id {
kmp_i18n_msg_AffIgnoringHwloc,
kmp_i18n_msg_AffHwlocErrorOccurred,
kmp_i18n_msg_EnvSerialWarn,
kmp_i18n_msg_EnvMwaitWarn,
kmp_i18n_msg_EnvVarDeprecated,
kmp_i18n_msg_RedMethodNotSupported,
kmp_i18n_msg_AffHWSubsetNoHWLOC,
@@ -357,6 +358,7 @@ enum kmp_i18n_id {
kmp_i18n_msg_HierSchedInvalid,
kmp_i18n_msg_AffFormatDefault,
kmp_i18n_msg_APIDeprecated,
kmp_i18n_msg_GompFeatureNotSupported,
kmp_i18n_msg_last,
// Set #5, hints.
+117 -24
View File
@@ -21,6 +21,16 @@
#include <stdint.h>
#include <stddef.h>
#ifdef DEPRECATION_WARNINGS
# ifdef __cplusplus
# define DEPRECATED_51 [[deprecated("as of 5.1")]]
# else
# define DEPRECATED_51 __attribute__((deprecated("as of 5.1")))
#endif
#else
#define DEPRECATED_51
#endif
/*****************************************************************************
* iteration macros
*****************************************************************************/
@@ -134,7 +144,7 @@
\
macro (ompt_callback_work, ompt_callback_work_t, 20) /* task at work begin or end */ \
\
macro (ompt_callback_master, ompt_callback_master_t, 21) /* task at master begin or end */ \
macro (ompt_callback_masked, ompt_callback_masked_t, 21) /* task at masked begin or end */ \
\
macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
\
@@ -154,7 +164,12 @@
\
macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \
\
macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */
macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */ \
macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) /* target */ \
macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) /* target data op */ \
macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) /* target submit */ \
macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ \
macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */
/*****************************************************************************
* implementation specific types
@@ -191,7 +206,8 @@ typedef enum ompt_callbacks_t {
ompt_callback_dependences = 18,
ompt_callback_task_dependence = 19,
ompt_callback_work = 20,
ompt_callback_master = 21,
ompt_callback_master DEPRECATED_51 = 21,
ompt_callback_masked = 21,
ompt_callback_target_map = 22,
ompt_callback_sync_region = 23,
ompt_callback_lock_init = 24,
@@ -202,7 +218,12 @@ typedef enum ompt_callbacks_t {
ompt_callback_flush = 29,
ompt_callback_cancel = 30,
ompt_callback_reduction = 31,
ompt_callback_dispatch = 32
ompt_callback_dispatch = 32,
ompt_callback_target_emi = 33,
ompt_callback_target_data_op_emi = 34,
ompt_callback_target_submit_emi = 35,
ompt_callback_target_map_emi = 36,
ompt_callback_error = 37
} ompt_callbacks_t;
typedef enum ompt_record_t {
@@ -240,7 +261,8 @@ typedef enum ompt_thread_t {
typedef enum ompt_scope_endpoint_t {
ompt_scope_begin = 1,
ompt_scope_end = 2
ompt_scope_end = 2,
ompt_scope_beginend = 3
} ompt_scope_endpoint_t;
typedef enum ompt_dispatch_t {
@@ -249,22 +271,29 @@ typedef enum ompt_dispatch_t {
} ompt_dispatch_t;
typedef enum ompt_sync_region_t {
ompt_sync_region_barrier = 1,
ompt_sync_region_barrier_implicit = 2,
ompt_sync_region_barrier DEPRECATED_51 = 1,
ompt_sync_region_barrier_implicit DEPRECATED_51 = 2,
ompt_sync_region_barrier_explicit = 3,
ompt_sync_region_barrier_implementation = 4,
ompt_sync_region_taskwait = 5,
ompt_sync_region_taskgroup = 6,
ompt_sync_region_reduction = 7
ompt_sync_region_reduction = 7,
ompt_sync_region_barrier_implicit_workshare = 8,
ompt_sync_region_barrier_implicit_parallel = 9,
ompt_sync_region_barrier_teams = 10
} ompt_sync_region_t;
typedef enum ompt_target_data_op_t {
ompt_target_data_alloc = 1,
ompt_target_data_transfer_to_device = 2,
ompt_target_data_transfer_from_device = 3,
ompt_target_data_delete = 4,
ompt_target_data_associate = 5,
ompt_target_data_disassociate = 6
ompt_target_data_alloc = 1,
ompt_target_data_transfer_to_device = 2,
ompt_target_data_transfer_from_device = 3,
ompt_target_data_delete = 4,
ompt_target_data_associate = 5,
ompt_target_data_disassociate = 6,
ompt_target_data_alloc_async = 17,
ompt_target_data_transfer_to_device_async = 18,
ompt_target_data_transfer_from_device_async = 19,
ompt_target_data_delete_async = 20
} ompt_target_data_op_t;
typedef enum ompt_work_t {
@@ -274,7 +303,8 @@ typedef enum ompt_work_t {
ompt_work_single_other = 4,
ompt_work_workshare = 5,
ompt_work_distribute = 6,
ompt_work_taskloop = 7
ompt_work_taskloop = 7,
ompt_work_scope = 8
} ompt_work_t;
typedef enum ompt_mutex_t {
@@ -303,6 +333,7 @@ typedef enum ompt_task_flag_t {
ompt_task_implicit = 0x00000002,
ompt_task_explicit = 0x00000004,
ompt_task_target = 0x00000008,
ompt_task_taskwait = 0x00000010,
ompt_task_undeferred = 0x08000000,
ompt_task_untied = 0x10000000,
ompt_task_final = 0x20000000,
@@ -317,14 +348,19 @@ typedef enum ompt_task_status_t {
ompt_task_detach = 4,
ompt_task_early_fulfill = 5,
ompt_task_late_fulfill = 6,
ompt_task_switch = 7
ompt_task_switch = 7,
ompt_taskwait_complete = 8
} ompt_task_status_t;
typedef enum ompt_target_t {
ompt_target = 1,
ompt_target_enter_data = 2,
ompt_target_exit_data = 3,
ompt_target_update = 4
ompt_target_update = 4,
ompt_target_nowait = 9,
ompt_target_enter_data_nowait = 10,
ompt_target_exit_data_nowait = 11,
ompt_target_update_nowait = 12
} ompt_target_t;
typedef enum ompt_parallel_flag_t {
@@ -349,9 +385,15 @@ typedef enum ompt_dependence_type_t {
ompt_dependence_type_inout = 3,
ompt_dependence_type_mutexinoutset = 4,
ompt_dependence_type_source = 5,
ompt_dependence_type_sink = 6
ompt_dependence_type_sink = 6,
ompt_dependence_type_inoutset = 7
} ompt_dependence_type_t;
typedef enum ompt_severity_t {
ompt_warning = 1,
ompt_fatal = 2
} ompt_severity_t;
typedef enum ompt_cancel_flag_t {
ompt_cancel_parallel = 0x01,
ompt_cancel_sections = 0x02,
@@ -379,11 +421,13 @@ typedef enum ompt_state_t {
ompt_state_work_parallel = 0x001,
ompt_state_work_reduction = 0x002,
ompt_state_wait_barrier = 0x010,
ompt_state_wait_barrier DEPRECATED_51 = 0x010,
ompt_state_wait_barrier_implicit_parallel = 0x011,
ompt_state_wait_barrier_implicit_workshare = 0x012,
ompt_state_wait_barrier_implicit = 0x013,
ompt_state_wait_barrier_implicit DEPRECATED_51 = 0x013,
ompt_state_wait_barrier_explicit = 0x014,
ompt_state_wait_barrier_implementation = 0x015,
ompt_state_wait_barrier_teams = 0x016,
ompt_state_wait_taskwait = 0x020,
ompt_state_wait_taskgroup = 0x021,
@@ -800,19 +844,21 @@ typedef struct ompt_record_implicit_task_t {
int flags;
} ompt_record_implicit_task_t;
typedef void (*ompt_callback_master_t) (
typedef void (*ompt_callback_masked_t) (
ompt_scope_endpoint_t endpoint,
ompt_data_t *parallel_data,
ompt_data_t *task_data,
const void *codeptr_ra
);
typedef struct ompt_record_master_t {
typedef ompt_callback_masked_t ompt_callback_master_t DEPRECATED_51;
typedef struct ompt_record_masked_t {
ompt_scope_endpoint_t endpoint;
ompt_id_t parallel_id;
ompt_id_t task_id;
const void *codeptr_ra;
} ompt_record_master_t;
} ompt_record_masked_t;
typedef void (*ompt_callback_sync_region_t) (
ompt_sync_region_t kind,
@@ -919,6 +965,20 @@ typedef void (*ompt_callback_device_unload_t) (
uint64_t module_id
);
typedef void (*ompt_callback_target_data_op_emi_t) (
ompt_scope_endpoint_t endpoint,
ompt_data_t *target_task_data,
ompt_data_t *target_data,
ompt_id_t *host_op_id,
ompt_target_data_op_t optype,
void *src_addr,
int src_device_num,
void *dest_addr,
int dest_device_num,
size_t bytes,
const void *codeptr_ra
);
typedef void (*ompt_callback_target_data_op_t) (
ompt_id_t target_id,
ompt_id_t host_op_id,
@@ -943,6 +1003,16 @@ typedef struct ompt_record_target_data_op_t {
const void *codeptr_ra;
} ompt_record_target_data_op_t;
typedef void (*ompt_callback_target_emi_t) (
ompt_target_t kind,
ompt_scope_endpoint_t endpoint,
int device_num,
ompt_data_t *task_data,
ompt_data_t *target_task_data,
ompt_data_t *target_data,
const void *codeptr_ra
);
typedef void (*ompt_callback_target_t) (
ompt_target_t kind,
ompt_scope_endpoint_t endpoint,
@@ -961,6 +1031,16 @@ typedef struct ompt_record_target_t {
const void *codeptr_ra;
} ompt_record_target_t;
typedef void (*ompt_callback_target_map_emi_t) (
ompt_data_t *target_data,
unsigned int nitems,
void **host_addr,
void **device_addr,
size_t *bytes,
unsigned int *mapping_flags,
const void *codeptr_ra
);
typedef void (*ompt_callback_target_map_t) (
ompt_id_t target_id,
unsigned int nitems,
@@ -981,6 +1061,13 @@ typedef struct ompt_record_target_map_t {
const void *codeptr_ra;
} ompt_record_target_map_t;
typedef void (*ompt_callback_target_submit_emi_t) (
ompt_scope_endpoint_t endpoint,
ompt_data_t *target_data,
ompt_id_t *host_op_id,
unsigned int requested_num_teams
);
typedef void (*ompt_callback_target_submit_t) (
ompt_id_t target_id,
ompt_id_t host_op_id,
@@ -1007,6 +1094,12 @@ typedef struct ompt_record_control_tool_t {
const void *codeptr_ra;
} ompt_record_control_tool_t;
typedef void (*ompt_callback_error_t) (
ompt_severity_t severity,
const char *message, size_t length,
const void *codeptr_ra
);
typedef struct ompd_address_t {
ompd_seg_t segment;
ompd_addr_t address;
@@ -1050,7 +1143,7 @@ typedef struct ompt_record_ompt_t {
ompt_record_task_dependence_t task_dependence;
ompt_record_task_schedule_t task_schedule;
ompt_record_implicit_task_t implicit_task;
ompt_record_master_t master;
ompt_record_masked_t masked;
ompt_record_sync_region_t sync_region;
ompt_record_mutex_acquire_t mutex_acquire;
ompt_record_mutex_t mutex;
+117 -27
View File
@@ -153,6 +153,85 @@
extern int __KAI_KMPC_CONVENTION omp_get_device_num (void);
typedef void * omp_depend_t;
/* OpenMP 5.1 interop */
typedef intptr_t omp_intptr_t;
/* 0..omp_get_num_interop_properties()-1 are reserved for implementation-defined properties */
typedef enum omp_interop_property {
omp_ipr_fr_id = -1,
omp_ipr_fr_name = -2,
omp_ipr_vendor = -3,
omp_ipr_vendor_name = -4,
omp_ipr_device_num = -5,
omp_ipr_platform = -6,
omp_ipr_device = -7,
omp_ipr_device_context = -8,
omp_ipr_targetsync = -9,
omp_ipr_first = -9
} omp_interop_property_t;
#define omp_interop_none 0
typedef enum omp_interop_rc {
omp_irc_no_value = 1,
omp_irc_success = 0,
omp_irc_empty = -1,
omp_irc_out_of_range = -2,
omp_irc_type_int = -3,
omp_irc_type_ptr = -4,
omp_irc_type_str = -5,
omp_irc_other = -6
} omp_interop_rc_t;
typedef void * omp_interop_t;
/*!
* The `omp_get_num_interop_properties` routine retrieves the number of implementation-defined properties available for an `omp_interop_t` object.
*/
extern int __KAI_KMPC_CONVENTION omp_get_num_interop_properties(const omp_interop_t);
/*!
* The `omp_get_interop_int` routine retrieves an integer property from an `omp_interop_t` object.
*/
extern omp_intptr_t __KAI_KMPC_CONVENTION omp_get_interop_int(const omp_interop_t, omp_interop_property_t, int *);
/*!
* The `omp_get_interop_ptr` routine retrieves a pointer property from an `omp_interop_t` object.
*/
extern void * __KAI_KMPC_CONVENTION omp_get_interop_ptr(const omp_interop_t, omp_interop_property_t, int *);
/*!
* The `omp_get_interop_str` routine retrieves a string property from an `omp_interop_t` object.
*/
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_str(const omp_interop_t, omp_interop_property_t, int *);
/*!
* The `omp_get_interop_name` routine retrieves a property name from an `omp_interop_t` object.
*/
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_name(const omp_interop_t, omp_interop_property_t);
/*!
* The `omp_get_interop_type_desc` routine retrieves a description of the type of a property associated with an `omp_interop_t` object.
*/
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_type_desc(const omp_interop_t, omp_interop_property_t);
/*!
* The `omp_get_interop_rc_desc` routine retrieves a description of the return code associated with an `omp_interop_t` object.
*/
extern const char * __KAI_KMPC_CONVENTION omp_get_interop_rc_desc(const omp_interop_rc_t, omp_interop_rc_t);
/* OpenMP 5.1 device memory routines */
/*!
* The `omp_target_memcpy_async` routine asynchronously performs a copy between any combination of host and device pointers.
*/
extern int __KAI_KMPC_CONVENTION omp_target_memcpy_async(void *, const void *, size_t, size_t, size_t, int,
int, int, omp_depend_t *);
/*!
* The `omp_target_memcpy_rect_async` routine asynchronously performs a copy between any combination of host and device pointers.
*/
extern int __KAI_KMPC_CONVENTION omp_target_memcpy_rect_async(void *, const void *, size_t, int, const size_t *,
const size_t *, const size_t *, const size_t *, const size_t *, int, int,
int, omp_depend_t *);
/*!
* The `omp_get_mapped_ptr` routine returns the device pointer that is associated with a host pointer for a given device.
*/
extern void * __KAI_KMPC_CONVENTION omp_get_mapped_ptr(const void *, int);
/* kmp API functions */
extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int);
@@ -229,37 +308,38 @@
typedef uintptr_t omp_uintptr_t;
typedef enum {
OMP_ATK_THREADMODEL = 1,
OMP_ATK_ALIGNMENT = 2,
OMP_ATK_ACCESS = 3,
OMP_ATK_POOL_SIZE = 4,
OMP_ATK_FALLBACK = 5,
OMP_ATK_FB_DATA = 6,
OMP_ATK_PINNED = 7,
OMP_ATK_PARTITION = 8
omp_atk_sync_hint = 1,
omp_atk_alignment = 2,
omp_atk_access = 3,
omp_atk_pool_size = 4,
omp_atk_fallback = 5,
omp_atk_fb_data = 6,
omp_atk_pinned = 7,
omp_atk_partition = 8
} omp_alloctrait_key_t;
typedef enum {
OMP_ATV_FALSE = 0,
OMP_ATV_TRUE = 1,
OMP_ATV_DEFAULT = 2,
OMP_ATV_CONTENDED = 3,
OMP_ATV_UNCONTENDED = 4,
OMP_ATV_SEQUENTIAL = 5,
OMP_ATV_PRIVATE = 6,
OMP_ATV_ALL = 7,
OMP_ATV_THREAD = 8,
OMP_ATV_PTEAM = 9,
OMP_ATV_CGROUP = 10,
OMP_ATV_DEFAULT_MEM_FB = 11,
OMP_ATV_NULL_FB = 12,
OMP_ATV_ABORT_FB = 13,
OMP_ATV_ALLOCATOR_FB = 14,
OMP_ATV_ENVIRONMENT = 15,
OMP_ATV_NEAREST = 16,
OMP_ATV_BLOCKED = 17,
OMP_ATV_INTERLEAVED = 18
omp_atv_false = 0,
omp_atv_true = 1,
omp_atv_contended = 3,
omp_atv_uncontended = 4,
omp_atv_serialized = 5,
omp_atv_sequential = omp_atv_serialized, // (deprecated)
omp_atv_private = 6,
omp_atv_all = 7,
omp_atv_thread = 8,
omp_atv_pteam = 9,
omp_atv_cgroup = 10,
omp_atv_default_mem_fb = 11,
omp_atv_null_fb = 12,
omp_atv_abort_fb = 13,
omp_atv_allocator_fb = 14,
omp_atv_environment = 15,
omp_atv_nearest = 16,
omp_atv_blocked = 17,
omp_atv_interleaved = 18
} omp_alloctrait_value_t;
#define omp_atv_default ((omp_uintptr_t)-1)
typedef struct {
omp_alloctrait_key_t key;
@@ -324,9 +404,16 @@
extern omp_allocator_handle_t __KAI_KMPC_CONVENTION omp_get_default_allocator(void);
# ifdef __cplusplus
extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, omp_allocator_handle_t a = omp_null_allocator);
extern void *__KAI_KMPC_CONVENTION omp_calloc(size_t nmemb, size_t size, omp_allocator_handle_t a = omp_null_allocator);
extern void *__KAI_KMPC_CONVENTION omp_realloc(void *ptr, size_t size,
omp_allocator_handle_t allocator = omp_null_allocator,
omp_allocator_handle_t free_allocator = omp_null_allocator);
extern void __KAI_KMPC_CONVENTION omp_free(void * ptr, omp_allocator_handle_t a = omp_null_allocator);
# else
extern void *__KAI_KMPC_CONVENTION omp_alloc(size_t size, omp_allocator_handle_t a);
extern void *__KAI_KMPC_CONVENTION omp_calloc(size_t nmemb, size_t size, omp_allocator_handle_t a);
extern void *__KAI_KMPC_CONVENTION omp_realloc(void *ptr, size_t size, omp_allocator_handle_t allocator,
omp_allocator_handle_t free_allocator);
extern void __KAI_KMPC_CONVENTION omp_free(void *ptr, omp_allocator_handle_t a);
# endif
@@ -356,6 +443,9 @@
extern int __KAI_KMPC_CONVENTION omp_get_supported_active_levels(void);
/* OpenMP 5.1 Display Environment */
extern void omp_display_env(int verbose);
# undef __KAI_KMPC_CONVENTION
# undef __KMP_IMP