/contrib/sdk/sources/newlib/libc/string/local.h |
---|
7,3 → 7,18 |
/* Defined in locale/locale.c. Returns a value != 0 if the current |
language is assumed to use CJK fonts. */ |
int __locale_cjk_lang (); |
/* |
Taken from glibc: |
Add the compiler optimization to inhibit loop transformation to library |
calls. This is used to avoid recursive calls in memset and memmove |
default implementations. |
*/ |
#ifdef _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL |
# define __inhibit_loop_to_libcall \ |
__attribute__ ((__optimize__ ("-fno-tree-loop-distribute-patterns"))) |
#else |
# define __inhibit_loop_to_libcall |
#endif |
/contrib/sdk/sources/newlib/libc/string/memcpy.c |
---|
4,7 → 4,8 |
ANSI_SYNOPSIS |
#include <string.h> |
void* memcpy(void *<[out]>, const void *<[in]>, size_t <[n]>); |
void* memcpy(void *restrict <[out]>, const void *restrict <[in]>, |
size_t <[n]>); |
TRAD_SYNOPSIS |
#include <string.h> |
51,8 → 52,8 |
_PTR |
_DEFUN (memcpy, (dst0, src0, len0), |
_PTR dst0 _AND |
_CONST _PTR src0 _AND |
_PTR __restrict dst0 _AND |
_CONST _PTR __restrict src0 _AND |
size_t len0) |
{ |
#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) |
/contrib/sdk/sources/newlib/libc/string/memmove.c |
---|
39,6 → 39,7 |
#include <_ansi.h> |
#include <stddef.h> |
#include <limits.h> |
#include "local.h" |
/* Nonzero if either X or Y is not aligned on a "long" boundary. */ |
#define UNALIGNED(X, Y) \ |
55,6 → 56,7 |
/*SUPPRESS 20*/ |
_PTR |
__inhibit_loop_to_libcall |
_DEFUN (memmove, (dst_void, src_void, length), |
_PTR dst_void _AND |
_CONST _PTR src_void _AND |
/contrib/sdk/sources/newlib/libc/string/memset.c |
---|
34,6 → 34,7 |
*/ |
#include <string.h> |
#include "local.h" |
#define LBLOCKSIZE (sizeof(long)) |
#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) |
40,6 → 41,7 |
#define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) |
_PTR |
__inhibit_loop_to_libcall |
_DEFUN (memset, (m, c, n), |
_PTR m _AND |
int c _AND |
/contrib/sdk/sources/newlib/libc/string/stpcpy.c |
---|
7,7 → 7,7 |
ANSI_SYNOPSIS |
#include <string.h> |
char *stpcpy(char *<[dst]>, const char *<[src]>); |
char *stpcpy(char *restrict <[dst]>, const char *restrict <[src]>); |
TRAD_SYNOPSIS |
#include <string.h> |
60,8 → 60,8 |
char* |
_DEFUN (stpcpy, (dst, src), |
char *dst _AND |
_CONST char *src) |
char *__restrict dst _AND |
_CONST char *__restrict src) |
{ |
#if !defined(PREFER_SIZE_OVER_SPEED) && !defined(__OPTIMIZE_SIZE__) |
long *aligned_dst; |
/contrib/sdk/sources/newlib/libc/string/stpncpy.c |
---|
7,7 → 7,8 |
ANSI_SYNOPSIS |
#include <string.h> |
char *stpncpy(char *<[dst]>, const char *<[src]>, size_t <[length]>); |
char *stpncpy(char *restrict <[dst]>, const char *restrict <[src]>, |
size_t <[length]>); |
TRAD_SYNOPSIS |
#include <string.h> |
68,8 → 69,8 |
char * |
_DEFUN (stpncpy, (dst, src), |
char *dst _AND |
_CONST char *src _AND |
char *__restrict dst _AND |
_CONST char *__restrict src _AND |
size_t count) |
{ |
char *ret = NULL; |
/contrib/sdk/sources/newlib/libc/string/strcasestr.c |
---|
84,6 → 84,10 |
(!memchr ((h) + (h_l), '\0', (j) + (n_l) - (h_l)) \ |
&& ((h_l) = (j) + (n_l))) |
# define CANON_ELEMENT(c) tolower (c) |
#if __GNUC_PREREQ (4, 2) |
/* strncasecmp uses signed char, CMP_FUNC is expected to use unsigned char. */ |
#pragma GCC diagnostic ignored "-Wpointer-sign" |
#endif |
# define CMP_FUNC strncasecmp |
# include "str-two-way.h" |
#endif |
/contrib/sdk/sources/newlib/libc/string/strcat.c |
---|
7,7 → 7,7 |
ANSI_SYNOPSIS |
#include <string.h> |
char *strcat(char *<[dst]>, const char *<[src]>); |
char *strcat(char *restrict <[dst]>, const char *restrict <[src]>); |
TRAD_SYNOPSIS |
#include <string.h> |
61,8 → 61,8 |
char * |
_DEFUN (strcat, (s1, s2), |
char *s1 _AND |
_CONST char *s2) |
char *__restrict s1 _AND |
_CONST char *__restrict s2) |
{ |
#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) |
char *s = s1; |
/contrib/sdk/sources/newlib/libc/string/strncat.c |
---|
7,7 → 7,8 |
ANSI_SYNOPSIS |
#include <string.h> |
char *strncat(char *<[dst]>, const char *<[src]>, size_t <[length]>); |
char *strncat(char *restrict <[dst]>, const char *restrict <[src]>, |
size_t <[length]>); |
TRAD_SYNOPSIS |
#include <string.h> |
65,8 → 66,8 |
char * |
_DEFUN (strncat, (s1, s2, n), |
char *s1 _AND |
_CONST char *s2 _AND |
char *__restrict s1 _AND |
_CONST char *__restrict s2 _AND |
size_t n) |
{ |
#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) |
/contrib/sdk/sources/newlib/libc/string/strncpy.c |
---|
7,7 → 7,8 |
ANSI_SYNOPSIS |
#include <string.h> |
char *strncpy(char *<[dst]>, const char *<[src]>, size_t <[length]>); |
char *strncpy(char *restrict <[dst]>, const char *restrict <[src]>, |
size_t <[length]>); |
TRAD_SYNOPSIS |
#include <string.h> |
66,8 → 67,8 |
char * |
_DEFUN (strncpy, (dst0, src0), |
char *dst0 _AND |
_CONST char *src0 _AND |
char *__restrict dst0 _AND |
_CONST char *__restrict src0 _AND |
size_t count) |
{ |
#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__) |
/contrib/sdk/sources/newlib/libc/string/strtok.c |
---|
13,8 → 13,10 |
ANSI_SYNOPSIS |
#include <string.h> |
char *strtok(char *<[source]>, const char *<[delimiters]>) |
char *strtok_r(char *<[source]>, const char *<[delimiters]>, |
char *strtok(char *restrict <[source]>, |
const char *restrict <[delimiters]>) |
char *strtok_r(char *restrict <[source]>, |
const char *restrict <[delimiters]>, |
char **<[lasts]>) |
char *strsep(char **<[source_ptr]>, const char *<[delimiters]>) |
92,10 → 94,12 |
char * |
_DEFUN (strtok, (s, delim), |
register char *s _AND |
register const char *delim) |
register char *__restrict s _AND |
register const char *__restrict delim) |
{ |
_REENT_CHECK_MISC(_REENT); |
return __strtok_r (s, delim, &(_REENT_STRTOK_LAST(_REENT)), 1); |
struct _reent *reent = _REENT; |
_REENT_CHECK_MISC(reent); |
return __strtok_r (s, delim, &(_REENT_STRTOK_LAST(reent)), 1); |
} |
#endif |
/contrib/sdk/sources/newlib/libc/string/strtok_r.c |
---|
91,9 → 91,9 |
char * |
_DEFUN (strtok_r, (s, delim, lasts), |
register char *s _AND |
register const char *delim _AND |
char **lasts) |
register char *__restrict s _AND |
register const char *__restrict delim _AND |
char **__restrict lasts) |
{ |
return __strtok_r (s, delim, lasts, 1); |
} |