support larger int types

Pedro Gimeno gmpdiscuss at
Fri Oct 14 20:42:27 UTC 2016

Torbjörn Granlund wrote, On 2016-10-14 20:45:
> Are uintmax_t and intmax_t also optional for C99 conformant compilers?

No, they are mandatory. The following are mandatory as well:

       int_least8_t                         int_least32_t
       int_least16_t                        int_least64_t
       uint_least8_t                        uint_least32_t
       uint_least16_t                       uint_least64_t

       int_fast8_t                            int_fast32_t
       int_fast16_t                           int_fast64_t
       uint_fast8_t                           uint_fast32_t
       uint_fast16_t                          uint_fast64_t

Always according to the draft. So not all is lost. The latter are described as "fastest minimum-width signed integer types"; this means that int_fast8_t can perfectly be a 64-bit integer.

I guess that the intention of the standard with making fixed-width types optional is to support machines with exotic bit widths that are not powers of two. ISTR that some Cray were among these.

More information about the gmp-discuss mailing list