summaryrefslogtreecommitdiffabout
authorPaul Eggert <eggert@cs.ucla.edu>2019-08-28 01:04:03 (GMT)
committer Paul Eggert <eggert@cs.ucla.edu>2019-08-28 01:04:34 (GMT)
commitec0624f9f988e86abf78d6ea0e4538f2acb060ce (patch) (side-by-side diff)
treec76c20c070556959546fab46725675a7193408e2
parent0c5031bcc46774b5f54253a71ce8f4ab31c18295 (diff)
downloadgnulib-ec0624f9f988e86abf78d6ea0e4538f2acb060ce.tar.gz
gnulib-ec0624f9f988e86abf78d6ea0e4538f2acb060ce.tar.bz2
Revert macOS INT_MULTIPLY_WRAPV patch
Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove. (_GL_HAS_BUILTIN_MUL_OVERFLOW): Go back to working around the Clang bug on macOS.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog9
-rw-r--r--lib/intprops.h13
2 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 49a0ea4..2d065ac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-08-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Revert macOS INT_MULTIPLY_WRAPV patch
+ Problem reported by Bruno Haible in:
+ https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
+ * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
+ (_GL_HAS_BUILTIN_MUL_OVERFLOW):
+ Go back to working around the Clang bug on macOS.
+
2019-08-27 Bruno Haible <bruno@clisp.org>
libtool-next-version: Fix error output.
diff --git a/lib/intprops.h b/lib/intprops.h
index 2cb6ada..ffd7370 100644
--- a/lib/intprops.h
+++ b/lib/intprops.h
@@ -31,7 +31,6 @@
# else
# define _GL_HAS___builtin_add_overflow 0
# endif
-# define _GL_HAS___builtin_mul_overflow _GL_HAS___builtin_add_overflow
# define _GL_TEMPDEF___has_builtin
#endif
@@ -241,13 +240,12 @@
# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0
#endif
-/* True if __builtin_mul_overflow (A, B, P) works when P is non-null.
- Work around Clang bug <https://bugs.llvm.org/show_bug.cgi?id=16404>. */
-#if (__has_builtin (__builtin_mul_overflow) \
- && (!defined __clang__ || (defined __APPLE__ && defined __MACH__)))
-# define _GL_HAS_BUILTIN_MUL_OVERFLOW 1
-#else
+/* True if __builtin_mul_overflow (A, B, P) works when P is non-null. */
+#ifdef __clang__
+/* Work around Clang bug <https://bugs.llvm.org/show_bug.cgi?id=16404>. */
# define _GL_HAS_BUILTIN_MUL_OVERFLOW 0
+#else
+# define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW
#endif
/* True if __builtin_add_overflow_p (A, B, C) works, and similarly for
@@ -591,7 +589,6 @@
#ifdef _GL_TEMPDEF___has_builtin
# undef __has_builtin
# undef _GL_HAS___builtin_add_overflow
-# undef _GL_HAS___builtin_mul_overflow
# undef _GL_TEMPDEF___has_builtin
#endif

Return to:

Send suggestions and report system problems to the System administrator.