/* DO NOT MODIFY THE CONTENTS OF THIS FILE */

#if defined(__MINGW32__)
#define _CRTIMP
#endif

#if defined(__APPLE__)
#define __private_extern__
const void* __builtin___CFStringMakeConstantString(const char*);
#endif

#if defined(__GNUC__)
#define __complex__
#define __real__
#define __imag__

#if ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ >= 4)
extern char *__builtin_stpcpy(char *, const char *);
#endif

#if __GNUC__ >= 4
#define __builtin_offsetof(TYPE,MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

extern double __builtin_powi(double,int);
extern float __builtin_powif(float,int);
extern long double __builtin_powil(long double,int);

extern float __builtin_cabsf(__complex__ float);
extern double __builtin_cabs(__complex__ double);
extern long double __builtin_cabsl(__complex__ long double);
extern float __builtin_cargf(__complex__ float);
extern double __builtin_carg(__complex__ double);
extern long double __builtin_cargl(__complex__ long double);
extern float __builtin_ccosf(__complex__ float);
extern double __builtin_ccos(__complex__ double);
extern long double __builtin_ccosl(__complex__ long double);
extern float __builtin_ccoshf(__complex__ float);
extern double __builtin_ccosh(__complex__ double);
extern long double __builtin_ccoshl(__complex__ long double);
extern float __builtin_csinf(__complex__ float);
extern double __builtin_csin(__complex__ double);
extern long double __builtin_csinl(__complex__ long double);
extern float __builtin_csinhf(__complex__ float);
extern double __builtin_csinh(__complex__ double);
extern long double __builtin_csinhl(__complex__ long double);
extern float __builtin_ctanf(__complex__ float);
extern double __builtin_ctan(__complex__ double);
extern long double __builtin_ctanl(__complex__ long double);
extern float __builtin_ctanhf(__complex__ float);
extern double __builtin_ctanh(__complex__ double);
extern long double __builtin_ctanhl(__complex__ long double);
extern float __builtin_cexpf(__complex__ float);
extern double __builtin_cexp(__complex__ double);
extern long double __builtin_cexpl(__complex__ long double);
extern float __builtin_csqrtf(__complex__ float);
extern double __builtin_csqrt(__complex__ double);
extern long double __builtin_csqrtl(__complex__ long double);
extern float __builtin_cpowf(__complex__ float,__complex__ float);
extern double __builtin_cpow(__complex__ double,__complex__ double);
extern long double __builtin_cpowl(__complex__ long double,__complex__ long double);
#endif

#ifndef __COVERITY_NO_STRING_NODEFS__
// Function list obtained from "cstring" + memrchr and stpcopy (from bits/string.h)

#nodef memcpy
void *memcpy(void *, const void *, __COVERITY_SIZE_TYPE__);

#nodef memmove
void *memove(void *, const void *, __COVERITY_SIZE_TYPE__);

#nodef strcpy
char *strcpy(char *, const char *);

#nodef strncpy
char *strncpy(char *, const char *, __COVERITY_SIZE_TYPE__);

#nodef strcat
char *strcat (char *, const char *);

#nodef strncat
char *strncat (char *, const char *, __COVERITY_SIZE_TYPE__);

#nodef memcmp
int memcmp(const void *, const void *, __COVERITY_SIZE_TYPE__ n);

#nodef strcmp
int strcmp(const char *, const char *);

#nodef strcoll
int strcoll(const char *, const char *);

#nodef strncmp
int strncmp(const char *, const char *, __COVERITY_SIZE_TYPE__);

#nodef strxfrm
__COVERITY_SIZE_TYPE__ strxfrm(char *, const char *, __COVERITY_SIZE_TYPE__);

#nodef memchr
void *memchr(const void *, int, __COVERITY_SIZE_TYPE__);

#nodef strchr
char *strchr(const char *, int);

#nodef strcspn
__COVERITY_SIZE_TYPE__ strcspn(const char *, const char *);

#nodef strpbrk
char *strpbrk(const char *, const char *);

#nodef strrchr
char *strrchr(const char *, int);

#nodef strspn
__COVERITY_SIZE_TYPE__ strspn(const char *, const char *);

#nodef strstr
char *strstr (const char *, const char *);

#nodef strtok
char *strtok(char *, const char *);

#nodef memset
void *memset(void *, int, __COVERITY_SIZE_TYPE__);

#nodef strlen
__COVERITY_SIZE_TYPE__ strlen(const char *);

#nodef strerror
char *strerror(int);

#nodef memrchr
void *memrchr(const void *, int, __COVERITY_SIZE_TYPE__);

#nodef stpcpy
char *stpcpy(char *, const char *);

#endif // __COVERITY_NO_STRING_NODEFS__

#endif
