summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-10-15 12:48:54 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-10-15 12:52:18 -0700
commit996cae1ddb5eb56222a4f7018aad1e1dc201b8c9 (patch)
tree62f0d9320d658b265513c05e9155ade47428e405
parent9e5f20f4cf5ad2d4ae254761cfa4e47ff0ed4698 (diff)
downloadgnulib-996cae1ddb5eb56222a4f7018aad1e1dc201b8c9.tar.gz
gnulib-996cae1ddb5eb56222a4f7018aad1e1dc201b8c9.tar.bz2
inttypes: use more-robust test for int range
This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3. Problem reported by Dagobert Michelsen in: https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html * lib/inttypes.in.h: Rely only on limits.h when checking int range.
-rw-r--r--ChangeLog9
-rw-r--r--lib/inttypes.in.h6
2 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c63d42b6f..cd62812712 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-10-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ inttypes: use more-robust test for int range
+ This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
+ Problem reported by Dagobert Michelsen in:
+ https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
+ * lib/inttypes.in.h: Rely only on limits.h when checking
+ int range.
+
2019-10-15 Bruno Haible <bruno@clisp.org>
libtextstyle-optional: Sync with current not-yet-released libtextstyle.
diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h
index 31e40c51a6..49bcbc168f 100644
--- a/lib/inttypes.in.h
+++ b/lib/inttypes.in.h
@@ -49,15 +49,15 @@
#ifndef __GLIBC__
# include <stdint.h>
#endif
-/* Get CHAR_BIT. */
+/* Get CHAR_BIT, INT_MAX, LONG_MAX, etc. */
#include <limits.h>
/* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
#if defined _WIN32 && ! defined __CYGWIN__
# include <stdio.h>
#endif
-#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
-# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
+#if !(INT_MAX == 0x7fffffff && INT_MIN + INT_MAX == -1)
+# error "This file assumes that 'int' is 32-bit two's complement. Please report your platform and compiler to <bug-gnulib@gnu.org>."
#endif
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */

Return to:

Send suggestions and report system problems to the System administrator.