Merge "string.h: add __attribute__ ((pure)) to string functions"
This commit is contained in:
commit
891966d020
@ -35,54 +35,54 @@
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern void* memccpy(void *, const void *, int, size_t);
|
||||
extern void* memchr(const void *, int, size_t);
|
||||
extern void* memrchr(const void *, int, size_t);
|
||||
extern int memcmp(const void *, const void *, size_t);
|
||||
extern void* memchr(const void *, int, size_t) __purefunc;
|
||||
extern void* memrchr(const void *, int, size_t) __purefunc;
|
||||
extern int memcmp(const void *, const void *, size_t) __purefunc;
|
||||
extern void* memcpy(void *, const void *, size_t);
|
||||
extern void* memmove(void *, const void *, size_t);
|
||||
extern void* memset(void *, int, size_t);
|
||||
extern void* memmem(const void *, size_t, const void *, size_t);
|
||||
extern void* memmem(const void *, size_t, const void *, size_t) __purefunc;
|
||||
extern void memswap(void *, void *, size_t);
|
||||
|
||||
extern char* index(const char *, int);
|
||||
extern char* rindex(const char *, int);
|
||||
extern char* strchr(const char *, int);
|
||||
extern char* strrchr(const char *, int);
|
||||
extern char* index(const char *, int) __purefunc;
|
||||
extern char* rindex(const char *, int) __purefunc;
|
||||
extern char* strchr(const char *, int) __purefunc;
|
||||
extern char* strrchr(const char *, int) __purefunc;
|
||||
|
||||
extern size_t strlen(const char *);
|
||||
extern int strcmp(const char *, const char *);
|
||||
extern size_t strlen(const char *) __purefunc;
|
||||
extern int strcmp(const char *, const char *) __purefunc;
|
||||
extern char* strcpy(char *, const char *);
|
||||
extern char* strcat(char *, const char *);
|
||||
|
||||
extern int strcasecmp(const char *, const char *);
|
||||
extern int strncasecmp(const char *, const char *, size_t);
|
||||
extern int strcasecmp(const char *, const char *) __purefunc;
|
||||
extern int strncasecmp(const char *, const char *, size_t) __purefunc;
|
||||
extern char* strdup(const char *);
|
||||
|
||||
extern char* strstr(const char *, const char *);
|
||||
extern char* strcasestr(const char *haystack, const char *needle);
|
||||
extern char* strstr(const char *, const char *) __purefunc;
|
||||
extern char* strcasestr(const char *haystack, const char *needle) __purefunc;
|
||||
extern char* strtok(char *, const char *);
|
||||
extern char* strtok_r(char *, const char *, char**);
|
||||
|
||||
extern char* strerror(int);
|
||||
extern int strerror_r(int errnum, char *buf, size_t n);
|
||||
|
||||
extern size_t strnlen(const char *, size_t);
|
||||
extern size_t strnlen(const char *, size_t) __purefunc;
|
||||
extern char* strncat(char *, const char *, size_t);
|
||||
extern char* strndup(const char *, size_t);
|
||||
extern int strncmp(const char *, const char *, size_t);
|
||||
extern int strncmp(const char *, const char *, size_t) __purefunc;
|
||||
extern char* strncpy(char *, const char *, size_t);
|
||||
|
||||
extern size_t strlcat(char *, const char *, size_t);
|
||||
extern size_t strlcpy(char *, const char *, size_t);
|
||||
|
||||
extern size_t strcspn(const char *, const char *);
|
||||
extern char* strpbrk(const char *, const char *);
|
||||
extern size_t strcspn(const char *, const char *) __purefunc;
|
||||
extern char* strpbrk(const char *, const char *) __purefunc;
|
||||
extern char* strsep(char **, const char *);
|
||||
extern size_t strspn(const char *, const char *);
|
||||
|
||||
extern char* strsignal(int sig);
|
||||
|
||||
extern int strcoll(const char *, const char *);
|
||||
extern int strcoll(const char *, const char *) __purefunc;
|
||||
extern size_t strxfrm(char *, const char *, size_t);
|
||||
|
||||
__END_DECLS
|
||||
|
@ -306,9 +306,11 @@
|
||||
#if __GNUC_PREREQ__(2, 96)
|
||||
#define __noreturn __attribute__((__noreturn__))
|
||||
#define __mallocfunc __attribute__((malloc))
|
||||
#define __purefunc __attribute__((pure))
|
||||
#else
|
||||
#define __noreturn
|
||||
#define __mallocfunc
|
||||
#define __purefunc
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user