Old HP inttypes.h defines UINT32_C as:
#define __CONCAT__(_A,_B) _A ## _B
#define __CONCAT_U__(_A) _A ## u
#define UINT32_C(__c) __CONCAT__(__CONCAT_U__(__c),l)
The __CONCAT__ macro does not delay concatenation for an extra level so
standard preprocessor implementations like GNU complain that they cannot
concatenate the ")" and "l".
The <inttypes.h> header on some platforms define the integer literal
macros incorrectly for some of the integer types. Generalize the
documented interface reporting broken U/INT64_C to all integer sizes.
The <inttypes.h> header on some platforms define the integer format
macros incorrectly for some of the integer types. Document macros that
we can define to report such platforms to the includer. Check these
reports before trusting the system-defined macros.
The Sun compiler does not document support for SCN*8 format (%hh*).
It works only on platforms that happen to provide a runtime library
that supports the format.
Provides header files that use preprocessor tests to detect and provide
information about the compiler and its target architecture. The headers
contain no configuration-time test results and thus may be installed
into an architecture-independent include directory. This makes them
suitable for use in the public interface of any package.