4 /* some older toolchains (like gnuarm-3.x) don't provide a C99
5 compliant stdint.h yet, so we define our own here */
7 /* to make matters worse newer gcc with glibc headers have
8 a incompatible definition of these types. We will use the
9 gcc'ism of #include_next to include the compiler's libc
10 header file and then check if it has defined int8_t and
11 if not we will use our own typedefs */
13 /* another bad criteria. We can not detect __NEWLIB_H__ or
14 _NEWLIB_VERSION. Assume that older GCCs have a older C library
15 that did not include a stdint.h yet. This is for gnuarm-3.x
16 one of the compilers producing working code right now. */
19 #include_next <stdint.h>
22 #if (!defined(__int8_t_defined) && !defined(INT8_MAX))
23 typedef signed char int8_t;
24 typedef unsigned char uint8_t;
26 typedef signed short int16_t;
27 typedef unsigned short uint16_t;
29 typedef signed int int32_t;
30 typedef unsigned int uint32_t;
32 typedef long long int int64_t;
33 typedef unsigned long long int uint64_t;