LLVM OpenMP 22.0.0git
kmp_str.cpp File Reference
#include "kmp_str.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include "kmp.h"
#include "kmp_i18n.h"

Go to the source code of this file.

Macros

#define KMP_STR_BUF_INVARIANT(b)
#define args   _args
#define _case(ch, exp)

Functions

void __kmp_str_buf_clear (kmp_str_buf_t *buffer)
void __kmp_str_buf_reserve (kmp_str_buf_t *buffer, size_t size)
void __kmp_str_buf_detach (kmp_str_buf_t *buffer)
void __kmp_str_buf_free (kmp_str_buf_t *buffer)
void __kmp_str_buf_cat (kmp_str_buf_t *buffer, char const *str, size_t len)
void __kmp_str_buf_catbuf (kmp_str_buf_t *dest, const kmp_str_buf_t *src)
int __kmp_str_buf_vprint (kmp_str_buf_t *buffer, char const *format, va_list args)
int __kmp_str_buf_print (kmp_str_buf_t *buffer, char const *format,...)
void __kmp_str_buf_print_size (kmp_str_buf_t *buf, size_t size)
void __kmp_str_fname_init (kmp_str_fname_t *fname, char const *path)
void __kmp_str_fname_free (kmp_str_fname_t *fname)
int __kmp_str_fname_match (kmp_str_fname_t const *fname, char const *pattern)
void __kmp_str_loc_numbers (char const *Psource, int *LineBeg, int *LineEndOrCol)
kmp_str_loc_t __kmp_str_loc_init (char const *psource, bool init_fname)
void __kmp_str_loc_free (kmp_str_loc_t *loc)
int __kmp_str_eqf (char const *lhs, char const *rhs)
char__kmp_str_format (char const *format,...)
void __kmp_str_free (char **str)
int __kmp_str_match (char const *target, int len, char const *data)
bool __kmp_str_contains (char const *target, int len, char const *data)
int __kmp_str_match_false (char const *data)
int __kmp_str_match_true (char const *data)
void __kmp_str_replace (char *str, char search_for, char replace_with)
void __kmp_str_split (char *str, char delim, char **head, char **tail)
char__kmp_str_token (char *str, char const *delim, char **buf)
int __kmp_basic_str_to_int (char const *str)
int __kmp_str_to_int (char const *str, char sentinel)
void __kmp_str_to_size (char const *str, size_t *out, size_t dfactor, char const **error)
void __kmp_str_to_uint (char const *str, kmp_uint64 *out, char const **error)

Macro Definition Documentation

◆ _case

#define _case ( ch,
exp )
Value:
case ch: \
case ch - ('a' - 'A'): { \
size_t shift = (exp)*10; \
++i; \
if (shift < sizeof(size_t) * 8) { \
factor = (size_t)(1) << shift; \
} else { \
overflow = 1; \
} \
} break;
#define i
Definition kmp_stub.cpp:87

Referenced by __kmp_str_to_size().

◆ args

◆ KMP_STR_BUF_INVARIANT

#define KMP_STR_BUF_INVARIANT ( b)
Value:
{ \
KMP_DEBUG_ASSERT((b)->str != NULL); \
KMP_DEBUG_ASSERT((b)->size >= sizeof((b)->bulk)); \
KMP_DEBUG_ASSERT((b)->size % sizeof((b)->bulk) == 0); \
KMP_DEBUG_ASSERT((unsigned)(b)->used < (b)->size); \
KMP_DEBUG_ASSERT( \
(b)->size == sizeof((b)->bulk) ? (b)->str == &(b)->bulk[0] : 1); \
KMP_DEBUG_ASSERT((b)->size > sizeof((b)->bulk) ? (b)->str != &(b)->bulk[0] \
: 1); \
}
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t size

Definition at line 59 of file kmp_str.cpp.

Referenced by __kmp_str_buf_cat(), __kmp_str_buf_catbuf(), __kmp_str_buf_clear(), __kmp_str_buf_detach(), __kmp_str_buf_free(), __kmp_str_buf_reserve(), and __kmp_str_buf_vprint().

Function Documentation

◆ __kmp_basic_str_to_int()

int __kmp_basic_str_to_int ( char const * str)

Definition at line 622 of file kmp_str.cpp.

References result.

Referenced by __kmp_stg_parse_blocktime().

◆ __kmp_str_buf_cat()

◆ __kmp_str_buf_catbuf()

void __kmp_str_buf_catbuf ( kmp_str_buf_t * dest,
const kmp_str_buf_t * src )

◆ __kmp_str_buf_clear()

◆ __kmp_str_buf_detach()

◆ __kmp_str_buf_free()

◆ __kmp_str_buf_print()

◆ __kmp_str_buf_print_size()

void __kmp_str_buf_print_size ( kmp_str_buf_t * buf,
size_t size )

Definition at line 232 of file kmp_str.cpp.

References __kmp_str_buf_print(), buf, and size.

Referenced by __kmp_stg_parse_size(), __kmp_stg_print_size(), and __kmp_stg_print_stacksize().

◆ __kmp_str_buf_reserve()

◆ __kmp_str_buf_vprint()

int __kmp_str_buf_vprint ( kmp_str_buf_t * buffer,
char const * format,
va_list args )

◆ __kmp_str_contains()

bool __kmp_str_contains ( char const * target,
int len,
char const * data )

Definition at line 520 of file kmp_str.cpp.

References data, FALSE, i, j, target(), and TOLOWER.

◆ __kmp_str_eqf()

int __kmp_str_eqf ( char const * lhs,
char const * rhs )

Definition at line 404 of file kmp_str.cpp.

References result.

Referenced by __kmp_str_fname_match().

◆ __kmp_str_fname_free()

void __kmp_str_fname_free ( kmp_str_fname_t * fname)

◆ __kmp_str_fname_init()

void __kmp_str_fname_init ( kmp_str_fname_t * fname,
char const * path )

◆ __kmp_str_fname_match()

int __kmp_str_fname_match ( kmp_str_fname_t const * fname,
char const * pattern )

◆ __kmp_str_format()

◆ __kmp_str_free()

◆ __kmp_str_loc_free()

void __kmp_str_loc_free ( kmp_str_loc_t * loc)

Definition at line 393 of file kmp_str.cpp.

References __kmp_str_fname_free(), __kmp_str_free(), and loc.

Referenced by __kmp_cleanup_user_locks(), and __kmpc_error().

◆ __kmp_str_loc_init()

kmp_str_loc_t __kmp_str_loc_init ( char const * psource,
bool init_fname )

Definition at line 347 of file kmp_str.cpp.

References __kmp_str_fname_init(), __kmp_str_format(), __kmp_str_split(), and loc.

Referenced by __kmp_cleanup_user_locks(), and __kmpc_error().

◆ __kmp_str_loc_numbers()

void __kmp_str_loc_numbers ( char const * Psource,
int * LineBeg,
int * LineEndOrCol )

Definition at line 305 of file kmp_str.cpp.

References CCAST, and KMP_DEBUG_ASSERT.

◆ __kmp_str_match()

◆ __kmp_str_match_false()

int __kmp_str_match_false ( char const * data)

◆ __kmp_str_match_true()

int __kmp_str_match_true ( char const * data)

◆ __kmp_str_replace()

void __kmp_str_replace ( char * str,
char search_for,
char replace_with )

Definition at line 561 of file kmp_str.cpp.

Referenced by __kmp_str_fname_init().

◆ __kmp_str_split()

void __kmp_str_split ( char * str,
char delim,
char ** head,
char ** tail )

◆ __kmp_str_to_int()

◆ __kmp_str_to_size()

void __kmp_str_to_size ( char const * str,
size_t * out,
size_t dfactor,
char const ** error )

Definition at line 706 of file kmp_str.cpp.

References _case, i, KMP_DEBUG_ASSERT, KMP_I18N_STR, KMP_SIZE_T_MAX, and value.

Referenced by __kmp_stg_parse_size().

◆ __kmp_str_to_uint()

void __kmp_str_to_uint ( char const * str,
kmp_uint64 * out,
char const ** error )

◆ __kmp_str_token()

char * __kmp_str_token ( char * str,
char const * delim,
char ** buf )

Definition at line 595 of file kmp_str.cpp.

References buf.

Referenced by ___kmp_env_blk_parse_string(), and ompt_try_start_tool().