#include "kmp.h"
#include "kmp_error.h"
#include "kmp_i18n.h"
#include "kmp_itt.h"
#include "kmp_stats.h"
#include "kmp_str.h"
#if OMPT_SUPPORT
#include "ompt-specific.h"
#endif
#ifdef KMP_DEBUG
char const *traits_t<int>::spec = "d";
char const *traits_t<unsigned int>::spec = "u";
char const *traits_t<long long>::spec = "lld";
char const *traits_t<unsigned long long>::spec = "llu";
char const *traits_t<long>::spec = "ld";
#endif
#if KMP_STATS_ENABLED
#define KMP_STATS_LOOP_END …
#else
#define KMP_STATS_LOOP_END(stat) …
#endif
#if USE_ITT_BUILD || defined KMP_DEBUG
static ident_t loc_stub = …;
static inline void check_loc(ident_t *&loc) { … }
#endif
template <typename T>
static void __kmp_for_static_init(ident_t *loc, kmp_int32 global_tid,
kmp_int32 schedtype, kmp_int32 *plastiter,
T *plower, T *pupper,
typename traits_t<T>::signed_t *pstride,
typename traits_t<T>::signed_t incr,
typename traits_t<T>::signed_t chunk
#if OMPT_SUPPORT && OMPT_OPTIONAL
,
void *codeptr
#endif
) { … }
template <typename T>
static void __kmp_dist_for_static_init(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedule, kmp_int32 *plastiter,
T *plower, T *pupper, T *pupperDist,
typename traits_t<T>::signed_t *pstride,
typename traits_t<T>::signed_t incr,
typename traits_t<T>::signed_t chunk
#if OMPT_SUPPORT && OMPT_OPTIONAL
,
void *codeptr
#endif
) { … }
template <typename T>
static void __kmp_team_static_init(ident_t *loc, kmp_int32 gtid,
kmp_int32 *p_last, T *p_lb, T *p_ub,
typename traits_t<T>::signed_t *p_st,
typename traits_t<T>::signed_t incr,
typename traits_t<T>::signed_t chunk) { … }
extern "C" {
void __kmpc_for_static_init_4(ident_t *loc, kmp_int32 gtid, kmp_int32 schedtype,
kmp_int32 *plastiter, kmp_int32 *plower,
kmp_int32 *pupper, kmp_int32 *pstride,
kmp_int32 incr, kmp_int32 chunk) { … }
void __kmpc_for_static_init_4u(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedtype, kmp_int32 *plastiter,
kmp_uint32 *plower, kmp_uint32 *pupper,
kmp_int32 *pstride, kmp_int32 incr,
kmp_int32 chunk) { … }
void __kmpc_for_static_init_8(ident_t *loc, kmp_int32 gtid, kmp_int32 schedtype,
kmp_int32 *plastiter, kmp_int64 *plower,
kmp_int64 *pupper, kmp_int64 *pstride,
kmp_int64 incr, kmp_int64 chunk) { … }
void __kmpc_for_static_init_8u(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedtype, kmp_int32 *plastiter,
kmp_uint64 *plower, kmp_uint64 *pupper,
kmp_int64 *pstride, kmp_int64 incr,
kmp_int64 chunk) { … }
#if OMPT_SUPPORT && OMPT_OPTIONAL
#define OMPT_CODEPTR_ARG …
#else
#define OMPT_CODEPTR_ARG
#endif
void __kmpc_dist_for_static_init_4(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedule, kmp_int32 *plastiter,
kmp_int32 *plower, kmp_int32 *pupper,
kmp_int32 *pupperD, kmp_int32 *pstride,
kmp_int32 incr, kmp_int32 chunk) { … }
void __kmpc_dist_for_static_init_4u(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedule, kmp_int32 *plastiter,
kmp_uint32 *plower, kmp_uint32 *pupper,
kmp_uint32 *pupperD, kmp_int32 *pstride,
kmp_int32 incr, kmp_int32 chunk) { … }
void __kmpc_dist_for_static_init_8(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedule, kmp_int32 *plastiter,
kmp_int64 *plower, kmp_int64 *pupper,
kmp_int64 *pupperD, kmp_int64 *pstride,
kmp_int64 incr, kmp_int64 chunk) { … }
void __kmpc_dist_for_static_init_8u(ident_t *loc, kmp_int32 gtid,
kmp_int32 schedule, kmp_int32 *plastiter,
kmp_uint64 *plower, kmp_uint64 *pupper,
kmp_uint64 *pupperD, kmp_int64 *pstride,
kmp_int64 incr, kmp_int64 chunk) { … }
void __kmpc_team_static_init_4(ident_t *loc, kmp_int32 gtid, kmp_int32 *p_last,
kmp_int32 *p_lb, kmp_int32 *p_ub,
kmp_int32 *p_st, kmp_int32 incr,
kmp_int32 chunk) { … }
void __kmpc_team_static_init_4u(ident_t *loc, kmp_int32 gtid, kmp_int32 *p_last,
kmp_uint32 *p_lb, kmp_uint32 *p_ub,
kmp_int32 *p_st, kmp_int32 incr,
kmp_int32 chunk) { … }
void __kmpc_team_static_init_8(ident_t *loc, kmp_int32 gtid, kmp_int32 *p_last,
kmp_int64 *p_lb, kmp_int64 *p_ub,
kmp_int64 *p_st, kmp_int64 incr,
kmp_int64 chunk) { … }
void __kmpc_team_static_init_8u(ident_t *loc, kmp_int32 gtid, kmp_int32 *p_last,
kmp_uint64 *p_lb, kmp_uint64 *p_ub,
kmp_int64 *p_st, kmp_int64 incr,
kmp_int64 chunk) { … }
}