This is not portable or standard. It exists only for AVR (which has 24-bit addresses), and GCC has it for this architecture too (since GCC v4.7).
If the architecture does not support its own 24-bit integer, then it will not be determined.
If you look at the header file in Clang stdint.h
, you will see that 24-bit integer typedefs are conditionally included only when the internal character __INT24_TYPE__
:
#ifdef __INT24_TYPE__ typedef __INT24_TYPE__ int24_t; typedef __UINT24_TYPE__ uint24_t; typedef int24_t int_least24_t; typedef uint24_t uint_least24_t; typedef int24_t int_fast24_t; typedef uint24_t uint_fast24_t; # define __int_least16_t int24_t # define __uint_least16_t uint24_t # define __int_least8_t int24_t # define __uint_least8_t uint24_t #endif
source share