X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstdint_.h;h=9e0faab83331280c2cd723b2ec4b708724d93c4b;hb=3054e0c0b6c3f998ea52d8d25fc2bf1700a093ca;hp=b3f168c313c1b7e4affbc4adb3673ed4f32264cd;hpb=d6067ec16649b3ebb477bd1023ddf48809b78837;p=gnulib.git diff --git a/lib/stdint_.h b/lib/stdint_.h index b3f168c31..9e0faab83 100644 --- a/lib/stdint_.h +++ b/lib/stdint_.h @@ -26,6 +26,11 @@ /* Get wchar_t, WCHAR_MIN, WCHAR_MAX. */ #include +/* BSD/OS 4.2 defines WCHAR_MIN, WCHAR_MAX in , not . */ +#if !(defined(WCHAR_MIN) && defined(WCHAR_MAX)) && @HAVE_WCHAR_H@ +# include +#endif + /* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ #include @@ -67,7 +72,17 @@ #endif #if @HAVE_STDINT_H@ /* Other systems may have an incomplete . */ -# include @FULL_PATH_STDINT_H@ + /* On some versions of IRIX, the SGI C compiler comes with an , + but + - in c99 mode, includes , + - in c89 mode, spews warnings and defines nothing. + defines only a subset of the types and macros that + would define in c99 mode. + So we rely only on (included above). It means that in + c89 mode, we shadow the contents of warning-spewing . */ +# if !(defined(__sgi) && @HAVE_INTTYPES_H@ && !defined(__c99)) +# include @FULL_PATH_STDINT_H@ +# endif #endif /* 7.18.1.1. Exact-width integer types */ @@ -246,6 +261,8 @@ typedef unsigned long uintptr_t; public header files. */ #if !@HAVE_INTMAX_T@ +/* Remove possible redundant definition from gnulib's config.h first. */ +# undef intmax_t # ifdef _STDINT_H_HAVE_INT64 typedef int64_t intmax_t; # else @@ -253,6 +270,8 @@ typedef int32_t intmax_t; # endif #endif #if !@HAVE_UINTMAX_T@ +/* Remove possible redundant definition from gnulib's config.h first. */ +# undef uintmax_t # ifdef _STDINT_H_HAVE_UINT64 typedef uint64_t uintmax_t; # else