* stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 30 Nov 2005 06:24:41 +0000 (06:24 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 30 Nov 2005 06:24:41 +0000 (06:24 +0000)
(uintmax_t) [defined uintmax_t]: Do not declare.
(SIZE_MAX) [defined SIZE_MAX]: Do not define.
This works around a problem if intmax_t.m4 and/or uintmax_t.m4
and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
(SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
sake of portability to weird hosts that C allows (though we don't
know of any practical examples).

lib/ChangeLog
lib/stdint_.h

index 94df670f3b8f1167ce4ef3534b3e01907e5122e7..2602de844b2c31fae4e83365a2c28cf31a69c825 100644 (file)
@@ -1,5 +1,14 @@
 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
+       (uintmax_t) [defined uintmax_t]: Do not declare.
+       (SIZE_MAX) [defined SIZE_MAX]: Do not define.
+       This works around a problem if intmax_t.m4 and/or uintmax_t.m4
+       and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
+       (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
+       sake of portability to weird hosts that C allows (though we don't
+       know of any practical examples).
+
        * savedir.h (fdsavedir): New decl.
        * savedir.c (fdsavedir, savedirstream): New functions; the latter
        contains most of the former guts of savedir.
index ea3619d81c4495f75ddb29f80f796ab25f995c4a..2d3eaffd29183c4c212292f0ab30ffd5f2d15484 100644 (file)
@@ -133,11 +133,19 @@ typedef unsigned long uintptr_t;
 /* 7.18.1.5. Greatest-width integer types */
 
 #ifdef _STDINT_H_HAVE_INT64
+# ifndef intmax_t
 typedef int64_t  intmax_t;
+# endif
+# ifndef uintmax_t
 typedef uint64_t uintmax_t;
+# endif
 #else
+# ifndef intmax_t
 typedef int32_t  intmax_t;
+# endif
+# ifndef uintmax_t
 typedef uint32_t uintmax_t;
+# endif
 #endif
 
 /* 7.18.2. Limits of specified-width integer types */
@@ -230,7 +238,9 @@ typedef uint32_t uintmax_t;
 #define SIG_ATOMIC_MIN 0
 #define SIG_ATOMIC_MAX 127
 
-#define SIZE_MAX (~(size_t)0)
+#ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
+#endif
 
 /* wchar_t limits already defined in <stddef.h>.  */
 /* wint_t limits already defined in <wchar.h>.  */