diff --git a/include/features.h b/include/features.h new file mode 100644 index 0000000000000000000000000000000000000000..7fbdd2dcdffd08146cea346911bde37286f601d7 --- /dev/null +++ b/include/features.h @@ -0,0 +1,28 @@ +/* + * MIT License + * Copyright (c) 2020 Rich Felker musl-libc + */ + +#ifndef _FEATURES_H +#define _FEATURES_H + +#if __STDC_VERSION__ >= 199901L +#define __restrict restrict +#elif !defined(__GNUC__) +#define __restrict +#endif + +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#elif !defined(__GNUC__) +#define __inline +#endif + +#if __STDC_VERSION__ >= 201112L +#elif defined(__GNUC__) +#define _Noreturn __attribute__((__noreturn__)) +#else +#define _Noreturn +#endif + +#endif diff --git a/include/stddef.h b/include/stddef.h index d9fbabd93293b25eb60d64d454974bfbf6b2a6ea..1ee56ff6f312302930489d2e6d07e653cf97727c 100644 --- a/include/stddef.h +++ b/include/stddef.h @@ -4,12 +4,20 @@ #define NULL 0 -typedef signed long long ptrdiff_t; +#ifndef __PTRDIFF_TYPE__ +#define __PTRDIFF_TYPE__ long int +#endif +typedef __PTRDIFF_TYPE__ ptrdiff_t; +#ifndef __cplusplus typedef int32_t wchar_t; +#endif /* #ifndef __cplusplus */ typedef int32_t wint_t; -typedef unsigned long long size_t; + +typedef long unsigned int size_t; + +typedef struct { long long __ll; long double __ld; } max_align_t; #define offsetof(type, member) __builtin_offsetof(type, member)