Commit a8a2bb29 authored by Paul Eggert's avatar Paul Eggert

* Makefile.in (GNULIB_MODULES): Add strtoumax.

parent d78050d6
2011-04-21 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (GNULIB_MODULES): Add strtoumax.
This is needed for the new integer-reading code in lread.c.
It automatically pulls in the following gnulib files, which
are used on old-fashioned platforms that don't have strtoumax:
lib/inttypes.h, lib/inttypes.in.h, lib/strtoimax.c, lib/strtol.c,
lib/strtoll.c, lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c,
lib/verify.h, lib/wchar.h, lib/wchar.in.h, m4/inttypes-pri.m4,
m4/inttypes.m4, m4/strtoimax.m4, m4/strtol.m4, m4/strtoll.m4,
m4/strtoul.m4, m4/strtoull.m4, m4/strtoumax.m4, m4/wchar_h.m4,
m4/wint_t.m4.
2011-04-20 Ken Brown <kbrown@cornell.edu>
* configure.in (use_mmap_for_buffers): Set to yes on Cygwin.
......
......@@ -333,7 +333,7 @@ DOS_gnulib_comp.m4 = gl-comp.m4
GNULIB_MODULES = \
careadlinkat crypto/md5 dtoastr filemode getloadavg getopt-gnu \
ignore-value intprops lstat mktime readlink \
socklen stdio strftime symlink sys_stat
socklen stdio strftime strtoumax symlink sys_stat
GNULIB_TOOL_FLAGS = \
--import --no-changelog --no-vc-files --makefile-name=gnulib.mk
sync-from-gnulib: $(gnulib_srcdir)
......
......@@ -9,7 +9,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --no-libtool --macro-prefix=gl --no-vc-files careadlinkat crypto/md5 dtoastr filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink socklen stdio strftime symlink sys_stat
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --no-libtool --macro-prefix=gl --no-vc-files careadlinkat crypto/md5 dtoastr filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink socklen stdio strftime strtoumax symlink sys_stat
MOSTLYCLEANFILES += core *.stackdump
......@@ -174,6 +174,48 @@ EXTRA_DIST += intprops.h
## end gnulib module intprops
## begin gnulib module inttypes
BUILT_SOURCES += inttypes.h
# We need the following in order to create <inttypes.h> when the system
# doesn't have one that works with the given compiler.
inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
$(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
-e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
< $(srcdir)/inttypes.in.h; \
} > $@-t && \
mv $@-t $@
MOSTLYCLEANFILES += inttypes.h inttypes.h-t
EXTRA_DIST += inttypes.in.h
## end gnulib module inttypes
## begin gnulib module lstat
......@@ -532,6 +574,60 @@ EXTRA_libgnu_a_SOURCES += strftime.c
## end gnulib module strftime
## begin gnulib module strtoimax
EXTRA_DIST += strtoimax.c
EXTRA_libgnu_a_SOURCES += strtoimax.c
## end gnulib module strtoimax
## begin gnulib module strtol
EXTRA_DIST += strtol.c
EXTRA_libgnu_a_SOURCES += strtol.c
## end gnulib module strtol
## begin gnulib module strtoll
EXTRA_DIST += strtoll.c
EXTRA_libgnu_a_SOURCES += strtoll.c
## end gnulib module strtoll
## begin gnulib module strtoul
EXTRA_DIST += strtoul.c
EXTRA_libgnu_a_SOURCES += strtoul.c
## end gnulib module strtoul
## begin gnulib module strtoull
EXTRA_DIST += strtoull.c
EXTRA_libgnu_a_SOURCES += strtoull.c
## end gnulib module strtoull
## begin gnulib module strtoumax
EXTRA_DIST += strtoumax.c
EXTRA_libgnu_a_SOURCES += strtoumax.c
## end gnulib module strtoumax
## begin gnulib module symlink
......@@ -785,6 +881,12 @@ EXTRA_DIST += unistd.in.h
## end gnulib module unistd
## begin gnulib module verify
libgnu_a_SOURCES += verify.h
## end gnulib module verify
## begin gnulib module warn-on-use
BUILT_SOURCES += warn-on-use.h
......@@ -804,6 +906,126 @@ EXTRA_DIST += $(top_srcdir)/./warn-on-use.h
## end gnulib module warn-on-use
## begin gnulib module wchar
BUILT_SOURCES += wchar.h
# We need the following in order to create <wchar.h> when the system
# version does not work standalone.
wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
-e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
-e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \
-e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \
-e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \
-e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \
-e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \
-e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \
-e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \
-e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \
-e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \
-e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
-e 's|@''GNULIB_WMEMCHR''@|$(GNULIB_WMEMCHR)|g' \
-e 's|@''GNULIB_WMEMCMP''@|$(GNULIB_WMEMCMP)|g' \
-e 's|@''GNULIB_WMEMCPY''@|$(GNULIB_WMEMCPY)|g' \
-e 's|@''GNULIB_WMEMMOVE''@|$(GNULIB_WMEMMOVE)|g' \
-e 's|@''GNULIB_WMEMSET''@|$(GNULIB_WMEMSET)|g' \
-e 's|@''GNULIB_WCSLEN''@|$(GNULIB_WCSLEN)|g' \
-e 's|@''GNULIB_WCSNLEN''@|$(GNULIB_WCSNLEN)|g' \
-e 's|@''GNULIB_WCSCPY''@|$(GNULIB_WCSCPY)|g' \
-e 's|@''GNULIB_WCPCPY''@|$(GNULIB_WCPCPY)|g' \
-e 's|@''GNULIB_WCSNCPY''@|$(GNULIB_WCSNCPY)|g' \
-e 's|@''GNULIB_WCPNCPY''@|$(GNULIB_WCPNCPY)|g' \
-e 's|@''GNULIB_WCSCAT''@|$(GNULIB_WCSCAT)|g' \
-e 's|@''GNULIB_WCSNCAT''@|$(GNULIB_WCSNCAT)|g' \
-e 's|@''GNULIB_WCSCMP''@|$(GNULIB_WCSCMP)|g' \
-e 's|@''GNULIB_WCSNCMP''@|$(GNULIB_WCSNCMP)|g' \
-e 's|@''GNULIB_WCSCASECMP''@|$(GNULIB_WCSCASECMP)|g' \
-e 's|@''GNULIB_WCSNCASECMP''@|$(GNULIB_WCSNCASECMP)|g' \
-e 's|@''GNULIB_WCSCOLL''@|$(GNULIB_WCSCOLL)|g' \
-e 's|@''GNULIB_WCSXFRM''@|$(GNULIB_WCSXFRM)|g' \
-e 's|@''GNULIB_WCSDUP''@|$(GNULIB_WCSDUP)|g' \
-e 's|@''GNULIB_WCSCHR''@|$(GNULIB_WCSCHR)|g' \
-e 's|@''GNULIB_WCSRCHR''@|$(GNULIB_WCSRCHR)|g' \
-e 's|@''GNULIB_WCSCSPN''@|$(GNULIB_WCSCSPN)|g' \
-e 's|@''GNULIB_WCSSPN''@|$(GNULIB_WCSSPN)|g' \
-e 's|@''GNULIB_WCSPBRK''@|$(GNULIB_WCSPBRK)|g' \
-e 's|@''GNULIB_WCSSTR''@|$(GNULIB_WCSSTR)|g' \
-e 's|@''GNULIB_WCSTOK''@|$(GNULIB_WCSTOK)|g' \
-e 's|@''GNULIB_WCSWIDTH''@|$(GNULIB_WCSWIDTH)|g' \
< $(srcdir)/wchar.in.h | \
sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
-e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
-e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
-e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
-e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
-e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
-e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
-e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
-e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
-e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
-e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
-e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
-e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
-e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
-e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
-e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
-e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
-e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
-e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
-e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
-e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
-e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
-e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
-e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
-e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
-e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
-e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
-e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
-e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
-e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
-e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
-e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
-e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
-e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
-e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
-e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
| \
sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
-e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
-e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
-e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
-e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
-e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
-e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
-e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
-e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
} > $@-t && \
mv $@-t $@
MOSTLYCLEANFILES += wchar.h wchar.h-t
EXTRA_DIST += wchar.in.h
## end gnulib module wchar
mostlyclean-local: mostlyclean-generic
@for dir in '' $(MOSTLYCLEANDIRS); do \
......
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Copyright (C) 2006-2011 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Derek Price.
This file is part of gnulib.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/*
* ISO C 99 <inttypes.h> for platforms that lack it.
* <http://www.opengroup.org/susv3xbd/inttypes.h.html>
*/
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
/* 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.
The include_next requires a split double-inclusion guard. */
#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
# if 1
# include_next <inttypes.h>
# endif
#endif
#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
#define INTTYPES_H
/* Include <stdint.h> or the gnulib replacement.
But avoid namespace pollution on glibc systems. */
#ifndef __GLIBC__
# include <stdint.h>
#endif
/* Get CHAR_BIT. */
#include <limits.h>
#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
#endif
/* The definition of _GL_ARG_NONNULL is copied here. */
/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
that the values passed as arguments n, ..., m must be non-NULL pointers.
n = 1 stands for the first argument, n = 2 for the second argument etc. */
#ifndef _GL_ARG_NONNULL
# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
# else
# define _GL_ARG_NONNULL(params)
# endif
#endif
/* The definition of _GL_WARN_ON_USE is copied here. */
#ifndef _GL_WARN_ON_USE
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
/* A compiler attribute is available in gcc versions 4.3.0 and later. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
/* Verify the existence of the function. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function
# else /* Unsupported. */
# define _GL_WARN_ON_USE(function, message) \
_GL_WARN_EXTERN_C int _gl_warn_on_use
# endif
#endif
/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
is like _GL_WARN_ON_USE (function, "string"), except that the function is
declared with the given prototype, consisting of return type, parameters,
and attributes.
This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
not work in this case. */
#ifndef _GL_WARN_ON_USE_CXX
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
extern rettype function parameters_and_attributes \
__attribute__ ((__warning__ (msg)))
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
/* Verify the existence of the function. */
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
extern rettype function parameters_and_attributes
# else /* Unsupported. */
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
_GL_WARN_EXTERN_C int _gl_warn_on_use
# endif
#endif
/* _GL_WARN_EXTERN_C declaration;
performs the declaration with C linkage. */
#ifndef _GL_WARN_EXTERN_C
# if defined __cplusplus
# define _GL_WARN_EXTERN_C extern "C"
# else
# define _GL_WARN_EXTERN_C extern
# endif
#endif
/* 7.8.1 Macros for format specifiers */
#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 || 0
# undef PRId8
# ifdef INT8_MAX
# define PRId8 "d"
# endif
# endif
# if !defined PRIi8 || 0
# undef PRIi8
# ifdef INT8_MAX
# define PRIi8 "i"
# endif
# endif
# if !defined PRIo8 || 0
# undef PRIo8
# ifdef UINT8_MAX
# define PRIo8 "o"
# endif
# endif
# if !defined PRIu8 || 0
# undef PRIu8
# ifdef UINT8_MAX
# define PRIu8 "u"
# endif
# endif
# if !defined PRIx8 || 0
# undef PRIx8
# ifdef UINT8_MAX
# define PRIx8 "x"
# endif
# endif
# if !defined PRIX8 || 0
# undef PRIX8
# ifdef UINT8_MAX
# define PRIX8 "X"
# endif
# endif
# if !defined PRId16 || 0
# undef PRId16
# ifdef INT16_MAX
# define PRId16 "d"
# endif
# endif
# if !defined PRIi16 || 0
# undef PRIi16
# ifdef INT16_MAX
# define PRIi16 "i"
# endif
# endif
# if !defined PRIo16 || 0
# undef PRIo16
# ifdef UINT16_MAX
# define PRIo16 "o"
# endif
# endif
# if !defined PRIu16 || 0
# undef PRIu16
# ifdef UINT16_MAX
# define PRIu16 "u"
# endif
# endif
# if !defined PRIx16 || 0
# undef PRIx16
# ifdef UINT16_MAX
# define PRIx16 "x"
# endif
# endif
# if !defined PRIX16 || 0
# undef PRIX16
# ifdef UINT16_MAX
# define PRIX16 "X"
# endif
# endif
# if !defined PRId32 || 0
# undef PRId32
# ifdef INT32_MAX
# define PRId32 "d"
# endif
# endif
# if !defined PRIi32 || 0
# undef PRIi32
# ifdef INT32_MAX
# define PRIi32 "i"
# endif
# endif
# if !defined PRIo32 || 0
# undef PRIo32
# ifdef UINT32_MAX
# define PRIo32 "o"
# endif
# endif
# if !defined PRIu32 || 0
# undef PRIu32
# ifdef UINT32_MAX
# define PRIu32 "u"
# endif
# endif
# if !defined PRIx32 || 0
# undef PRIx32
# ifdef UINT32_MAX
# define PRIx32 "x"
# endif
# endif
# if !defined PRIX32 || 0
# undef PRIX32
# ifdef UINT32_MAX
# define PRIX32 "X"
# endif
# endif
# ifdef INT64_MAX
# if (0 ? defined _LP64 : 1)
# define _PRI64_PREFIX "l"
# elif defined _MSC_VER || defined __MINGW32__
# define _PRI64_PREFIX "I64"
# elif 1 && LONG_MAX >> 30 == 1
# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
# endif
# if !defined PRId64 || 0
# undef PRId64
# define PRId64 _PRI64_PREFIX "d"
# endif
# if !defined PRIi64 || 0
# undef PRIi64
# define PRIi64 _PRI64_PREFIX "i"
# endif
# endif
# ifdef UINT64_MAX
# if (0 ? defined _LP64 : 1)
# define _PRIu64_PREFIX "l"
# elif defined _MSC_VER || defined __MINGW32__
# define _PRIu64_PREFIX "I64"
# elif 1 && ULONG_MAX >> 31 == 1
# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
# endif
# if !defined PRIo64 || 0
# undef PRIo64
# define PRIo64 _PRIu64_PREFIX "o"
# endif
# if !defined PRIu64 || 0
# undef PRIu64
# define PRIu64 _PRIu64_PREFIX "u"
# endif
# if !defined PRIx64 || 0
# undef PRIx64
# define PRIx64 _PRIu64_PREFIX "x"
# endif
# if !defined PRIX64 || 0
# undef PRIX64
# define PRIX64 _PRIu64_PREFIX "X"
# endif
# endif
# if !defined PRIdLEAST8 || 0
# undef PRIdLEAST8
# define PRIdLEAST8 "d"
# endif
# if !defined PRIiLEAST8 || 0
# undef PRIiLEAST8
# define PRIiLEAST8 "i"
# endif
# if !defined PRIoLEAST8 || 0
# undef PRIoLEAST8
# define PRIoLEAST8 "o"
# endif
# if !defined PRIuLEAST8 || 0
# undef PRIuLEAST8
# define PRIuLEAST8 "u"
# endif
# if !defined PRIxLEAST8 || 0
# undef PRIxLEAST8
# define PRIxLEAST8 "x"
# endif
# if !defined PRIXLEAST8 || 0
# undef PRIXLEAST8
# define PRIXLEAST8 "X"
# endif
# if !defined PRIdLEAST16 || 0
# undef PRIdLEAST16
# define PRIdLEAST16 "d"
# endif
# if !defined PRIiLEAST16 || 0
# undef PRIiLEAST16
# define PRIiLEAST16 "i"
# endif
# if !defined PRIoLEAST16 || 0
# undef PRIoLEAST16
# define PRIoLEAST16 "o"
# endif
# if !defined PRIuLEAST16 || 0
# undef PRIuLEAST16
# define PRIuLEAST16 "u"
# endif
# if !defined PRIxLEAST16 || 0
# undef PRIxLEAST16
# define PRIxLEAST16 "x"
# endif
# if !defined PRIXLEAST16 || 0
# undef PRIXLEAST16
# define PRIXLEAST16 "X"
# endif
# if !defined PRIdLEAST32 || 0
# undef PRIdLEAST32
# define PRIdLEAST32 "d"
# endif
# if !defined PRIiLEAST32 || 0
# undef PRIiLEAST32
# define PRIiLEAST32 "i"
# endif
# if !defined PRIoLEAST32 || 0
# undef PRIoLEAST32
# define PRIoLEAST32 "o"
# endif
# if !defined PRIuLEAST32 || 0
# undef PRIuLEAST32
# define PRIuLEAST32 "u"
# endif
# if !defined PRIxLEAST32 || 0
# undef PRIxLEAST32
# define PRIxLEAST32 "x"
# endif
# if !defined PRIXLEAST32 || 0
# undef PRIXLEAST32
# define PRIXLEAST32 "X"
# endif
# ifdef INT64_MAX
# if !defined PRIdLEAST64 || 0
# undef PRIdLEAST64
# define PRIdLEAST64 PRId64
# endif
# if !defined PRIiLEAST64 || 0
# undef PRIiLEAST64
# define PRIiLEAST64 PRIi64
# endif
# endif
# ifdef UINT64_MAX
# if !defined PRIoLEAST64 || 0
# undef PRIoLEAST64
# define PRIoLEAST64 PRIo64
# endif
# if !defined PRIuLEAST64 || 0
# undef PRIuLEAST64
# define PRIuLEAST64 PRIu64
# endif
# if !defined PRIxLEAST64 || 0
# undef PRIxLEAST64
# define PRIxLEAST64 PRIx64
# endif
# if !defined PRIXLEAST64 || 0
# undef PRIXLEAST64
# define PRIXLEAST64 PRIX64
# endif
# endif
# if !defined PRIdFAST8 || 0
# undef PRIdFAST8
# if INT_FAST8_MAX > INT32_MAX
# define PRIdFAST8 PRId64
# else
# define PRIdFAST8 "d"
# endif
# endif
# if !defined PRIiFAST8 || 0