105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Copyright (C) 2006-2012 Free Software Foundation, Inc. 305436638acc7c010349a69c3395f1a57c642dc62Ying Wang Written by Paul Eggert, Bruno Haible, Derek Price. 405436638acc7c010349a69c3395f1a57c642dc62Ying Wang This file is part of gnulib. 505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 605436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is free software: you can redistribute it and/or modify 705436638acc7c010349a69c3395f1a57c642dc62Ying Wang it under the terms of the GNU General Public License as published by 805436638acc7c010349a69c3395f1a57c642dc62Ying Wang the Free Software Foundation; either version 3 of the License, or 905436638acc7c010349a69c3395f1a57c642dc62Ying Wang (at your option) any later version. 1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is distributed in the hope that it will be useful, 1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang but WITHOUT ANY WARRANTY; without even the implied warranty of 1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNU General Public License for more details. 1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang You should have received a copy of the GNU General Public License 1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang along with this program. If not, see <http://www.gnu.org/licenses/>. */ 1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* 2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang * ISO C 99 <inttypes.h> for platforms that lack it. 2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang * <http://www.opengroup.org/susv3xbd/inttypes.h.html> 2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if __GNUC__ >= 3 2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#pragma GCC system_header 2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Include the original <inttypes.h> if it exists, and if this file 3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang has not been included yet or if this file includes gnulib stdint.h 3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang which in turn includes this file. 3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang The include_next requires a split double-inclusion guard. */ 3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Some pre-C++11 <stdint.h> implementations need this. */ 3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __cplusplus && ! defined __STDC_FORMAT_MACROS 3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define __STDC_FORMAT_MACROS 1 3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# include_next <inttypes.h> 4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 4305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define INTTYPES_H 4705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Include <stdint.h> or the gnulib replacement. 4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang But avoid namespace pollution on glibc systems. */ 5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef __GLIBC__ 5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# include <stdint.h> 5205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Get CHAR_BIT. */ 5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include <limits.h> 5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) 5705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>." 5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ 6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_CXXDEFS_H 6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_CXXDEFS_H 6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The three most frequent use cases of these macros are: 6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang * For providing a substitute for a function that is missing on some 6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang platforms, but is declared and works fine on the platforms on which 6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang it exists: 6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang #if @GNULIB_FOO@ 7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !@HAVE_FOO@ 7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_SYS (foo, ...); 7305436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 7405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (foo, ...); 7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN (foo); 7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang #elif defined GNULIB_POSIXCHECK 7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang ... 7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang #endif 7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang * For providing a replacement for a function that exists on all platforms, 8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang but is broken/insufficient and needs to be replaced on some platforms: 8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang #if @GNULIB_FOO@ 8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if @REPLACE_FOO@ 8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 8605436638acc7c010349a69c3395f1a57c642dc62Ying Wang # undef foo 8705436638acc7c010349a69c3395f1a57c642dc62Ying Wang # define foo rpl_foo 8805436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 8905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL (foo, ...); 9005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL (foo, ...); 9105436638acc7c010349a69c3395f1a57c642dc62Ying Wang # else 9205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (foo, ...); 9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN (foo); 9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang #elif defined GNULIB_POSIXCHECK 9605436638acc7c010349a69c3395f1a57c642dc62Ying Wang ... 9705436638acc7c010349a69c3395f1a57c642dc62Ying Wang #endif 9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang * For providing a replacement for a function that exists on some platforms 10005436638acc7c010349a69c3395f1a57c642dc62Ying Wang but is broken/insufficient and needs to be replaced on some of them and 10105436638acc7c010349a69c3395f1a57c642dc62Ying Wang is additionally either missing or undeclared on some other platforms: 10205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 10305436638acc7c010349a69c3395f1a57c642dc62Ying Wang #if @GNULIB_FOO@ 10405436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if @REPLACE_FOO@ 10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang # undef foo 10705436638acc7c010349a69c3395f1a57c642dc62Ying Wang # define foo rpl_foo 10805436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 10905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL (foo, ...); 11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL (foo, ...); 11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang # else 11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ 11305436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_SYS (foo, ...); 11405436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (foo, ...); 11605436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 11705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN (foo); 11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang #elif defined GNULIB_POSIXCHECK 11905436638acc7c010349a69c3395f1a57c642dc62Ying Wang ... 12005436638acc7c010349a69c3395f1a57c642dc62Ying Wang #endif 12105436638acc7c010349a69c3395f1a57c642dc62Ying Wang*/ 12205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 12305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_EXTERN_C declaration; 12405436638acc7c010349a69c3395f1a57c642dc62Ying Wang performs the declaration with C linkage. */ 12505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus 12605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_EXTERN_C extern "C" 12705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 12805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_EXTERN_C extern 12905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes); 13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares a replacement function, named rpl_func, with the given prototype, 13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang consisting of return type, parameters, and attributes. 13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) 13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_ARG_NONNULL ((1))); 13705436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ 13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) 14005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ 14105436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C rettype rpl_func parameters_and_attributes 14205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 14305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes); 14405436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares the system function, named func, with the given prototype, 14505436638acc7c010349a69c3395f1a57c642dc62Ying Wang consisting of return type, parameters, and attributes. 14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) 14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_ARG_NONNULL ((1))); 14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 15005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ 15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C rettype func parameters_and_attributes 15205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_RPL (func, rettype, parameters); 15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares a C++ alias called GNULIB_NAMESPACE::func 15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang that redirects to rpl_func, if GNULIB_NAMESPACE is defined. 15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); 15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_CXXALIAS_RPL(func,rettype,parameters) \ 16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) 16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ 16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 16405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 16505436638acc7c010349a69c3395f1a57c642dc62Ying Wang rettype (*const func) parameters = ::rpl_func; \ 16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ 17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); 17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); 17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang except that the C function rpl_func may have a slightly different 17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang declaration. A cast is used to silence the "invalid conversion" error 17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang that would otherwise occur. */ 17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ 18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 18105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 18205436638acc7c010349a69c3395f1a57c642dc62Ying Wang rettype (*const func) parameters = \ 18305436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<rettype(*)parameters>(::rpl_func); \ 18405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 18505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 18605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 18705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ 18805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 18905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS (func, rettype, parameters); 19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares a C++ alias called GNULIB_NAMESPACE::func 19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang that redirects to the system provided function func, if GNULIB_NAMESPACE 19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang is defined. 19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); 19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* If we were to write 20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang rettype (*const func) parameters = ::func; 20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls 20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang better (remove an indirection through a 'static' pointer variable), 20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang but then the _GL_CXXALIASWARN macro below would cause a warning not only 20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ 20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ 20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 20705436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 20805436638acc7c010349a69c3395f1a57c642dc62Ying Wang static rettype (*func) parameters = ::func; \ 20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ 21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters); 21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_CXXALIAS_SYS (func, rettype, parameters); 21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang except that the C function func may have a slightly different declaration. 21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang A cast is used to silence the "invalid conversion" error that would 22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang otherwise occur. */ 22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ 22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang static rettype (*func) parameters = \ 22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<rettype(*)parameters>(::func); \ 22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ 23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2); 23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_CXXALIAS_SYS (func, rettype, parameters); 23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang except that the C function is picked among a set of overloaded functions, 23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang namely the one with rettype2 and parameters2. Two consecutive casts 23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang are used to silence the "cannot find a match" and "invalid conversion" 23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang errors that would otherwise occur. */ 24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The outer cast must be a reinterpret_cast. 24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang The inner cast: When the function is defined as a set of overloaded 24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang functions, it works as a static_cast<>, choosing the designated variant. 24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang When the function is defined as a single variant, it works as a 24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<>. The parenthesized cast syntax works both ways. */ 24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ 24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang static rettype (*func) parameters = \ 25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<rettype(*)parameters>( \ 25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang (rettype2(*)parameters2)(::func)); \ 25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ 25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIASWARN (func); 26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang causes a warning to be emitted when ::func is used but not when 26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNULIB_NAMESPACE::func is used. func must be defined without overloaded 26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang variants. */ 26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN(func) \ 26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) 26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_1(func,namespace) \ 26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN_2 (func, namespace) 26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>, 26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang we enable the warning only when not optimizing. */ 27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !__OPTIMIZE__ 27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_2(func,namespace) \ 27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_WARN_ON_USE (func, \ 27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "The symbol ::" #func " refers to the system function. " \ 27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "Use " #namespace "::" #func " instead.") 27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_2(func,namespace) \ 27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang extern __typeof__ (func) func 27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_2(func,namespace) \ 28005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 28105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 28205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 28305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN(func) \ 28405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 28505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 28605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 28705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes); 28805436638acc7c010349a69c3395f1a57c642dc62Ying Wang causes a warning to be emitted when the given overloaded variant of ::func 28905436638acc7c010349a69c3395f1a57c642dc62Ying Wang is used but not when GNULIB_NAMESPACE::func is used. */ 29005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 29105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ 29205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ 29305436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNULIB_NAMESPACE) 29405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ 29505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) 29605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>, 29705436638acc7c010349a69c3395f1a57c642dc62Ying Wang we enable the warning only when not optimizing. */ 29805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !__OPTIMIZE__ 29905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ 30005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ 30105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "The symbol ::" #func " refers to the system function. " \ 30205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "Use " #namespace "::" #func " instead.") 30305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 30405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ 30505436638acc7c010349a69c3395f1a57c642dc62Ying Wang extern __typeof__ (func) func 30605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 30705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ 30805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 30905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 31005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 31105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ 31205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 31305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 31405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 31505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_CXXDEFS_H */ 31605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 31705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_ARG_NONNULL is copied here. */ 31805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools 31905436638acc7c010349a69c3395f1a57c642dc62Ying Wang that the values passed as arguments n, ..., m must be non-NULL pointers. 32005436638acc7c010349a69c3395f1a57c642dc62Ying Wang n = 1 stands for the first argument, n = 2 for the second argument etc. */ 32105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_ARG_NONNULL 32205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 32305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) 32405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 32505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_ARG_NONNULL(params) 32605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 32705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 32805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 32905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_WARN_ON_USE is copied here. */ 33005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_ON_USE 33105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 33205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) 33305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A compiler attribute is available in gcc versions 4.3.0 and later. */ 33405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE(function, message) \ 33505436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern __typeof__ (function) function __attribute__ ((__warning__ (message))) 33605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 33705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Verify the existence of the function. */ 33805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE(function, message) \ 33905436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern __typeof__ (function) function 34005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* Unsupported. */ 34105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE(function, message) \ 34205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_EXTERN_C int _gl_warn_on_use 34305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 34405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 34505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 34605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") 34705436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_WARN_ON_USE (function, "string"), except that the function is 34805436638acc7c010349a69c3395f1a57c642dc62Ying Wang declared with the given prototype, consisting of return type, parameters, 34905436638acc7c010349a69c3395f1a57c642dc62Ying Wang and attributes. 35005436638acc7c010349a69c3395f1a57c642dc62Ying Wang This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does 35105436638acc7c010349a69c3395f1a57c642dc62Ying Wang not work in this case. */ 35205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_ON_USE_CXX 35305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) 35405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ 35505436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern rettype function parameters_and_attributes \ 35605436638acc7c010349a69c3395f1a57c642dc62Ying Wang __attribute__ ((__warning__ (msg))) 35705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 35805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Verify the existence of the function. */ 35905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ 36005436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern rettype function parameters_and_attributes 36105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* Unsupported. */ 36205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ 36305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_EXTERN_C int _gl_warn_on_use 36405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 36505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 36605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 36705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_WARN_EXTERN_C declaration; 36805436638acc7c010349a69c3395f1a57c642dc62Ying Wang performs the declaration with C linkage. */ 36905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_EXTERN_C 37005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __cplusplus 37105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_EXTERN_C extern "C" 37205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 37305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_EXTERN_C extern 37405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 37505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 37605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 37705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* 7.8.1 Macros for format specifiers */ 37805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 37905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined _TNS_R_TARGET 38005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Tandem NonStop R series and compatible platforms released before 38105436638acc7c010349a69c3395f1a57c642dc62Ying Wang July 2005 support %Ld but not %lld. */ 38205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _LONG_LONG_FORMAT_PREFIX "L" 38305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 38405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _LONG_LONG_FORMAT_PREFIX "ll" 38505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 38605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 38705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRId8 || 0 38805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId8 38905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 39005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId8 "d" 39105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 39205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 39305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIi8 || 0 39405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi8 39505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 39605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi8 "i" 39705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 39805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 39905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIo8 || 0 40005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo8 40105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 40205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo8 "o" 40305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 40405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 40505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIu8 || 0 40605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu8 40705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 40805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu8 "u" 40905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 41005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 41105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIx8 || 0 41205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx8 41305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 41405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx8 "x" 41505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 41605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 41705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIX8 || 0 41805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX8 41905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 42005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX8 "X" 42105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 42205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 42305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRId16 || 0 42405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId16 42505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 42605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId16 "d" 42705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 42805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 42905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIi16 || 0 43005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi16 43105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 43205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi16 "i" 43305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 43405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 43505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIo16 || 0 43605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo16 43705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 43805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo16 "o" 43905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 44005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 44105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIu16 || 0 44205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu16 44305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 44405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu16 "u" 44505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 44605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 44705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIx16 || 0 44805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx16 44905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 45005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx16 "x" 45105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 45205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 45305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIX16 || 0 45405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX16 45505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 45605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX16 "X" 45705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 45805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 45905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRId32 || 0 46005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId32 46105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 46205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId32 "d" 46305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 46405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 46505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIi32 || 0 46605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi32 46705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 46805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi32 "i" 46905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 47005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 47105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIo32 || 0 47205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo32 47305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 47405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo32 "o" 47505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 47605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 47705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIu32 || 0 47805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu32 47905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 48005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu32 "u" 48105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 48205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 48305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIx32 || 0 48405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx32 48505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 48605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx32 "x" 48705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 48805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 48905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIX32 || 0 49005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX32 49105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 49205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX32 "X" 49305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 49405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 49505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 49605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (0 ? defined _LP64 : 1) 49705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRI64_PREFIX "l" 49805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 49905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRI64_PREFIX "I64" 50005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif 1 && LONG_MAX >> 30 == 1 50105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX 50205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 50305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRId64 || 0 50405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRId64 50505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRId64 _PRI64_PREFIX "d" 50605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 50705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIi64 || 0 50805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIi64 50905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIi64 _PRI64_PREFIX "i" 51005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 51105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 51205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 51305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (0 ? defined _LP64 : 1) 51405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRIu64_PREFIX "l" 51505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 51605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRIu64_PREFIX "I64" 51705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif 1 && ULONG_MAX >> 31 == 1 51805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX 51905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 52005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIo64 || 0 52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIo64 52205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIo64 _PRIu64_PREFIX "o" 52305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 52405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIu64 || 0 52505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIu64 52605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIu64 _PRIu64_PREFIX "u" 52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIx64 || 0 52905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIx64 53005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIx64 _PRIu64_PREFIX "x" 53105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 53205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIX64 || 0 53305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIX64 53405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIX64 _PRIu64_PREFIX "X" 53505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 53605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 53705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 53805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdLEAST8 || 0 53905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST8 54005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST8 "d" 54105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 54205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiLEAST8 || 0 54305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST8 54405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST8 "i" 54505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 54605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoLEAST8 || 0 54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST8 54805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST8 "o" 54905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 55005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuLEAST8 || 0 55105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST8 55205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST8 "u" 55305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxLEAST8 || 0 55505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST8 55605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST8 "x" 55705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXLEAST8 || 0 55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST8 56005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST8 "X" 56105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 56205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdLEAST16 || 0 56305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST16 56405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST16 "d" 56505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 56605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiLEAST16 || 0 56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST16 56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST16 "i" 56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoLEAST16 || 0 57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST16 57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST16 "o" 57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuLEAST16 || 0 57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST16 57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST16 "u" 57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 57805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxLEAST16 || 0 57905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST16 58005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST16 "x" 58105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 58205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXLEAST16 || 0 58305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST16 58405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST16 "X" 58505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 58605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdLEAST32 || 0 58705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST32 58805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST32 "d" 58905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiLEAST32 || 0 59105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST32 59205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST32 "i" 59305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 59405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoLEAST32 || 0 59505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST32 59605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST32 "o" 59705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 59805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuLEAST32 || 0 59905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST32 60005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST32 "u" 60105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 60205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxLEAST32 || 0 60305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST32 60405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST32 "x" 60505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 60605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXLEAST32 || 0 60705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST32 60805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST32 "X" 60905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 61005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 61105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIdLEAST64 || 0 61205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdLEAST64 61305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdLEAST64 PRId64 61405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 61505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIiLEAST64 || 0 61605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiLEAST64 61705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiLEAST64 PRIi64 61805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 61905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 62005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 62105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIoLEAST64 || 0 62205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoLEAST64 62305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoLEAST64 PRIo64 62405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 62505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIuLEAST64 || 0 62605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuLEAST64 62705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuLEAST64 PRIu64 62805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 62905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIxLEAST64 || 0 63005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxLEAST64 63105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxLEAST64 PRIx64 63205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 63305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIXLEAST64 || 0 63405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXLEAST64 63505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXLEAST64 PRIX64 63605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 63705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 63805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 63905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdFAST8 || 0 64005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST8 64105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 64205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST8 PRId64 64305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 64405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST8 "d" 64505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 64605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 64705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiFAST8 || 0 64805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST8 64905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 65005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST8 PRIi64 65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 65205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST8 "i" 65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 65405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 65505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoFAST8 || 0 65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST8 65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 65805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST8 PRIo64 65905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 66005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST8 "o" 66105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 66205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 66305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuFAST8 || 0 66405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST8 66505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 66605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST8 PRIu64 66705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 66805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST8 "u" 66905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 67005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 67105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxFAST8 || 0 67205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST8 67305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 67405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST8 PRIx64 67505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 67605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST8 "x" 67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 67905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXFAST8 || 0 68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST8 68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 68205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST8 PRIX64 68305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST8 "X" 68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdFAST16 || 0 68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST16 68905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST16 PRId64 69105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST16 "d" 69305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 69405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 69505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiFAST16 || 0 69605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST16 69705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 69805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST16 PRIi64 69905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST16 "i" 70105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 70305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoFAST16 || 0 70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST16 70505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST16 PRIo64 70705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST16 "o" 70905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 71005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 71105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuFAST16 || 0 71205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST16 71305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 71405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST16 PRIu64 71505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 71605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST16 "u" 71705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 71805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 71905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxFAST16 || 0 72005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST16 72105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 72205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST16 PRIx64 72305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 72405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST16 "x" 72505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 72605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 72705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXFAST16 || 0 72805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST16 72905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 73005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST16 PRIX64 73105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 73205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST16 "X" 73305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 73405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 73505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdFAST32 || 0 73605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST32 73705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 73805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST32 PRId64 73905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 74005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST32 "d" 74105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 74205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 74305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiFAST32 || 0 74405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST32 74505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 74605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST32 PRIi64 74705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 74805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST32 "i" 74905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 75005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 75105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoFAST32 || 0 75205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST32 75305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 75405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST32 PRIo64 75505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 75605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST32 "o" 75705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 75805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 75905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuFAST32 || 0 76005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST32 76105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 76205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST32 PRIu64 76305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 76405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST32 "u" 76505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 76605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 76705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxFAST32 || 0 76805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST32 76905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 77005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST32 PRIx64 77105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 77205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST32 "x" 77305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 77405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 77505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXFAST32 || 0 77605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST32 77705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 77805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST32 PRIX64 77905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 78005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST32 "X" 78105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 78205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 78305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 78405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIdFAST64 || 0 78505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdFAST64 78605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdFAST64 PRId64 78705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 78805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIiFAST64 || 0 78905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiFAST64 79005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiFAST64 PRIi64 79105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 79205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 79305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 79405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIoFAST64 || 0 79505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoFAST64 79605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoFAST64 PRIo64 79705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 79805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIuFAST64 || 0 79905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuFAST64 80005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuFAST64 PRIu64 80105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 80205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIxFAST64 || 0 80305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxFAST64 80405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxFAST64 PRIx64 80505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 80605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined PRIXFAST64 || 0 80705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXFAST64 80805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXFAST64 PRIX64 80905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 81005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 81105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 81205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdMAX || 0 81305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdMAX 81405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 81505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdMAX PRId64 81605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 81705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdMAX "ld" 81805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 81905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 82005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiMAX || 0 82105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiMAX 82205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 82305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiMAX PRIi64 82405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 82505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiMAX "li" 82605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 82705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 82805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoMAX || 0 82905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoMAX 83005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 83105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoMAX PRIo64 83205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 83305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoMAX "lo" 83405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 83505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 83605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuMAX || 0 83705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuMAX 83805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 83905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuMAX PRIu64 84005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 84105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuMAX "lu" 84205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 84305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 84405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxMAX || 0 84505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxMAX 84605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 84705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxMAX PRIx64 84805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 84905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxMAX "lx" 85005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 85105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 85205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXMAX || 0 85305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXMAX 85405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 85505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXMAX PRIX64 85605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 85705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXMAX "lX" 85805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 85905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 86005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 86105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIdPTR || 0 86205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIdPTR 86305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 86405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIdPTR "l" "d" 86505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 86605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 86705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIiPTR || 0 86805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIiPTR 86905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 87005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIiPTR "l" "i" 87105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 87205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 87305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIoPTR || 0 87405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIoPTR 87505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 87605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIoPTR "l" "o" 87705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 87805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 87905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIuPTR || 0 88005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIuPTR 88105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 88205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIuPTR "l" "u" 88305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 88405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 88505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIxPTR || 0 88605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIxPTR 88705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 88805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIxPTR "l" "x" 88905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 89005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 89105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined PRIXPTR || 0 89205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef PRIXPTR 89305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 89405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define PRIXPTR "l" "X" 89505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 89605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 89705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 89805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNd8 || 0 89905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd8 90005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 90105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd8 "hhd" 90205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 90305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 90405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNi8 || 0 90505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi8 90605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT8_MAX 90705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi8 "hhi" 90805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 90905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 91005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNo8 || 0 91105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo8 91205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 91305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo8 "hho" 91405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 91505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 91605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNu8 || 0 91705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu8 91805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 91905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu8 "hhu" 92005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 92105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 92205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNx8 || 0 92305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx8 92405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT8_MAX 92505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx8 "hhx" 92605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 92705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 92805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNd16 || 0 92905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd16 93005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 93105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd16 "hd" 93205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 93305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 93405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNi16 || 0 93505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi16 93605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT16_MAX 93705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi16 "hi" 93805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 93905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 94005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNo16 || 0 94105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo16 94205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 94305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo16 "ho" 94405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 94505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 94605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNu16 || 0 94705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu16 94805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 94905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu16 "hu" 95005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 95105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 95205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNx16 || 0 95305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx16 95405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT16_MAX 95505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx16 "hx" 95605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 95705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 95805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNd32 || 0 95905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd32 96005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 96105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd32 "d" 96205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 96305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 96405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNi32 || 0 96505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi32 96605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INT32_MAX 96705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi32 "i" 96805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 96905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 97005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNo32 || 0 97105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo32 97205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 97305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo32 "o" 97405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 97505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 97605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNu32 || 0 97705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu32 97805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 97905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu32 "u" 98005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 98105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 98205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNx32 || 0 98305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx32 98405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINT32_MAX 98505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx32 "x" 98605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 98705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 98805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 98905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (0 ? defined _LP64 : 1) 99005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCN64_PREFIX "l" 99105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 99205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCN64_PREFIX "I64" 99305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif 1 && LONG_MAX >> 30 == 1 99405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX 99505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 99605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNd64 || 0 99705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNd64 99805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNd64 _SCN64_PREFIX "d" 99905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 100005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNi64 || 0 100105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNi64 100205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNi64 _SCN64_PREFIX "i" 100305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 100405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 100505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 100605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (0 ? defined _LP64 : 1) 100705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCNu64_PREFIX "l" 100805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _MSC_VER || defined __MINGW32__ 100905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCNu64_PREFIX "I64" 101005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif 1 && ULONG_MAX >> 31 == 1 101105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX 101205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 101305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNo64 || 0 101405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNo64 101505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNo64 _SCNu64_PREFIX "o" 101605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 101705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNu64 || 0 101805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNu64 101905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNu64 _SCNu64_PREFIX "u" 102005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 102105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNx64 || 0 102205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNx64 102305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNx64 _SCNu64_PREFIX "x" 102405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 102505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 102605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 102705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdLEAST8 || 0 102805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST8 102905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST8 "hhd" 103005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 103105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiLEAST8 || 0 103205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST8 103305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST8 "hhi" 103405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 103505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoLEAST8 || 0 103605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST8 103705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST8 "hho" 103805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 103905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuLEAST8 || 0 104005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST8 104105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST8 "hhu" 104205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 104305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxLEAST8 || 0 104405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST8 104505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST8 "hhx" 104605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 104705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdLEAST16 || 0 104805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST16 104905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST16 "hd" 105005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 105105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiLEAST16 || 0 105205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST16 105305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST16 "hi" 105405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 105505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoLEAST16 || 0 105605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST16 105705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST16 "ho" 105805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 105905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuLEAST16 || 0 106005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST16 106105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST16 "hu" 106205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 106305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxLEAST16 || 0 106405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST16 106505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST16 "hx" 106605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 106705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdLEAST32 || 0 106805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST32 106905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST32 "d" 107005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 107105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiLEAST32 || 0 107205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST32 107305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST32 "i" 107405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 107505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoLEAST32 || 0 107605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST32 107705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST32 "o" 107805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 107905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuLEAST32 || 0 108005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST32 108105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST32 "u" 108205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 108305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxLEAST32 || 0 108405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST32 108505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST32 "x" 108605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 108705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 108805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNdLEAST64 || 0 108905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdLEAST64 109005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdLEAST64 SCNd64 109105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 109205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNiLEAST64 || 0 109305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiLEAST64 109405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiLEAST64 SCNi64 109505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 109605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 109705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 109805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNoLEAST64 || 0 109905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoLEAST64 110005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoLEAST64 SCNo64 110105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 110205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNuLEAST64 || 0 110305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuLEAST64 110405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuLEAST64 SCNu64 110505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 110605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNxLEAST64 || 0 110705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxLEAST64 110805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxLEAST64 SCNx64 110905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 111005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 111105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 111205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdFAST8 || 0 111305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST8 111405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 111505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 SCNd64 111605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7fff 111705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 "hd" 111805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7f 111905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 "hhd" 112005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 112105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST8 "d" 112205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 112305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 112405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiFAST8 || 0 112505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST8 112605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST8_MAX > INT32_MAX 112705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 SCNi64 112805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7fff 112905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 "hi" 113005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST8_MAX == 0x7f 113105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 "hhi" 113205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 113305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST8 "i" 113405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 113505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 113605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoFAST8 || 0 113705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST8 113805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 113905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 SCNo64 114005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xffff 114105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 "ho" 114205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xff 114305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 "hho" 114405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 114505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST8 "o" 114605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 114705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 114805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuFAST8 || 0 114905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST8 115005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 115105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 SCNu64 115205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xffff 115305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 "hu" 115405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xff 115505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 "hhu" 115605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 115705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST8 "u" 115805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 115905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 116005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxFAST8 || 0 116105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST8 116205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST8_MAX > UINT32_MAX 116305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 SCNx64 116405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xffff 116505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 "hx" 116605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST8_MAX == 0xff 116705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 "hhx" 116805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 116905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST8 "x" 117005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 117105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 117205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdFAST16 || 0 117305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST16 117405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 117505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST16 SCNd64 117605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST16_MAX == 0x7fff 117705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST16 "hd" 117805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 117905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST16 "d" 118005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 118105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 118205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiFAST16 || 0 118305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST16 118405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST16_MAX > INT32_MAX 118505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST16 SCNi64 118605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif INT_FAST16_MAX == 0x7fff 118705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST16 "hi" 118805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 118905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST16 "i" 119005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 119105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 119205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoFAST16 || 0 119305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST16 119405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 119505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST16 SCNo64 119605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST16_MAX == 0xffff 119705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST16 "ho" 119805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 119905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST16 "o" 120005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 120105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 120205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuFAST16 || 0 120305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST16 120405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 120505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST16 SCNu64 120605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST16_MAX == 0xffff 120705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST16 "hu" 120805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 120905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST16 "u" 121005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 121105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 121205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxFAST16 || 0 121305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST16 121405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST16_MAX > UINT32_MAX 121505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST16 SCNx64 121605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif UINT_FAST16_MAX == 0xffff 121705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST16 "hx" 121805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 121905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST16 "x" 122005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 122105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 122205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdFAST32 || 0 122305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST32 122405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 122505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST32 SCNd64 122605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 122705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST32 "d" 122805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 122905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 123005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiFAST32 || 0 123105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST32 123205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if INT_FAST32_MAX > INT32_MAX 123305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST32 SCNi64 123405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 123505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST32 "i" 123605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 123705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 123805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoFAST32 || 0 123905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST32 124005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 124105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST32 SCNo64 124205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 124305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST32 "o" 124405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 124505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 124605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuFAST32 || 0 124705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST32 124805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 124905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST32 SCNu64 125005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 125105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST32 "u" 125205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 125305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 125405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxFAST32 || 0 125505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST32 125605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if UINT_FAST32_MAX > UINT32_MAX 125705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST32 SCNx64 125805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 125905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST32 "x" 126005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 126105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 126205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef INT64_MAX 126305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNdFAST64 || 0 126405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdFAST64 126505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdFAST64 SCNd64 126605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 126705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNiFAST64 || 0 126805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiFAST64 126905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiFAST64 SCNi64 127005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 127105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 127205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef UINT64_MAX 127305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNoFAST64 || 0 127405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoFAST64 127505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoFAST64 SCNo64 127605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 127705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNuFAST64 || 0 127805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuFAST64 127905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuFAST64 SCNu64 128005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 128105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !defined SCNxFAST64 || 0 128205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxFAST64 128305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxFAST64 SCNx64 128405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 128505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 128605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 128705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdMAX || 0 128805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdMAX 128905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 129005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdMAX SCNd64 129105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 129205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdMAX "ld" 129305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 129405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 129505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiMAX || 0 129605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiMAX 129705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 129805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiMAX SCNi64 129905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 130005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiMAX "li" 130105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 130205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 130305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoMAX || 0 130405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoMAX 130505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 130605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoMAX SCNo64 130705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 130805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoMAX "lo" 130905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 131005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 131105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuMAX || 0 131205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuMAX 131305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 131405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuMAX SCNu64 131505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 131605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuMAX "lu" 131705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 131805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 131905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxMAX || 0 132005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxMAX 132105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 132205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxMAX SCNx64 132305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 132405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxMAX "lx" 132505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 132605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 132705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 132805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNdPTR || 0 132905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNdPTR 133005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 133105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNdPTR "l" "d" 133205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 133305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 133405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNiPTR || 0 133505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNiPTR 133605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef INTPTR_MAX 133705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNiPTR "l" "i" 133805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 133905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 134005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNoPTR || 0 134105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNoPTR 134205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 134305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNoPTR "l" "o" 134405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 134505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 134605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNuPTR || 0 134705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNuPTR 134805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 134905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNuPTR "l" "u" 135005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 135105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 135205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined SCNxPTR || 0 135305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef SCNxPTR 135405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef UINTPTR_MAX 135505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define SCNxPTR "l" "x" 135605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 135705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 135805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 135905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* 7.8.2 Functions for greatest-width integer types */ 136005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 136105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef __cplusplus 136205436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern "C" { 136305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 136405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 136505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 136605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 136705436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern intmax_t imaxabs (intmax_t); 136805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 136905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 137005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef imaxabs 137105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_IMAXABS 137205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - " 137305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module imaxabs for portability"); 137405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 137505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 137605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 137705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 137805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 137905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !GNULIB_defined_imaxdiv_t 138005436638acc7c010349a69c3395f1a57c642dc62Ying Wangtypedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; 138105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GNULIB_defined_imaxdiv_t 1 138205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 138305436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern imaxdiv_t imaxdiv (intmax_t, intmax_t); 138405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 138505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 138605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef imaxdiv 138705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_IMAXDIV 138805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " 138905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module imaxdiv for portability"); 139005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 139105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 139205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 139305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 139405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 139505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 139605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoimax 139705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define strtoimax rpl_strtoimax 139805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 139905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (strtoimax, intmax_t, 140005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (const char *, char **, int) _GL_ARG_NONNULL ((1))); 140105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int)); 140205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 140305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 140405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoimax 140505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (strtoimax, intmax_t, 140605436638acc7c010349a69c3395f1a57c642dc62Ying Wang (const char *, char **, int) _GL_ARG_NONNULL ((1))); 140705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 140805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int)); 140905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 141005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (strtoimax); 141105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 141205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoimax 141305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_STRTOIMAX 141405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " 141505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module strtoimax for portability"); 141605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 141705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 141805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 141905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 142005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 142105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoumax 142205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (strtoumax, uintmax_t, 142305436638acc7c010349a69c3395f1a57c642dc62Ying Wang (const char *, char **, int) _GL_ARG_NONNULL ((1))); 142405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 142505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int)); 142605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (strtoumax); 142705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 142805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef strtoumax 142905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_STRTOUMAX 143005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - " 143105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module strtoumax for portability"); 143205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 143305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 143405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 143505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Don't bother defining or declaring wcstoimax and wcstoumax, since 143605436638acc7c010349a69c3395f1a57c642dc62Ying Wang wide-character functions like this are hardly ever useful. */ 143705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 143805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef __cplusplus 143905436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 144005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 144105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 144205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ 1443