llvm/openmp/runtime/src/kmp_ftn_os.h

/*
 * kmp_ftn_os.h -- KPTS Fortran defines header file.
 */

//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef KMP_FTN_OS_H
#define KMP_FTN_OS_H

// KMP_FNT_ENTRIES may be one of: KMP_FTN_PLAIN, KMP_FTN_UPPER, KMP_FTN_APPEND,
// KMP_FTN_UAPPEND.

/* -------------------------- External definitions ------------------------ */

#if KMP_FTN_ENTRIES == KMP_FTN_PLAIN

#define FTN_SET_STACKSIZE
#define FTN_SET_STACKSIZE_S
#define FTN_GET_STACKSIZE
#define FTN_GET_STACKSIZE_S
#define FTN_SET_BLOCKTIME
#define FTN_GET_BLOCKTIME
#define FTN_SET_LIBRARY_SERIAL
#define FTN_SET_LIBRARY_TURNAROUND
#define FTN_SET_LIBRARY_THROUGHPUT
#define FTN_SET_LIBRARY
#define FTN_GET_LIBRARY
#define FTN_SET_DEFAULTS
#define FTN_SET_DISP_NUM_BUFFERS
#define FTN_SET_AFFINITY
#define FTN_GET_AFFINITY
#define FTN_GET_AFFINITY_MAX_PROC
#define FTN_CREATE_AFFINITY_MASK
#define FTN_DESTROY_AFFINITY_MASK
#define FTN_SET_AFFINITY_MASK_PROC
#define FTN_UNSET_AFFINITY_MASK_PROC
#define FTN_GET_AFFINITY_MASK_PROC

#define FTN_MALLOC
#define FTN_ALIGNED_MALLOC
#define FTN_CALLOC
#define FTN_REALLOC
#define FTN_KFREE

#define FTN_GET_NUM_KNOWN_THREADS

#define FTN_SET_NUM_THREADS
#define FTN_GET_NUM_THREADS
#define FTN_GET_MAX_THREADS
#define FTN_GET_THREAD_NUM
#define FTN_GET_NUM_PROCS
#define FTN_SET_DYNAMIC
#define FTN_GET_DYNAMIC
#define FTN_SET_NESTED
#define FTN_GET_NESTED
#define FTN_IN_PARALLEL
#define FTN_GET_THREAD_LIMIT
#define FTN_SET_SCHEDULE
#define FTN_GET_SCHEDULE
#define FTN_SET_MAX_ACTIVE_LEVELS
#define FTN_GET_MAX_ACTIVE_LEVELS
#define FTN_GET_ACTIVE_LEVEL
#define FTN_GET_LEVEL
#define FTN_GET_ANCESTOR_THREAD_NUM
#define FTN_GET_TEAM_SIZE
#define FTN_IN_FINAL
#define FTN_GET_PROC_BIND
#define FTN_GET_NUM_TEAMS
#define FTN_GET_TEAM_NUM
#define FTN_INIT_LOCK
#if KMP_USE_DYNAMIC_LOCK
#define FTN_INIT_LOCK_WITH_HINT
#define FTN_INIT_NEST_LOCK_WITH_HINT
#endif
#define FTN_DESTROY_LOCK
#define FTN_SET_LOCK
#define FTN_UNSET_LOCK
#define FTN_TEST_LOCK
#define FTN_INIT_NEST_LOCK
#define FTN_DESTROY_NEST_LOCK
#define FTN_SET_NEST_LOCK
#define FTN_UNSET_NEST_LOCK
#define FTN_TEST_NEST_LOCK

#define FTN_SET_WARNINGS_ON
#define FTN_SET_WARNINGS_OFF

#define FTN_GET_WTIME
#define FTN_GET_WTICK

#define FTN_GET_NUM_DEVICES
#define FTN_GET_DEFAULT_DEVICE
#define FTN_SET_DEFAULT_DEVICE
#define FTN_IS_INITIAL_DEVICE

#define FTN_GET_CANCELLATION
#define FTN_GET_CANCELLATION_STATUS

#define FTN_GET_MAX_TASK_PRIORITY
#define FTN_GET_NUM_PLACES
#define FTN_GET_PLACE_NUM_PROCS
#define FTN_GET_PLACE_PROC_IDS
#define FTN_GET_PLACE_NUM
#define FTN_GET_PARTITION_NUM_PLACES
#define FTN_GET_PARTITION_PLACE_NUMS
#define FTN_GET_INITIAL_DEVICE
#ifdef KMP_STUB
#define FTN_TARGET_ALLOC
#define FTN_TARGET_FREE
#define FTN_TARGET_IS_PRESENT
#define FTN_TARGET_MEMCPY
#define FTN_TARGET_MEMCPY_RECT
#define FTN_TARGET_MEMSET
#define FTN_TARGET_MEMSET_ASYNC
#define FTN_TARGET_ASSOCIATE_PTR
#define FTN_TARGET_DISASSOCIATE_PTR
#endif

#define FTN_CONTROL_TOOL
#define FTN_INIT_ALLOCATOR
#define FTN_DESTROY_ALLOCATOR
#define FTN_SET_DEFAULT_ALLOCATOR
#define FTN_GET_DEFAULT_ALLOCATOR
#define FTN_GET_DEVICE_NUM
#define FTN_SET_AFFINITY_FORMAT
#define FTN_GET_AFFINITY_FORMAT
#define FTN_DISPLAY_AFFINITY
#define FTN_CAPTURE_AFFINITY
#define FTN_PAUSE_RESOURCE
#define FTN_PAUSE_RESOURCE_ALL
#define FTN_GET_SUPPORTED_ACTIVE_LEVELS
#define FTN_DISPLAY_ENV
#define FTN_IN_EXPLICIT_TASK
#define FTN_FULFILL_EVENT
#define FTN_SET_NUM_TEAMS
#define FTN_GET_MAX_TEAMS
#define FTN_SET_TEAMS_THREAD_LIMIT
#define FTN_GET_TEAMS_THREAD_LIMIT

#define FTN_GET_NUM_INTEROP_PROPERTIES
#define FTN_GET_INTEROP_INT
#define FTN_GET_INTEROP_PTR
#define FTN_GET_INTEROP_STR
#define FTN_GET_INTEROP_NAME
#define FTN_GET_INTEROP_TYPE_DESC
#define FTN_GET_INTEROP_RC_DESC

#endif /* KMP_FTN_PLAIN */

/* ------------------------------------------------------------------------ */

#if KMP_FTN_ENTRIES == KMP_FTN_APPEND

#define FTN_SET_STACKSIZE
#define FTN_SET_STACKSIZE_S
#define FTN_GET_STACKSIZE
#define FTN_GET_STACKSIZE_S
#define FTN_SET_BLOCKTIME
#define FTN_GET_BLOCKTIME
#define FTN_SET_LIBRARY_SERIAL
#define FTN_SET_LIBRARY_TURNAROUND
#define FTN_SET_LIBRARY_THROUGHPUT
#define FTN_SET_LIBRARY
#define FTN_GET_LIBRARY
#define FTN_SET_DEFAULTS
#define FTN_SET_DISP_NUM_BUFFERS
#define FTN_SET_AFFINITY
#define FTN_GET_AFFINITY
#define FTN_GET_AFFINITY_MAX_PROC
#define FTN_CREATE_AFFINITY_MASK
#define FTN_DESTROY_AFFINITY_MASK
#define FTN_SET_AFFINITY_MASK_PROC
#define FTN_UNSET_AFFINITY_MASK_PROC
#define FTN_GET_AFFINITY_MASK_PROC

#define FTN_MALLOC
#define FTN_ALIGNED_MALLOC
#define FTN_CALLOC
#define FTN_REALLOC
#define FTN_KFREE

#define FTN_GET_NUM_KNOWN_THREADS

#define FTN_SET_NUM_THREADS
#define FTN_GET_NUM_THREADS
#define FTN_GET_MAX_THREADS
#define FTN_GET_THREAD_NUM
#define FTN_GET_NUM_PROCS
#define FTN_SET_DYNAMIC
#define FTN_GET_DYNAMIC
#define FTN_SET_NESTED
#define FTN_GET_NESTED
#define FTN_IN_PARALLEL
#define FTN_GET_THREAD_LIMIT
#define FTN_SET_SCHEDULE
#define FTN_GET_SCHEDULE
#define FTN_SET_MAX_ACTIVE_LEVELS
#define FTN_GET_MAX_ACTIVE_LEVELS
#define FTN_GET_ACTIVE_LEVEL
#define FTN_GET_LEVEL
#define FTN_GET_ANCESTOR_THREAD_NUM
#define FTN_GET_TEAM_SIZE
#define FTN_IN_FINAL
#define FTN_GET_PROC_BIND
#define FTN_GET_NUM_TEAMS
#define FTN_GET_TEAM_NUM
#define FTN_INIT_LOCK
#if KMP_USE_DYNAMIC_LOCK
#define FTN_INIT_LOCK_WITH_HINT
#define FTN_INIT_NEST_LOCK_WITH_HINT
#endif
#define FTN_DESTROY_LOCK
#define FTN_SET_LOCK
#define FTN_UNSET_LOCK
#define FTN_TEST_LOCK
#define FTN_INIT_NEST_LOCK
#define FTN_DESTROY_NEST_LOCK
#define FTN_SET_NEST_LOCK
#define FTN_UNSET_NEST_LOCK
#define FTN_TEST_NEST_LOCK

#define FTN_SET_WARNINGS_ON
#define FTN_SET_WARNINGS_OFF

#define FTN_GET_WTIME
#define FTN_GET_WTICK

#define FTN_GET_NUM_DEVICES
#define FTN_GET_DEFAULT_DEVICE
#define FTN_SET_DEFAULT_DEVICE
#define FTN_IS_INITIAL_DEVICE

#define FTN_GET_CANCELLATION
#define FTN_GET_CANCELLATION_STATUS

#define FTN_GET_MAX_TASK_PRIORITY
#define FTN_GET_NUM_PLACES
#define FTN_GET_PLACE_NUM_PROCS
#define FTN_GET_PLACE_PROC_IDS
#define FTN_GET_PLACE_NUM
#define FTN_GET_PARTITION_NUM_PLACES
#define FTN_GET_PARTITION_PLACE_NUMS
#define FTN_GET_INITIAL_DEVICE
#ifdef KMP_STUB
#define FTN_TARGET_ALLOC
#define FTN_TARGET_FREE
#define FTN_TARGET_IS_PRESENT
#define FTN_TARGET_MEMCPY
#define FTN_TARGET_MEMCPY_RECT
#define FTN_TARGET_ASSOCIATE_PTR
#define FTN_TARGET_DISASSOCIATE_PTR
#endif

#define FTN_CONTROL_TOOL
#define FTN_INIT_ALLOCATOR
#define FTN_DESTROY_ALLOCATOR
#define FTN_SET_DEFAULT_ALLOCATOR
#define FTN_GET_DEFAULT_ALLOCATOR
#define FTN_ALLOC
#define FTN_FREE
#define FTN_GET_DEVICE_NUM
#define FTN_SET_AFFINITY_FORMAT
#define FTN_GET_AFFINITY_FORMAT
#define FTN_DISPLAY_AFFINITY
#define FTN_CAPTURE_AFFINITY
#define FTN_PAUSE_RESOURCE
#define FTN_PAUSE_RESOURCE_ALL
#define FTN_GET_SUPPORTED_ACTIVE_LEVELS
#define FTN_DISPLAY_ENV
#define FTN_IN_EXPLICIT_TASK
#define FTN_FULFILL_EVENT
#define FTN_SET_NUM_TEAMS
#define FTN_GET_MAX_TEAMS
#define FTN_SET_TEAMS_THREAD_LIMIT
#define FTN_GET_TEAMS_THREAD_LIMIT

#define FTN_GET_NUM_INTEROP_PROPERTIES
#define FTN_GET_INTEROP_INT
#define FTN_GET_INTEROP_PTR
#define FTN_GET_INTEROP_STR
#define FTN_GET_INTEROP_NAME
#define FTN_GET_INTEROP_TYPE_DESC
#define FTN_GET_INTEROP_RC_DESC

#endif /* KMP_FTN_APPEND */

/* ------------------------------------------------------------------------ */

#if KMP_FTN_ENTRIES == KMP_FTN_UPPER

#define FTN_SET_STACKSIZE
#define FTN_SET_STACKSIZE_S
#define FTN_GET_STACKSIZE
#define FTN_GET_STACKSIZE_S
#define FTN_SET_BLOCKTIME
#define FTN_GET_BLOCKTIME
#define FTN_SET_LIBRARY_SERIAL
#define FTN_SET_LIBRARY_TURNAROUND
#define FTN_SET_LIBRARY_THROUGHPUT
#define FTN_SET_LIBRARY
#define FTN_GET_LIBRARY
#define FTN_SET_DEFAULTS
#define FTN_SET_DISP_NUM_BUFFERS
#define FTN_SET_AFFINITY
#define FTN_GET_AFFINITY
#define FTN_GET_AFFINITY_MAX_PROC
#define FTN_CREATE_AFFINITY_MASK
#define FTN_DESTROY_AFFINITY_MASK
#define FTN_SET_AFFINITY_MASK_PROC
#define FTN_UNSET_AFFINITY_MASK_PROC
#define FTN_GET_AFFINITY_MASK_PROC

#define FTN_MALLOC
#define FTN_ALIGNED_MALLOC
#define FTN_CALLOC
#define FTN_REALLOC
#define FTN_KFREE

#define FTN_GET_NUM_KNOWN_THREADS

#define FTN_SET_NUM_THREADS
#define FTN_GET_NUM_THREADS
#define FTN_GET_MAX_THREADS
#define FTN_GET_THREAD_NUM
#define FTN_GET_NUM_PROCS
#define FTN_SET_DYNAMIC
#define FTN_GET_DYNAMIC
#define FTN_SET_NESTED
#define FTN_GET_NESTED
#define FTN_IN_PARALLEL
#define FTN_GET_THREAD_LIMIT
#define FTN_SET_SCHEDULE
#define FTN_GET_SCHEDULE
#define FTN_SET_MAX_ACTIVE_LEVELS
#define FTN_GET_MAX_ACTIVE_LEVELS
#define FTN_GET_ACTIVE_LEVEL
#define FTN_GET_LEVEL
#define FTN_GET_ANCESTOR_THREAD_NUM
#define FTN_GET_TEAM_SIZE
#define FTN_IN_FINAL
#define FTN_GET_PROC_BIND
#define FTN_GET_NUM_TEAMS
#define FTN_GET_TEAM_NUM
#define FTN_INIT_LOCK
#if KMP_USE_DYNAMIC_LOCK
#define FTN_INIT_LOCK_WITH_HINT
#define FTN_INIT_NEST_LOCK_WITH_HINT
#endif
#define FTN_DESTROY_LOCK
#define FTN_SET_LOCK
#define FTN_UNSET_LOCK
#define FTN_TEST_LOCK
#define FTN_INIT_NEST_LOCK
#define FTN_DESTROY_NEST_LOCK
#define FTN_SET_NEST_LOCK
#define FTN_UNSET_NEST_LOCK
#define FTN_TEST_NEST_LOCK

#define FTN_SET_WARNINGS_ON
#define FTN_SET_WARNINGS_OFF

#define FTN_GET_WTIME
#define FTN_GET_WTICK

#define FTN_GET_NUM_DEVICES
#define FTN_GET_DEFAULT_DEVICE
#define FTN_SET_DEFAULT_DEVICE
#define FTN_IS_INITIAL_DEVICE

#define FTN_GET_CANCELLATION
#define FTN_GET_CANCELLATION_STATUS

#define FTN_GET_MAX_TASK_PRIORITY
#define FTN_GET_NUM_PLACES
#define FTN_GET_PLACE_NUM_PROCS
#define FTN_GET_PLACE_PROC_IDS
#define FTN_GET_PLACE_NUM
#define FTN_GET_PARTITION_NUM_PLACES
#define FTN_GET_PARTITION_PLACE_NUMS
#define FTN_GET_INITIAL_DEVICE
#ifdef KMP_STUB
#define FTN_TARGET_ALLOC
#define FTN_TARGET_FREE
#define FTN_TARGET_IS_PRESENT
#define FTN_TARGET_MEMCPY
#define FTN_TARGET_MEMCPY_RECT
#define FTN_TARGET_ASSOCIATE_PTR
#define FTN_TARGET_DISASSOCIATE_PTR
#endif

#define FTN_CONTROL_TOOL
#define FTN_INIT_ALLOCATOR
#define FTN_DESTROY_ALLOCATOR
#define FTN_SET_DEFAULT_ALLOCATOR
#define FTN_GET_DEFAULT_ALLOCATOR
#define FTN_GET_DEVICE_NUM
#define FTN_SET_AFFINITY_FORMAT
#define FTN_GET_AFFINITY_FORMAT
#define FTN_DISPLAY_AFFINITY
#define FTN_CAPTURE_AFFINITY
#define FTN_PAUSE_RESOURCE
#define FTN_PAUSE_RESOURCE_ALL
#define FTN_GET_SUPPORTED_ACTIVE_LEVELS
#define FTN_DISPLAY_ENV
#define FTN_IN_EXPLICIT_TASK
#define FTN_FULFILL_EVENT
#define FTN_SET_NUM_TEAMS
#define FTN_GET_MAX_TEAMS
#define FTN_SET_TEAMS_THREAD_LIMIT
#define FTN_GET_TEAMS_THREAD_LIMIT

#define FTN_GET_NUM_INTEROP_PROPERTIES
#define FTN_GET_INTEROP_INT
#define FTN_GET_INTEROP_PTR
#define FTN_GET_INTEROP_STR
#define FTN_GET_INTEROP_NAME
#define FTN_GET_INTEROP_TYPE_DESC
#define FTN_GET_INTEROP_RC_DESC

#endif /* KMP_FTN_UPPER */

/* ------------------------------------------------------------------------ */

#if KMP_FTN_ENTRIES == KMP_FTN_UAPPEND

#define FTN_SET_STACKSIZE
#define FTN_SET_STACKSIZE_S
#define FTN_GET_STACKSIZE
#define FTN_GET_STACKSIZE_S
#define FTN_SET_BLOCKTIME
#define FTN_GET_BLOCKTIME
#define FTN_SET_LIBRARY_SERIAL
#define FTN_SET_LIBRARY_TURNAROUND
#define FTN_SET_LIBRARY_THROUGHPUT
#define FTN_SET_LIBRARY
#define FTN_GET_LIBRARY
#define FTN_SET_DEFAULTS
#define FTN_SET_DISP_NUM_BUFFERS
#define FTN_SET_AFFINITY
#define FTN_GET_AFFINITY
#define FTN_GET_AFFINITY_MAX_PROC
#define FTN_CREATE_AFFINITY_MASK
#define FTN_DESTROY_AFFINITY_MASK
#define FTN_SET_AFFINITY_MASK_PROC
#define FTN_UNSET_AFFINITY_MASK_PROC
#define FTN_GET_AFFINITY_MASK_PROC

#define FTN_MALLOC
#define FTN_ALIGNED_MALLOC
#define FTN_CALLOC
#define FTN_REALLOC
#define FTN_KFREE

#define FTN_GET_NUM_KNOWN_THREADS

#define FTN_SET_NUM_THREADS
#define FTN_GET_NUM_THREADS
#define FTN_GET_MAX_THREADS
#define FTN_GET_THREAD_NUM
#define FTN_GET_NUM_PROCS
#define FTN_SET_DYNAMIC
#define FTN_GET_DYNAMIC
#define FTN_SET_NESTED
#define FTN_GET_NESTED
#define FTN_IN_PARALLEL
#define FTN_GET_THREAD_LIMIT
#define FTN_SET_SCHEDULE
#define FTN_GET_SCHEDULE
#define FTN_SET_MAX_ACTIVE_LEVELS
#define FTN_GET_MAX_ACTIVE_LEVELS
#define FTN_GET_ACTIVE_LEVEL
#define FTN_GET_LEVEL
#define FTN_GET_ANCESTOR_THREAD_NUM
#define FTN_GET_TEAM_SIZE
#define FTN_IN_FINAL
#define FTN_GET_PROC_BIND
#define FTN_GET_NUM_TEAMS
#define FTN_GET_TEAM_NUM
#define FTN_INIT_LOCK
#if KMP_USE_DYNAMIC_LOCK
#define FTN_INIT_LOCK_WITH_HINT
#define FTN_INIT_NEST_LOCK_WITH_HINT
#endif
#define FTN_DESTROY_LOCK
#define FTN_SET_LOCK
#define FTN_UNSET_LOCK
#define FTN_TEST_LOCK
#define FTN_INIT_NEST_LOCK
#define FTN_DESTROY_NEST_LOCK
#define FTN_SET_NEST_LOCK
#define FTN_UNSET_NEST_LOCK
#define FTN_TEST_NEST_LOCK

#define FTN_SET_WARNINGS_ON
#define FTN_SET_WARNINGS_OFF

#define FTN_GET_WTIME
#define FTN_GET_WTICK

#define FTN_GET_NUM_DEVICES
#define FTN_GET_DEFAULT_DEVICE
#define FTN_SET_DEFAULT_DEVICE
#define FTN_IS_INITIAL_DEVICE

#define FTN_GET_CANCELLATION
#define FTN_GET_CANCELLATION_STATUS

#define FTN_GET_MAX_TASK_PRIORITY
#define FTN_GET_NUM_PLACES
#define FTN_GET_PLACE_NUM_PROCS
#define FTN_GET_PLACE_PROC_IDS
#define FTN_GET_PLACE_NUM
#define FTN_GET_PARTITION_NUM_PLACES
#define FTN_GET_PARTITION_PLACE_NUMS
#define FTN_GET_INITIAL_DEVICE
#ifdef KMP_STUB
#define FTN_TARGET_ALLOC
#define FTN_TARGET_FREE
#define FTN_TARGET_IS_PRESENT
#define FTN_TARGET_MEMCPY
#define FTN_TARGET_MEMCPY_RECT
#define FTN_TARGET_ASSOCIATE_PTR
#define FTN_TARGET_DISASSOCIATE_PTR
#endif

#define FTN_CONTROL_TOOL
#define FTN_INIT_ALLOCATOR
#define FTN_DESTROY_ALLOCATOR
#define FTN_SET_DEFAULT_ALLOCATOR
#define FTN_GET_DEFAULT_ALLOCATOR
#define FTN_ALLOC
#define FTN_FREE
#define FTN_GET_DEVICE_NUM
#define FTN_SET_AFFINITY_FORMAT
#define FTN_GET_AFFINITY_FORMAT
#define FTN_DISPLAY_AFFINITY
#define FTN_CAPTURE_AFFINITY
#define FTN_PAUSE_RESOURCE
#define FTN_PAUSE_RESOURCE_ALL
#define FTN_GET_SUPPORTED_ACTIVE_LEVELS
#define FTN_DISPLAY_ENV
#define FTN_IN_EXPLICIT_TASK
#define FTN_FULFILL_EVENT
#define FTN_SET_NUM_TEAMS
#define FTN_GET_MAX_TEAMS
#define FTN_SET_TEAMS_THREAD_LIMIT
#define FTN_GET_TEAMS_THREAD_LIMIT

#define FTN_GET_NUM_INTEROP_PROPERTIES
#define FTN_GET_INTEROP_INT
#define FTN_GET_INTEROP_PTR
#define FTN_GET_INTEROP_STR
#define FTN_GET_INTEROP_NAME
#define FTN_GET_INTEROP_TYPE_DESC
#define FTN_GET_INTEROP_RC_DESC

#endif /* KMP_FTN_UAPPEND */

/* -------------------------- GOMP API NAMES ------------------------ */
// All GOMP_1.0 symbols
#define KMP_API_NAME_GOMP_ATOMIC_END
#define KMP_API_NAME_GOMP_ATOMIC_START
#define KMP_API_NAME_GOMP_BARRIER
#define KMP_API_NAME_GOMP_CRITICAL_END
#define KMP_API_NAME_GOMP_CRITICAL_NAME_END
#define KMP_API_NAME_GOMP_CRITICAL_NAME_START
#define KMP_API_NAME_GOMP_CRITICAL_START
#define KMP_API_NAME_GOMP_LOOP_DYNAMIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_END
#define KMP_API_NAME_GOMP_LOOP_END_NOWAIT
#define KMP_API_NAME_GOMP_LOOP_GUIDED_NEXT
#define KMP_API_NAME_GOMP_LOOP_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_NEXT
#define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_START
#define KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_STATIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_STATIC_START
#define KMP_API_NAME_GOMP_ORDERED_END
#define KMP_API_NAME_GOMP_ORDERED_START
#define KMP_API_NAME_GOMP_PARALLEL_END
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC_START
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED_START
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME_START
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC_START
#define KMP_API_NAME_GOMP_PARALLEL_SECTIONS_START
#define KMP_API_NAME_GOMP_PARALLEL_START
#define KMP_API_NAME_GOMP_SECTIONS_END
#define KMP_API_NAME_GOMP_SECTIONS_END_NOWAIT
#define KMP_API_NAME_GOMP_SECTIONS_NEXT
#define KMP_API_NAME_GOMP_SECTIONS_START
#define KMP_API_NAME_GOMP_SINGLE_COPY_END
#define KMP_API_NAME_GOMP_SINGLE_COPY_START
#define KMP_API_NAME_GOMP_SINGLE_START

// All GOMP_2.0 symbols
#define KMP_API_NAME_GOMP_TASK
#define KMP_API_NAME_GOMP_TASKWAIT
#define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_START
#define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_START

// All GOMP_3.0 symbols
#define KMP_API_NAME_GOMP_TASKYIELD

// All GOMP_4.0 symbols
#define KMP_API_NAME_GOMP_BARRIER_CANCEL
#define KMP_API_NAME_GOMP_CANCEL
#define KMP_API_NAME_GOMP_CANCELLATION_POINT
#define KMP_API_NAME_GOMP_LOOP_END_CANCEL
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC
#define KMP_API_NAME_GOMP_PARALLEL_SECTIONS
#define KMP_API_NAME_GOMP_PARALLEL
#define KMP_API_NAME_GOMP_SECTIONS_END_CANCEL
#define KMP_API_NAME_GOMP_TASKGROUP_START
#define KMP_API_NAME_GOMP_TASKGROUP_END
/* Target functions should be taken care of by liboffload */
#define KMP_API_NAME_GOMP_TARGET
#define KMP_API_NAME_GOMP_TARGET_DATA
#define KMP_API_NAME_GOMP_TARGET_END_DATA
#define KMP_API_NAME_GOMP_TARGET_UPDATE
#define KMP_API_NAME_GOMP_TEAMS

// All GOMP_4.5 symbols
#define KMP_API_NAME_GOMP_TASKLOOP
#define KMP_API_NAME_GOMP_TASKLOOP_ULL
#define KMP_API_NAME_GOMP_DOACROSS_POST
#define KMP_API_NAME_GOMP_DOACROSS_WAIT
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_STATIC_START
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_RUNTIME_START
#define KMP_API_NAME_GOMP_DOACROSS_ULL_POST
#define KMP_API_NAME_GOMP_DOACROSS_ULL_WAIT
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_STATIC_START
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED

// All GOMP_5.0 symbols
#define KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT
#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME
#define KMP_API_NAME_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME
#define KMP_API_NAME_GOMP_TEAMS_REG
#define KMP_API_NAME_GOMP_TASKWAIT_DEPEND
#define KMP_API_NAME_GOMP_TASKGROUP_REDUCTION_REGISTER
#define KMP_API_NAME_GOMP_TASKGROUP_REDUCTION_UNREGISTER
#define KMP_API_NAME_GOMP_TASK_REDUCTION_REMAP
#define KMP_API_NAME_GOMP_PARALLEL_REDUCTIONS
#define KMP_API_NAME_GOMP_LOOP_START
#define KMP_API_NAME_GOMP_LOOP_ULL_START
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_START
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_START
#define KMP_API_NAME_GOMP_LOOP_ORDERED_START
#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_START
#define KMP_API_NAME_GOMP_SECTIONS2_START
#define KMP_API_NAME_GOMP_WORKSHARE_TASK_REDUCTION_UNREGISTER
#define KMP_API_NAME_GOMP_ALLOC
#define KMP_API_NAME_GOMP_FREE
#endif /* KMP_FTN_OS_H */