along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef INTTYPES_H
+/* Include the original <inttypes.h> if it exists, and if this file
+ has not been included yet or if this file includes gnulib stdint.h
+ which in turn includes this file. */
+#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
+# if @HAVE_INTTYPES_H@
+# include @ABSOLUTE_INTTYPES_H@
+# endif
+#endif
+
+#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
#define INTTYPES_H
/*
* <http://www.opengroup.org/susv3xbd/inttypes.h.html>
*/
-/* Include the original <inttypes.h> if it exists. */
-#if @HAVE_INTTYPES_H@
-# include @ABSOLUTE_INTTYPES_H@
-#endif
/* Include <stdint.h> or the gnulib replacement. */
#include <stdint.h>
/* Get CHAR_BIT. */
#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
+# if defined _TNS_R_TARGET
+ /* Tandem NonStop R series and compatible platforms released before
+ July 2005 support %Ld but not %lld. */
+# define _LONG_LONG_FORMAT_PREFIX "L"
+# else
+# define _LONG_LONG_FORMAT_PREFIX "ll"
+# endif
+
# if !defined PRId8 || @PRI_MACROS_BROKEN@
# undef PRId8
# ifdef INT8_MAX
# elif defined _MSC_VER || defined __MINGW32__
# define _PRI64_PREFIX "I64"
# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-# define _PRI64_PREFIX "ll"
+# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
# endif
# if !defined PRId64 || @PRI_MACROS_BROKEN@
# undef PRId64
# endif
# endif
# ifdef UINT64_MAX
-# if INT64_MAX == LONG_MAX
+# if UINT64_MAX == ULONG_MAX
# define _PRIu64_PREFIX "l"
# elif defined _MSC_VER || defined __MINGW32__
# define _PRIu64_PREFIX "I64"
-# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-# define _PRIu64_PREFIX "ll"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
# endif
# if !defined PRIo64 || @PRI_MACROS_BROKEN@
# undef PRIo64
# define SCNx8 "hhx"
# endif
# endif
-# if !defined SCNX8 || @PRI_MACROS_BROKEN@
-# undef SCNX8
-# ifdef UINT8_MAX
-# define SCNX8 "hhX"
-# endif
-# endif
# if !defined SCNd16 || @PRI_MACROS_BROKEN@
# undef SCNd16
# ifdef INT16_MAX
# define SCNx16 "hx"
# endif
# endif
-# if !defined SCNX16 || @PRI_MACROS_BROKEN@
-# undef SCNX16
-# ifdef UINT16_MAX
-# define SCNX16 "hX"
-# endif
-# endif
# if !defined SCNd32 || @PRI_MACROS_BROKEN@
# undef SCNd32
# ifdef INT32_MAX
# define SCNx32 "x"
# endif
# endif
-# if !defined SCNX32 || @PRI_MACROS_BROKEN@
-# undef SCNX32
-# ifdef UINT32_MAX
-# define SCNX32 "X"
-# endif
-# endif
# ifdef INT64_MAX
# if INT64_MAX == LONG_MAX
# define _SCN64_PREFIX "l"
# elif defined _MSC_VER || defined __MINGW32__
# define _SCN64_PREFIX "I64"
# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-# define _SCN64_PREFIX "ll"
+# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
# endif
# if !defined SCNd64 || @PRI_MACROS_BROKEN@
# undef SCNd64
# endif
# endif
# ifdef UINT64_MAX
-# if INT64_MAX == LONG_MAX
+# if UINT64_MAX == ULONG_MAX
# define _SCNu64_PREFIX "l"
# elif defined _MSC_VER || defined __MINGW32__
# define _SCNu64_PREFIX "I64"
-# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-# define _SCNu64_PREFIX "ll"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
# endif
# if !defined SCNo64 || @PRI_MACROS_BROKEN@
# undef SCNo64
# undef SCNx64
# define SCNx64 _SCNu64_PREFIX "x"
# endif
-# if !defined SCNX64 || @PRI_MACROS_BROKEN@
-# undef SCNX64
-# define SCNX64 _SCNu64_PREFIX "X"
-# endif
# endif
# if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
# undef SCNxLEAST8
# define SCNxLEAST8 "hhx"
# endif
-# if !defined SCNXLEAST8 || @PRI_MACROS_BROKEN@
-# undef SCNXLEAST8
-# define SCNXLEAST8 "hhX"
-# endif
# if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
# undef SCNdLEAST16
# define SCNdLEAST16 "hd"
# undef SCNxLEAST16
# define SCNxLEAST16 "hx"
# endif
-# if !defined SCNXLEAST16 || @PRI_MACROS_BROKEN@
-# undef SCNXLEAST16
-# define SCNXLEAST16 "hX"
-# endif
# if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
# undef SCNdLEAST32
# define SCNdLEAST32 "d"
# undef SCNxLEAST32
# define SCNxLEAST32 "x"
# endif
-# if !defined SCNXLEAST32 || @PRI_MACROS_BROKEN@
-# undef SCNXLEAST32
-# define SCNXLEAST32 "X"
-# endif
# ifdef INT64_MAX
# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
# undef SCNdLEAST64
# undef SCNxLEAST64
# define SCNxLEAST64 SCNx64
# endif
-# if !defined SCNXLEAST64 || @PRI_MACROS_BROKEN@
-# undef SCNXLEAST64
-# define SCNXLEAST64 SCNX64
-# endif
# endif
# if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
# define SCNxFAST8 "x"
# endif
# endif
-# if !defined SCNXFAST8 || @PRI_MACROS_BROKEN@
-# undef SCNXFAST8
-# if UINT_FAST8_MAX > UINT32_MAX
-# define SCNXFAST8 SCNX64
-# elif UINT_FAST8_MAX == 0xffff
-# define SCNXFAST8 "hX"
-# elif UINT_FAST8_MAX == 0xff
-# define SCNXFAST8 "hhX"
-# else
-# define SCNXFAST8 "X"
-# endif
-# endif
# if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
# undef SCNdFAST16
# if INT_FAST16_MAX > INT32_MAX
# define SCNxFAST16 "x"
# endif
# endif
-# if !defined SCNXFAST16 || @PRI_MACROS_BROKEN@
-# undef SCNXFAST16
-# if UINT_FAST16_MAX > UINT32_MAX
-# define SCNXFAST16 SCNX64
-# elif UINT_FAST16_MAX == 0xffff
-# define SCNXFAST16 "hX"
-# else
-# define SCNXFAST16 "X"
-# endif
-# endif
# if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
# undef SCNdFAST32
# if INT_FAST32_MAX > INT32_MAX
# define SCNxFAST32 "x"
# endif
# endif
-# if !defined SCNXFAST32 || @PRI_MACROS_BROKEN@
-# undef SCNXFAST32
-# if UINT_FAST32_MAX > UINT32_MAX
-# define SCNXFAST32 SCNX64
-# else
-# define SCNXFAST32 "X"
-# endif
-# endif
# ifdef INT64_MAX
# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
# undef SCNdFAST64
# undef SCNxFAST64
# define SCNxFAST64 SCNx64
# endif
-# if !defined SCNXFAST64 || @PRI_MACROS_BROKEN@
-# undef SCNXFAST64
-# define SCNXFAST64 SCNX64
-# endif
# endif
# if !defined SCNdMAX || @PRI_MACROS_BROKEN@
# define SCNxMAX "lx"
# endif
# endif
-# if !defined SCNXMAX || @PRI_MACROS_BROKEN@
-# undef SCNXMAX
-# if UINTMAX_MAX > UINT32_MAX
-# define SCNXMAX SCNX64
-# else
-# define SCNXMAX "lX"
-# endif
-# endif
# if !defined SCNdPTR || @PRI_MACROS_BROKEN@
# undef SCNdPTR
# define SCNxPTR @PRIPTR_PREFIX@ "x"
# endif
# endif
-# if !defined SCNXPTR || @PRI_MACROS_BROKEN@
-# undef SCNXPTR
-# ifdef UINTPTR_MAX
-# define SCNXPTR @PRIPTR_PREFIX@ "X"
-# endif
-# endif
#endif