Some types have already their TYPE/SIZEOF/MAX macros. These patches add them for the missing types: ptrdiff, int{ptr,max,64,32,16,8}_t and their unsigned version. Note: some of the types vary a lot depending on the architecture, OS & exact ABI used. This is specially the case for for int32_t. The definition in these patches should now be correct for the most common archs & ABI used for the kernel. It seems now to be correct and complete (for Linux) on x86-64, i386, ppc64 & arm64. Changes since v1: * correct _MAX value of unsigned types (+ testing) * fix definition PTYPE_WIDTH/PTYPE_TYPE * fix inverted type for INT8/UINT8 * define shortcur PTYPE_ALL_T * add tests for PTRDIFF/SIZE/INTMAX/INT{8,16,32,64} * add definitions for wint_t, char16_t & char32t Changes since v2: * mv slong_ctype's entry in typenames after long_ctype * use the type for predefined_max() * add a temptative arch_mach initialized with the native architecture and use it to set more correctly wchar_t, int32_t, ... * fix size of long double, especially on x86-64 Change since v3: * SCHAR must refer to schar_ctype, not the plain char_ctype * remove now unneeded #ifdefery to initialize int32_t * add predefine for __CHAR_UNSIGNED__ * add predefine for __{WCHAR,WINT}_MIN__ To make clearer what changed since v3, only the delta and new patches are posted. -- Luc