[PATCH v4 0/4] predefined macros for intmax_t/intptr_t/...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux