Skip to content

Instantly share code, notes, and snippets.

@ebraminio
Created June 21, 2019 16:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ebraminio/6176cebec99bfe52a1db41f06b5a4f3c to your computer and use it in GitHub Desktop.
Save ebraminio/6176cebec99bfe52a1db41f06b5a4f3c to your computer and use it in GitHub Desktop.
harfbuzz libc.h
#ifndef STDLIB_H
#define STDLIB_H
#ifdef __cplusplus
extern "C" {
#endif
#define assert(test)
extern int *__errno(void);
#define errno (*__errno())
void* malloc(size_t n);
void free(void* ptr);
void* calloc(size_t n, size_t size);
void* realloc(void* ptr, size_t size);
#define va_list __builtin_va_list
#define va_start __builtin_va_start
#define va_end __builtin_va_end
#define va_arg __builtin_va_arg
#define stderr 0
#define fprintf(format, ...)
#define snprintf(format, ...) 0
#define offsetof __builtin_offsetof
#define roundf __builtin_roundf
#define floor __builtin_floor
#define abs __builtin_abs
#define pow __builtin_pow
#define ceil __builtin_ceil
#define sqrt __builtin_sqrt
#define strlen __builtin_strlen
#define memset __builtin_memset
#define memcpy __builtin_memcpy
#define memmove __builtin_memmove
#define strncmp __builtin_strncmp
#define strcmp __builtin_strcmp
#define memcmp __builtin_memcmp
#define strchr __builtin_strchr
#define strncpy __builtin_strncpy
#define strstr __builtin_strstr
#define uint_least8_t uint32_t
#define uint_least16_t uint32_t
#define uint_fast8_t uint32_t
#define uint_fast16_t uint32_t
#define int_fast16_t uint32_t
#define DBL_MIN __DBL_MIN__
#define DBL_MAX __DBL_MAX__
typedef __PTRDIFF_TYPE__ ptrdiff_t;
unsigned long strtoul(const char *nptr, char **endptr, int base);
long strtol(const char *nptr, char **endptr, int base);
int strtod(const char *nptr, char **endptr);
#define LLONG_MAX __LONG_LONG_MAX__
#define LLONG_MIN (-__LONG_LONG_MAX__-1LL)
#define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
#define SCHAR_MAX __SCHAR_MAX__
#define SHRT_MAX __SHRT_MAX__
#define INT_MAX __INT_MAX__
#define LONG_MAX __LONG_MAX__
#define SCHAR_MIN (-__SCHAR_MAX__-1)
#define SHRT_MIN (-__SHRT_MAX__ -1)
#define INT_MIN (-__INT_MAX__ -1)
#define LONG_MIN (-__LONG_MAX__ -1L)
#define UCHAR_MAX (__SCHAR_MAX__*2 +1)
#define USHRT_MAX (__SHRT_MAX__ *2 +1)
#define UINT_MAX (__INT_MAX__ *2U +1U)
#define ULONG_MAX (__LONG_MAX__ *2UL+1UL)
#ifdef __CHAR_UNSIGNED__ /* -funsigned-char */
#define CHAR_MIN 0
#define CHAR_MAX UCHAR_MAX
#else
#define CHAR_MIN SCHAR_MIN
#define CHAR_MAX __SCHAR_MAX__
#endif
#ifdef __cplusplus
}
#endif
#endif /* STDLIB_H */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment