X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Finttypes.in.h;h=6a8f46dddc2cbacf4b99293413116dadbef0e6a2;hb=2aa729ac6af316bc30111144684a51c4650d5c44;hp=7022ebc354cb529b862b2faded233cc6e1b970fd;hpb=b9031386bfe80cb42091cf173d6e2f29c761df65;p=gnulib.git diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h index 7022ebc35..6a8f46ddd 100644 --- a/lib/inttypes.in.h +++ b/lib/inttypes.in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2009 Free Software Foundation, Inc. +/* Copyright (C) 2006-2011 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. @@ -20,15 +20,17 @@ * */ +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + /* Include the original if it exists, and if this file has not been included yet or if this file includes gnulib stdint.h which in turn includes this file. The include_next requires a split double-inclusion guard. */ #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H # if @HAVE_INTTYPES_H@ -# if __GNUC__ >= 3 -@PRAGMA_SYSTEM_HEADER@ -# endif # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ # endif #endif @@ -36,8 +38,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 @@ -45,7 +50,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 */ @@ -1045,47 +1052,50 @@ 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@ # if !@HAVE_DECL_IMAXDIV@ +# if !GNULIB_defined_imaxdiv_t typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; +# define GNULIB_defined_imaxdiv_t 1 +# endif 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