X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Finttypes.in.h;h=a732c697cd61426c98c25cd08dfd11fafb36e188;hb=fbe6ced5d2fdadeeea4194725d05a52cf3b5ebd7;hp=2aaafdb9f02644bc0c8ee629b64344214b3f39bb;hpb=4a016ecd8416290e849d70aeeec398e85c420de8;p=gnulib.git diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h index 2aaafdb9f..a732c697c 100644 --- a/lib/inttypes.in.h +++ b/lib/inttypes.in.h @@ -1,11 +1,11 @@ -/* Copyright (C) 2006-2007 Free Software Foundation, Inc. +/* Copyright (C) 2006-2010 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,8 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. @@ -27,6 +26,9 @@ The include_next requires a split double-inclusion guard. */ #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H # if @HAVE_INTTYPES_H@ +# if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +# endif # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ # endif #endif @@ -34,8 +36,11 @@ #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H #define INTTYPES_H -/* Include or the gnulib replacement. */ -#include +/* Include or the gnulib replacement. + But avoid namespace pollution on glibc systems. */ +#ifndef __GLIBC__ +# include +#endif /* Get CHAR_BIT. */ #include @@ -43,7 +48,9 @@ # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to ." #endif -/* The definition of GL_LINK_WARNING is copied here. */ +/* The definition of _GL_ARG_NONNULL is copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ /* 7.8.1 Macros for format specifiers */ @@ -166,7 +173,7 @@ # endif # endif # ifdef INT64_MAX -# if INT64_MAX == LONG_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) # define _PRI64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRI64_PREFIX "I64" @@ -183,7 +190,7 @@ # endif # endif # ifdef UINT64_MAX -# if UINT64_MAX == ULONG_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) # define _PRIu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRIu64_PREFIX "I64" @@ -484,7 +491,7 @@ # if !defined PRIdMAX || @PRI_MACROS_BROKEN@ # undef PRIdMAX -# if INTMAX_MAX > INT32_MAX +# if @INT32_MAX_LT_INTMAX_MAX@ # define PRIdMAX PRId64 # else # define PRIdMAX "ld" @@ -492,7 +499,7 @@ # endif # if !defined PRIiMAX || @PRI_MACROS_BROKEN@ # undef PRIiMAX -# if INTMAX_MAX > INT32_MAX +# if @INT32_MAX_LT_INTMAX_MAX@ # define PRIiMAX PRIi64 # else # define PRIiMAX "li" @@ -500,7 +507,7 @@ # endif # if !defined PRIoMAX || @PRI_MACROS_BROKEN@ # undef PRIoMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIoMAX PRIo64 # else # define PRIoMAX "lo" @@ -508,7 +515,7 @@ # endif # if !defined PRIuMAX || @PRI_MACROS_BROKEN@ # undef PRIuMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIuMAX PRIu64 # else # define PRIuMAX "lu" @@ -516,7 +523,7 @@ # endif # if !defined PRIxMAX || @PRI_MACROS_BROKEN@ # undef PRIxMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIxMAX PRIx64 # else # define PRIxMAX "lx" @@ -524,7 +531,7 @@ # endif # if !defined PRIXMAX || @PRI_MACROS_BROKEN@ # undef PRIXMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIXMAX PRIX64 # else # define PRIXMAX "lX" @@ -659,7 +666,7 @@ # endif # endif # ifdef INT64_MAX -# if INT64_MAX == LONG_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@) # define _SCN64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCN64_PREFIX "I64" @@ -676,7 +683,7 @@ # endif # endif # ifdef UINT64_MAX -# if UINT64_MAX == ULONG_MAX +# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@) # define _SCNu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCNu64_PREFIX "I64" @@ -959,7 +966,7 @@ # if !defined SCNdMAX || @PRI_MACROS_BROKEN@ # undef SCNdMAX -# if INTMAX_MAX > INT32_MAX +# if @INT32_MAX_LT_INTMAX_MAX@ # define SCNdMAX SCNd64 # else # define SCNdMAX "ld" @@ -967,7 +974,7 @@ # endif # if !defined SCNiMAX || @PRI_MACROS_BROKEN@ # undef SCNiMAX -# if INTMAX_MAX > INT32_MAX +# if @INT32_MAX_LT_INTMAX_MAX@ # define SCNiMAX SCNi64 # else # define SCNiMAX "li" @@ -975,7 +982,7 @@ # endif # if !defined SCNoMAX || @PRI_MACROS_BROKEN@ # undef SCNoMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNoMAX SCNo64 # else # define SCNoMAX "lo" @@ -983,7 +990,7 @@ # endif # if !defined SCNuMAX || @PRI_MACROS_BROKEN@ # undef SCNuMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNuMAX SCNu64 # else # define SCNuMAX "lu" @@ -991,7 +998,7 @@ # endif # if !defined SCNxMAX || @PRI_MACROS_BROKEN@ # undef SCNxMAX -# if UINTMAX_MAX > UINT32_MAX +# if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNxMAX SCNx64 # else # define SCNxMAX "lx" @@ -1043,10 +1050,10 @@ extern intmax_t imaxabs (intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxabs -# define imaxabs(a) \ - (GL_LINK_WARNING ("imaxabs is unportable - " \ - "use gnulib module imaxabs for portability"), \ - imaxabs (a)) +# if HAVE_RAW_DECL_IMAXABS +_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - " + "use gnulib module imaxabs for portability"); +# endif #endif #if @GNULIB_IMAXDIV@ @@ -1056,34 +1063,34 @@ extern imaxdiv_t imaxdiv (intmax_t, intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxdiv -# define imaxdiv(a,b) \ - (GL_LINK_WARNING ("imaxdiv is unportable - " \ - "use gnulib module imaxdiv for portability"), \ - imaxdiv (a, b)) +# if HAVE_RAW_DECL_IMAXDIV +_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - " + "use gnulib module imaxdiv for portability"); +# endif #endif #if @GNULIB_STRTOIMAX@ # if !@HAVE_DECL_STRTOIMAX@ -extern intmax_t strtoimax (const char *, char **, int); +extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef strtoimax -# define strtoimax(p,e,b) \ - (GL_LINK_WARNING ("strtoimax is unportable - " \ - "use gnulib module strtoimax for portability"), \ - strtoimax (p, e, b)) +# if HAVE_RAW_DECL_STRTOIMAX +_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - " + "use gnulib module strtoimax for portability"); +# endif #endif #if @GNULIB_STRTOUMAX@ # if !@HAVE_DECL_STRTOUMAX@ -extern uintmax_t strtoumax (const char *, char **, int); +extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef strtoumax -# define strtoumax(p,e,b) \ - (GL_LINK_WARNING ("strtoumax is unportable - " \ - "use gnulib module strtoumax for portability"), \ - strtoumax (p, e, b)) +# if HAVE_RAW_DECL_STRTOUMAX +_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - " + "use gnulib module strtoumax for portability"); +# endif #endif /* Don't bother defining or declaring wcstoimax and wcstoumax, since