On Fri, Mar 14, 2014 at 05:26:06PM +0100, Laszlo Ersek wrote: > (b) UINT64_C() is for "uint_least64_t" (7.18.4.1 Macros for > minimum-width integer constants). "uint_least64_t" is a required type > (7.18.1.2 Minimum-width integer types). > > In practice I'd say it doesn't matter which one we use: > - ULL suffix is gnu89, > - UINT64_C() macro is gnu89, > - "unsigned long long" could be wider in general than 64 bits, > - "uint_least64_t" too could be wider in general than 64 bits, > - for us both results in uint64_t exactly. > > So the above is a tie, but the ULL suffix is just nicer. (IMHO :))
Interesting discussion here: https://stackoverflow.com/questions/16360828/what-is-the-purpose-of-macros-for-minimum-width-integer-constants suggesting that these macros aren't well-specified. Ho hum. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top