105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Copyright (C) 2006-2012 Free Software Foundation, Inc. 205436638acc7c010349a69c3395f1a57c642dc62Ying Wang Written by Paul Eggert, Bruno Haible, Derek Price. 305436638acc7c010349a69c3395f1a57c642dc62Ying Wang This file is part of gnulib. 405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 505436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is free software: you can redistribute it and/or modify 605436638acc7c010349a69c3395f1a57c642dc62Ying Wang it under the terms of the GNU General Public License as published by 705436638acc7c010349a69c3395f1a57c642dc62Ying Wang the Free Software Foundation; either version 3 of the License, or 805436638acc7c010349a69c3395f1a57c642dc62Ying Wang (at your option) any later version. 905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is distributed in the hope that it will be useful, 1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang but WITHOUT ANY WARRANTY; without even the implied warranty of 1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNU General Public License for more details. 1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang You should have received a copy of the GNU General Public License 1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang along with this program. If not, see <http://www.gnu.org/licenses/>. */ 1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* 1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang * ISO C 99 <inttypes.h> for platforms that lack it. 2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang * <http://www.opengroup.org/susv3xbd/inttypes.h.html> 2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if __GNUC__ >= 3 2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@PRAGMA_SYSTEM_HEADER@ 2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@PRAGMA_COLUMNS@ 2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Include the original <inttypes.h> if it exists, and if this file 2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang has not been included yet or if this file includes gnulib stdint.h 3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang which in turn includes this file. 3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang The include_next requires a split double-inclusion guard. */ 3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @HAVE_INTTYPES_H@ 3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Some pre-C++11 <stdint.h> implementations need this. */ 3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __cplusplus && ! defined __STDC_FORMAT_MACROS 3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define __STDC_FORMAT_MACROS 1 3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ 4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 4305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define INTTYPES_H 4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Include <stdint.h> or the gnulib replacement. 4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang But avoid namespace pollution on glibc systems. */ 4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef __GLIBC__ 5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# include <stdint.h> 5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 5205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Get CHAR_BIT. */ 5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include <limits.h> 5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) 5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>." 5705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ 6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_ARG_NONNULL is copied here. */ 6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_WARN_ON_USE is copied here. */ 6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* 7.8.1 Macros for format specifiers */ 6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined _TNS_R_TARGET 6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Tandem NonStop R series and compatible platforms released before 6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang July 2005 support %Ld but not %lld. */ 7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _LONG_LONG_FORMAT_PREFIX "L" 7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _LONG_LONG_FORMAT_PREFIX "ll" 7305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 7405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRId8 || @PRI_MACROS_BROKEN@ 7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId8 7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId8 "d" 7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIi8 || @PRI_MACROS_BROKEN@ 8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi8 8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi8 "i" 8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 8605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 8705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIo8 || @PRI_MACROS_BROKEN@ 8805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo8 8905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 9005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo8 "o" 9105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 9205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIu8 || @PRI_MACROS_BROKEN@ 9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu8 9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 9605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu8 "u" 9705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIx8 || @PRI_MACROS_BROKEN@ 10005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx8 10105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 10205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx8 "x" 10305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 10405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIX8 || @PRI_MACROS_BROKEN@ 10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX8 10705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 10805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX8 "X" 10905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRId16 || @PRI_MACROS_BROKEN@ 11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId16 11305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 11405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId16 "d" 11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 11605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 11705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIi16 || @PRI_MACROS_BROKEN@ 11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi16 11905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 12005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi16 "i" 12105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 12205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 12305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIo16 || @PRI_MACROS_BROKEN@ 12405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo16 12505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 12605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo16 "o" 12705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 12805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 12905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIu16 || @PRI_MACROS_BROKEN@ 13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu16 13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu16 "u" 13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIx16 || @PRI_MACROS_BROKEN@ 13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx16 13705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx16 "x" 13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 14005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 14105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIX16 || @PRI_MACROS_BROKEN@ 14205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX16 14305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 14405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX16 "X" 14505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRId32 || @PRI_MACROS_BROKEN@ 14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId32 14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 15005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId32 "d" 15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 15205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIi32 || @PRI_MACROS_BROKEN@ 15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi32 15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi32 "i" 15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIo32 || @PRI_MACROS_BROKEN@ 16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo32 16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo32 "o" 16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 16405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 16505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIu32 || @PRI_MACROS_BROKEN@ 16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu32 16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu32 "u" 16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIx32 || @PRI_MACROS_BROKEN@ 17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx32 17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx32 "x" 17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIX32 || @PRI_MACROS_BROKEN@ 17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX32 17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX32 "X" 18105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 18205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 18305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 18405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) 18505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRI64_PREFIX "l" 18605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 18705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRI64_PREFIX "I64" 18805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 18905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX 19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRId64 || @PRI_MACROS_BROKEN@ 19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId64 19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId64 _PRI64_PREFIX "d" 19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIi64 || @PRI_MACROS_BROKEN@ 19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi64 19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi64 _PRI64_PREFIX "i" 19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) 20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRIu64_PREFIX "l" 20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRIu64_PREFIX "I64" 20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX 20705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 20805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIo64 || @PRI_MACROS_BROKEN@ 20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo64 21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo64 _PRIu64_PREFIX "o" 21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIu64 || @PRI_MACROS_BROKEN@ 21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu64 21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu64 _PRIu64_PREFIX "u" 21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIx64 || @PRI_MACROS_BROKEN@ 21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx64 21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx64 _PRIu64_PREFIX "x" 21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIX64 || @PRI_MACROS_BROKEN@ 22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX64 22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX64 _PRIu64_PREFIX "X" 22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ 22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST8 22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST8 "d" 22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ 23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST8 23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST8 "i" 23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ 23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST8 23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST8 "o" 23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ 23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST8 24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST8 "u" 24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ 24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST8 24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST8 "x" 24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ 24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST8 24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST8 "X" 24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ 25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST16 25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST16 "d" 25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ 25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST16 25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST16 "i" 25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ 25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST16 26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST16 "o" 26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ 26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST16 26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST16 "u" 26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ 26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST16 26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST16 "x" 26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ 27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST16 27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST16 "X" 27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ 27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST32 27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST32 "d" 27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ 27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST32 28005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST32 "i" 28105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 28205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ 28305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST32 28405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST32 "o" 28505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 28605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ 28705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST32 28805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST32 "u" 28905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 29005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ 29105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST32 29205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST32 "x" 29305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 29405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ 29505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST32 29605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST32 "X" 29705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 29805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 29905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ 30005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST64 30105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST64 PRId64 30205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 30305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ 30405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST64 30505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST64 PRIi64 30605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 30705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 30805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 30905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ 31005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST64 31105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST64 PRIo64 31205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 31305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ 31405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST64 31505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST64 PRIu64 31605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 31705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ 31805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST64 31905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST64 PRIx64 32005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 32105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ 32205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST64 32305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST64 PRIX64 32405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 32505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 32605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 32705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ 32805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST8 32905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 33005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST8 PRId64 33105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 33205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST8 "d" 33305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 33405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 33505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ 33605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST8 33705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 33805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST8 PRIi64 33905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 34005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST8 "i" 34105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 34205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 34305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ 34405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST8 34505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 34605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST8 PRIo64 34705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 34805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST8 "o" 34905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 35005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 35105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ 35205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST8 35305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 35405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST8 PRIu64 35505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 35605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST8 "u" 35705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 35805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 35905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ 36005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST8 36105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 36205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST8 PRIx64 36305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 36405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST8 "x" 36505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 36605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 36705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ 36805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST8 36905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 37005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST8 PRIX64 37105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 37205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST8 "X" 37305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 37405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 37505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ 37605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST16 37705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 37805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST16 PRId64 37905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 38005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST16 "d" 38105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 38205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 38305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ 38405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST16 38505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 38605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST16 PRIi64 38705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 38805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST16 "i" 38905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 39005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 39105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ 39205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST16 39305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 39405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST16 PRIo64 39505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 39605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST16 "o" 39705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 39805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 39905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ 40005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST16 40105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 40205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST16 PRIu64 40305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 40405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST16 "u" 40505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 40605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 40705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ 40805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST16 40905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 41005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST16 PRIx64 41105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 41205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST16 "x" 41305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 41405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 41505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ 41605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST16 41705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 41805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST16 PRIX64 41905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 42005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST16 "X" 42105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 42205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 42305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ 42405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST32 42505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 42605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST32 PRId64 42705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 42805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST32 "d" 42905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 43005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 43105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ 43205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST32 43305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 43405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST32 PRIi64 43505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 43605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST32 "i" 43705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 43805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 43905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ 44005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST32 44105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 44205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST32 PRIo64 44305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 44405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST32 "o" 44505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 44605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 44705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ 44805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST32 44905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 45005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST32 PRIu64 45105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 45205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST32 "u" 45305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 45405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 45505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ 45605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST32 45705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 45805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST32 PRIx64 45905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 46005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST32 "x" 46105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 46205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 46305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ 46405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST32 46505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 46605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST32 PRIX64 46705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 46805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST32 "X" 46905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 47005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 47105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 47205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ 47305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST64 47405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST64 PRId64 47505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 47605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ 47705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST64 47805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST64 PRIi64 47905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 48005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 48105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 48205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ 48305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST64 48405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST64 PRIo64 48505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 48605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ 48705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST64 48805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST64 PRIu64 48905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 49005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ 49105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST64 49205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST64 PRIx64 49305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 49405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ 49505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST64 49605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST64 PRIX64 49705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 49805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 49905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 50005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdMAX || @PRI_MACROS_BROKEN@ 50105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdMAX 50205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @INT32_MAX_LT_INTMAX_MAX@ 50305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdMAX PRId64 50405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 50505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdMAX "ld" 50605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 50705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 50805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiMAX || @PRI_MACROS_BROKEN@ 50905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiMAX 51005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @INT32_MAX_LT_INTMAX_MAX@ 51105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiMAX PRIi64 51205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 51305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiMAX "li" 51405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 51505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 51605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoMAX || @PRI_MACROS_BROKEN@ 51705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoMAX 51805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 51905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoMAX PRIo64 52005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoMAX "lo" 52205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 52305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 52405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuMAX || @PRI_MACROS_BROKEN@ 52505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuMAX 52605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuMAX PRIu64 52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 52905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuMAX "lu" 53005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 53105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 53205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxMAX || @PRI_MACROS_BROKEN@ 53305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxMAX 53405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 53505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxMAX PRIx64 53605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 53705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxMAX "lx" 53805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 53905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 54005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXMAX || @PRI_MACROS_BROKEN@ 54105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXMAX 54205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 54305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXMAX PRIX64 54405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 54505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXMAX "lX" 54605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 54805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 54905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdPTR || @PRI_MACROS_BROKEN@ 55005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdPTR 55105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 55205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdPTR @PRIPTR_PREFIX@ "d" 55305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 55505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiPTR || @PRI_MACROS_BROKEN@ 55605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiPTR 55705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiPTR @PRIPTR_PREFIX@ "i" 55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 56005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 56105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoPTR || @PRI_MACROS_BROKEN@ 56205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoPTR 56305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 56405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoPTR @PRIPTR_PREFIX@ "o" 56505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 56605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuPTR || @PRI_MACROS_BROKEN@ 56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuPTR 56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuPTR @PRIPTR_PREFIX@ "u" 57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxPTR || @PRI_MACROS_BROKEN@ 57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxPTR 57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxPTR @PRIPTR_PREFIX@ "x" 57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 57805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 57905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXPTR || @PRI_MACROS_BROKEN@ 58005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXPTR 58105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 58205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXPTR @PRIPTR_PREFIX@ "X" 58305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 58405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 58505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 58605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNd8 || @PRI_MACROS_BROKEN@ 58705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd8 58805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 58905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd8 "hhd" 59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 59105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 59205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNi8 || @PRI_MACROS_BROKEN@ 59305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi8 59405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 59505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi8 "hhi" 59605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 59705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 59805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNo8 || @PRI_MACROS_BROKEN@ 59905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo8 60005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 60105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo8 "hho" 60205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 60305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 60405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNu8 || @PRI_MACROS_BROKEN@ 60505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu8 60605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 60705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu8 "hhu" 60805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 60905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 61005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNx8 || @PRI_MACROS_BROKEN@ 61105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx8 61205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 61305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx8 "hhx" 61405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 61505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 61605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNd16 || @PRI_MACROS_BROKEN@ 61705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd16 61805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 61905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd16 "hd" 62005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 62105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 62205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNi16 || @PRI_MACROS_BROKEN@ 62305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi16 62405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 62505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi16 "hi" 62605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 62705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 62805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNo16 || @PRI_MACROS_BROKEN@ 62905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo16 63005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 63105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo16 "ho" 63205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 63305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 63405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNu16 || @PRI_MACROS_BROKEN@ 63505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu16 63605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 63705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu16 "hu" 63805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 63905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 64005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNx16 || @PRI_MACROS_BROKEN@ 64105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx16 64205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 64305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx16 "hx" 64405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 64505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 64605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNd32 || @PRI_MACROS_BROKEN@ 64705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd32 64805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 64905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd32 "d" 65005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 65205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNi32 || @PRI_MACROS_BROKEN@ 65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi32 65405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 65505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi32 "i" 65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 65805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNo32 || @PRI_MACROS_BROKEN@ 65905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo32 66005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 66105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo32 "o" 66205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 66305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 66405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNu32 || @PRI_MACROS_BROKEN@ 66505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu32 66605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 66705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu32 "u" 66805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 66905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 67005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNx32 || @PRI_MACROS_BROKEN@ 67105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx32 67205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 67305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx32 "x" 67405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 67505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 67605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) 67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCN64_PREFIX "l" 67905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCN64_PREFIX "I64" 68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 68205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX 68305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNd64 || @PRI_MACROS_BROKEN@ 68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd64 68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd64 _SCN64_PREFIX "d" 68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNi64 || @PRI_MACROS_BROKEN@ 68905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi64 69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi64 _SCN64_PREFIX "i" 69105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 69305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 69405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) 69505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCNu64_PREFIX "l" 69605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 69705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCNu64_PREFIX "I64" 69805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 69905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX 70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 70105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNo64 || @PRI_MACROS_BROKEN@ 70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo64 70305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo64 _SCNu64_PREFIX "o" 70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 70505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNu64 || @PRI_MACROS_BROKEN@ 70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu64 70705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu64 _SCNu64_PREFIX "u" 70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 70905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNx64 || @PRI_MACROS_BROKEN@ 71005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx64 71105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx64 _SCNu64_PREFIX "x" 71205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 71305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 71405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 71505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ 71605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST8 71705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST8 "hhd" 71805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 71905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ 72005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST8 72105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST8 "hhi" 72205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 72305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ 72405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST8 72505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST8 "hho" 72605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 72705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ 72805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST8 72905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST8 "hhu" 73005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 73105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ 73205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST8 73305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST8 "hhx" 73405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 73505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ 73605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST16 73705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST16 "hd" 73805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 73905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ 74005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST16 74105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST16 "hi" 74205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 74305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ 74405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST16 74505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST16 "ho" 74605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 74705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ 74805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST16 74905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST16 "hu" 75005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 75105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ 75205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST16 75305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST16 "hx" 75405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 75505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ 75605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST32 75705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST32 "d" 75805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 75905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ 76005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST32 76105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST32 "i" 76205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 76305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ 76405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST32 76505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST32 "o" 76605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 76705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ 76805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST32 76905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST32 "u" 77005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 77105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ 77205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST32 77305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST32 "x" 77405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 77505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 77605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ 77705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST64 77805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST64 SCNd64 77905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 78005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ 78105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST64 78205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST64 SCNi64 78305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 78405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 78505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 78605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ 78705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST64 78805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST64 SCNo64 78905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 79005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ 79105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST64 79205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST64 SCNu64 79305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 79405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ 79505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST64 79605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST64 SCNx64 79705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 79805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 79905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 80005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ 80105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST8 80205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 80305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 SCNd64 80405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7fff 80505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 "hd" 80605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7f 80705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 "hhd" 80805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 80905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 "d" 81005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 81105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 81205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ 81305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST8 81405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 81505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 SCNi64 81605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7fff 81705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 "hi" 81805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7f 81905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 "hhi" 82005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 82105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 "i" 82205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 82305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 82405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ 82505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST8 82605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 82705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 SCNo64 82805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xffff 82905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 "ho" 83005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xff 83105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 "hho" 83205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 83305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 "o" 83405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 83505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 83605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ 83705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST8 83805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 83905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 SCNu64 84005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xffff 84105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 "hu" 84205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xff 84305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 "hhu" 84405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 84505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 "u" 84605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 84705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 84805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ 84905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST8 85005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 85105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 SCNx64 85205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xffff 85305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 "hx" 85405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xff 85505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 "hhx" 85605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 85705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 "x" 85805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 85905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 86005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ 86105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST16 86205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 86305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST16 SCNd64 86405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST16_MAX == 0x7fff 86505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST16 "hd" 86605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 86705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST16 "d" 86805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 86905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 87005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ 87105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST16 87205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 87305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST16 SCNi64 87405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST16_MAX == 0x7fff 87505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST16 "hi" 87605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 87705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST16 "i" 87805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 87905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 88005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ 88105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST16 88205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 88305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST16 SCNo64 88405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST16_MAX == 0xffff 88505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST16 "ho" 88605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 88705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST16 "o" 88805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 88905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 89005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ 89105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST16 89205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 89305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST16 SCNu64 89405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST16_MAX == 0xffff 89505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST16 "hu" 89605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 89705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST16 "u" 89805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 89905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 90005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ 90105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST16 90205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 90305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST16 SCNx64 90405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST16_MAX == 0xffff 90505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST16 "hx" 90605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 90705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST16 "x" 90805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 90905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 91005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ 91105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST32 91205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 91305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST32 SCNd64 91405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 91505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST32 "d" 91605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 91705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 91805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ 91905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST32 92005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 92105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST32 SCNi64 92205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 92305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST32 "i" 92405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 92505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 92605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ 92705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST32 92805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 92905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST32 SCNo64 93005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 93105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST32 "o" 93205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 93305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 93405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ 93505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST32 93605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 93705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST32 SCNu64 93805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 93905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST32 "u" 94005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 94105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 94205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ 94305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST32 94405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 94505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST32 SCNx64 94605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 94705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST32 "x" 94805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 94905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 95005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 95105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ 95205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST64 95305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST64 SCNd64 95405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 95505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ 95605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST64 95705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST64 SCNi64 95805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 95905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 96005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 96105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ 96205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST64 96305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST64 SCNo64 96405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 96505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ 96605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST64 96705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST64 SCNu64 96805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 96905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ 97005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST64 97105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST64 SCNx64 97205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 97305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 97405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 97505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdMAX || @PRI_MACROS_BROKEN@ 97605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdMAX 97705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @INT32_MAX_LT_INTMAX_MAX@ 97805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdMAX SCNd64 97905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 98005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdMAX "ld" 98105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 98205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 98305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiMAX || @PRI_MACROS_BROKEN@ 98405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiMAX 98505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @INT32_MAX_LT_INTMAX_MAX@ 98605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiMAX SCNi64 98705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 98805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiMAX "li" 98905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 99005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 99105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoMAX || @PRI_MACROS_BROKEN@ 99205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoMAX 99305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 99405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoMAX SCNo64 99505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 99605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoMAX "lo" 99705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 99805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 99905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuMAX || @PRI_MACROS_BROKEN@ 100005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuMAX 100105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 100205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuMAX SCNu64 100305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 100405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuMAX "lu" 100505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 100605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 100705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxMAX || @PRI_MACROS_BROKEN@ 100805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxMAX 100905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @UINT32_MAX_LT_UINTMAX_MAX@ 101005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxMAX SCNx64 101105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 101205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxMAX "lx" 101305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 101405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 101505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 101605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdPTR || @PRI_MACROS_BROKEN@ 101705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdPTR 101805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 101905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdPTR @PRIPTR_PREFIX@ "d" 102005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 102105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 102205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiPTR || @PRI_MACROS_BROKEN@ 102305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiPTR 102405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 102505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiPTR @PRIPTR_PREFIX@ "i" 102605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 102705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 102805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoPTR || @PRI_MACROS_BROKEN@ 102905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoPTR 103005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 103105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoPTR @PRIPTR_PREFIX@ "o" 103205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 103305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 103405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuPTR || @PRI_MACROS_BROKEN@ 103505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuPTR 103605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 103705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuPTR @PRIPTR_PREFIX@ "u" 103805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 103905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 104005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxPTR || @PRI_MACROS_BROKEN@ 104105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxPTR 104205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 104305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxPTR @PRIPTR_PREFIX@ "x" 104405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 104505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 104605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 104705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* 7.8.2 Functions for greatest-width integer types */ 104805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 104905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef __cplusplus 105005436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern "C" { 105105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 105205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 105305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_IMAXABS@ 105405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_IMAXABS@ 105505436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern intmax_t imaxabs (intmax_t); 105605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 105705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 105805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef imaxabs 105905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_IMAXABS 106005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - " 106105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module imaxabs for portability"); 106205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 106305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 106405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 106505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_IMAXDIV@ 106605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_IMAXDIV@ 106705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !GNULIB_defined_imaxdiv_t 106805436638acc7c010349a69c3395f1a57c642dc62Ying Wangtypedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; 106905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GNULIB_defined_imaxdiv_t 1 107005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 107105436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern imaxdiv_t imaxdiv (intmax_t, intmax_t); 107205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 107305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 107405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef imaxdiv 107505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_IMAXDIV 107605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " 107705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module imaxdiv for portability"); 107805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 107905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 108005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 108105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_STRTOIMAX@ 108205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_STRTOIMAX@ 108305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 108405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoimax 108505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define strtoimax rpl_strtoimax 108605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 108705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (strtoimax, intmax_t, 108805436638acc7c010349a69c3395f1a57c642dc62Ying Wang (const char *, char **, int) _GL_ARG_NONNULL ((1))); 108905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int)); 109005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 109105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_STRTOIMAX@ 109205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoimax 109305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (strtoimax, intmax_t, 109405436638acc7c010349a69c3395f1a57c642dc62Ying Wang (const char *, char **, int) _GL_ARG_NONNULL ((1))); 109505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 109605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int)); 109705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 109805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (strtoimax); 109905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 110005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoimax 110105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_STRTOIMAX 110205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " 110305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module strtoimax for portability"); 110405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 110505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 110605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 110705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_STRTOUMAX@ 110805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_STRTOUMAX@ 110905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoumax 111005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (strtoumax, uintmax_t, 111105436638acc7c010349a69c3395f1a57c642dc62Ying Wang (const char *, char **, int) _GL_ARG_NONNULL ((1))); 111205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 111305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); 111405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (strtoumax); 111505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 111605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoumax 111705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_STRTOUMAX 111805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - " 111905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module strtoumax for portability"); 112005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 112105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 112205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 112305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Don't bother defining or declaring wcstoimax and wcstoumax, since 112405436638acc7c010349a69c3395f1a57c642dc62Ying Wang wide-character functions like this are hardly ever useful. */ 112505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 112605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef __cplusplus 112705436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 112805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 112905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 113005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ 1131