X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Finttypes.in.h;h=7abf39403f01670f61346ca31f15f64d238c5000;hb=2408f02086a20c0a02241cd4a1cf11f126a95fe3;hp=cfb6fc7d571b817a81e1b03c21d1927f3bd37720;hpb=6948250861edce048d7bb3c6b47d13fa3649905e;p=gnulib.git diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h index cfb6fc7d5..7abf39403 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,10 +50,10 @@ # 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 */ #if ! defined __cplusplus || defined __STDC_FORMAT_MACROS @@ -1047,47 +1052,52 @@ 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@ +# undef strtoimax 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@ +# undef strtoumax 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