17777dab0Sopenharmony_ci#ifndef _STDINT_H
27777dab0Sopenharmony_ci#define _STDINT_H
37777dab0Sopenharmony_ci
47777dab0Sopenharmony_ci#define __NEED_int8_t
57777dab0Sopenharmony_ci#define __NEED_int16_t
67777dab0Sopenharmony_ci#define __NEED_int32_t
77777dab0Sopenharmony_ci#define __NEED_int64_t
87777dab0Sopenharmony_ci
97777dab0Sopenharmony_ci#define __NEED_uint8_t
107777dab0Sopenharmony_ci#define __NEED_uint16_t
117777dab0Sopenharmony_ci#define __NEED_uint32_t
127777dab0Sopenharmony_ci#define __NEED_uint64_t
137777dab0Sopenharmony_ci
147777dab0Sopenharmony_ci#define __NEED_intptr_t
157777dab0Sopenharmony_ci#define __NEED_uintptr_t
167777dab0Sopenharmony_ci
177777dab0Sopenharmony_ci#define __NEED_intmax_t
187777dab0Sopenharmony_ci#define __NEED_uintmax_t
197777dab0Sopenharmony_ci
207777dab0Sopenharmony_ci#include <bits/alltypes.h>
217777dab0Sopenharmony_ci
227777dab0Sopenharmony_citypedef int8_t int_fast8_t;
237777dab0Sopenharmony_citypedef int64_t int_fast64_t;
247777dab0Sopenharmony_ci
257777dab0Sopenharmony_citypedef int8_t  int_least8_t;
267777dab0Sopenharmony_citypedef int16_t int_least16_t;
277777dab0Sopenharmony_citypedef int32_t int_least32_t;
287777dab0Sopenharmony_citypedef int64_t int_least64_t;
297777dab0Sopenharmony_ci
307777dab0Sopenharmony_citypedef uint8_t uint_fast8_t;
317777dab0Sopenharmony_citypedef uint64_t uint_fast64_t;
327777dab0Sopenharmony_ci
337777dab0Sopenharmony_citypedef uint8_t  uint_least8_t;
347777dab0Sopenharmony_citypedef uint16_t uint_least16_t;
357777dab0Sopenharmony_citypedef uint32_t uint_least32_t;
367777dab0Sopenharmony_citypedef uint64_t uint_least64_t;
377777dab0Sopenharmony_ci
387777dab0Sopenharmony_ci#define INT8_MIN   (-1-0x7f)
397777dab0Sopenharmony_ci#define INT16_MIN  (-1-0x7fff)
407777dab0Sopenharmony_ci#define INT32_MIN  (-1-0x7fffffff)
417777dab0Sopenharmony_ci#define INT64_MIN  (-1-0x7fffffffffffffff)
427777dab0Sopenharmony_ci
437777dab0Sopenharmony_ci#define INT8_MAX   (0x7f)
447777dab0Sopenharmony_ci#define INT16_MAX  (0x7fff)
457777dab0Sopenharmony_ci#define INT32_MAX  (0x7fffffff)
467777dab0Sopenharmony_ci#define INT64_MAX  (0x7fffffffffffffff)
477777dab0Sopenharmony_ci
487777dab0Sopenharmony_ci#define UINT8_MAX  (0xff)
497777dab0Sopenharmony_ci#define UINT16_MAX (0xffff)
507777dab0Sopenharmony_ci#define UINT32_MAX (0xffffffffu)
517777dab0Sopenharmony_ci#define UINT64_MAX (0xffffffffffffffffu)
527777dab0Sopenharmony_ci
537777dab0Sopenharmony_ci#define INT_FAST8_MIN   INT8_MIN
547777dab0Sopenharmony_ci#define INT_FAST64_MIN  INT64_MIN
557777dab0Sopenharmony_ci
567777dab0Sopenharmony_ci#define INT_LEAST8_MIN   INT8_MIN
577777dab0Sopenharmony_ci#define INT_LEAST16_MIN  INT16_MIN
587777dab0Sopenharmony_ci#define INT_LEAST32_MIN  INT32_MIN
597777dab0Sopenharmony_ci#define INT_LEAST64_MIN  INT64_MIN
607777dab0Sopenharmony_ci
617777dab0Sopenharmony_ci#define INT_FAST8_MAX   INT8_MAX
627777dab0Sopenharmony_ci#define INT_FAST64_MAX  INT64_MAX
637777dab0Sopenharmony_ci
647777dab0Sopenharmony_ci#define INT_LEAST8_MAX   INT8_MAX
657777dab0Sopenharmony_ci#define INT_LEAST16_MAX  INT16_MAX
667777dab0Sopenharmony_ci#define INT_LEAST32_MAX  INT32_MAX
677777dab0Sopenharmony_ci#define INT_LEAST64_MAX  INT64_MAX
687777dab0Sopenharmony_ci
697777dab0Sopenharmony_ci#define UINT_FAST8_MAX  UINT8_MAX
707777dab0Sopenharmony_ci#define UINT_FAST64_MAX UINT64_MAX
717777dab0Sopenharmony_ci
727777dab0Sopenharmony_ci#define UINT_LEAST8_MAX  UINT8_MAX
737777dab0Sopenharmony_ci#define UINT_LEAST16_MAX UINT16_MAX
747777dab0Sopenharmony_ci#define UINT_LEAST32_MAX UINT32_MAX
757777dab0Sopenharmony_ci#define UINT_LEAST64_MAX UINT64_MAX
767777dab0Sopenharmony_ci
777777dab0Sopenharmony_ci#define INTMAX_MIN  INT64_MIN
787777dab0Sopenharmony_ci#define INTMAX_MAX  INT64_MAX
797777dab0Sopenharmony_ci#define UINTMAX_MAX UINT64_MAX
807777dab0Sopenharmony_ci
817777dab0Sopenharmony_ci#define WINT_MIN 0U
827777dab0Sopenharmony_ci#define WINT_MAX UINT32_MAX
837777dab0Sopenharmony_ci
847777dab0Sopenharmony_ci#if L'\0'-1 > 0
857777dab0Sopenharmony_ci#define WCHAR_MAX (0xffffffffu+L'\0')
867777dab0Sopenharmony_ci#define WCHAR_MIN (0+L'\0')
877777dab0Sopenharmony_ci#else
887777dab0Sopenharmony_ci#define WCHAR_MAX (0x7fffffff+L'\0')
897777dab0Sopenharmony_ci#define WCHAR_MIN (-1-0x7fffffff+L'\0')
907777dab0Sopenharmony_ci#endif
917777dab0Sopenharmony_ci
927777dab0Sopenharmony_ci#define SIG_ATOMIC_MIN  INT32_MIN
937777dab0Sopenharmony_ci#define SIG_ATOMIC_MAX  INT32_MAX
947777dab0Sopenharmony_ci
957777dab0Sopenharmony_ci#include <bits/stdint.h>
967777dab0Sopenharmony_ci
977777dab0Sopenharmony_ci#define INT8_C(c)  c
987777dab0Sopenharmony_ci#define INT16_C(c) c
997777dab0Sopenharmony_ci#define INT32_C(c) c
1007777dab0Sopenharmony_ci
1017777dab0Sopenharmony_ci#define UINT8_C(c)  c
1027777dab0Sopenharmony_ci#define UINT16_C(c) c
1037777dab0Sopenharmony_ci#define UINT32_C(c) c ## U
1047777dab0Sopenharmony_ci
1057777dab0Sopenharmony_ci#if UINTPTR_MAX == UINT64_MAX
1067777dab0Sopenharmony_ci#define INT64_C(c) c ## L
1077777dab0Sopenharmony_ci#define UINT64_C(c) c ## UL
1087777dab0Sopenharmony_ci#define INTMAX_C(c)  c ## L
1097777dab0Sopenharmony_ci#define UINTMAX_C(c) c ## UL
1107777dab0Sopenharmony_ci#else
1117777dab0Sopenharmony_ci#define INT64_C(c) c ## LL
1127777dab0Sopenharmony_ci#define UINT64_C(c) c ## ULL
1137777dab0Sopenharmony_ci#define INTMAX_C(c)  c ## LL
1147777dab0Sopenharmony_ci#define UINTMAX_C(c) c ## ULL
1157777dab0Sopenharmony_ci#endif
1167777dab0Sopenharmony_ci
1177777dab0Sopenharmony_ci#endif
118