Commit 728101e3c53e84e87c0cb4776b8f5978cfded94a

lhchavez 2019-01-08T17:35:16

Move the intrinsics part of the change to its own PR Less controversial changes together is better.

diff --git a/src/integer.h b/src/integer.h
index a10ee99..30528db 100644
--- a/src/integer.h
+++ b/src/integer.h
@@ -55,26 +55,16 @@ GIT_INLINE(bool) git__add_uint64_overflow(uint64_t *out, uint64_t one, uint64_t 
 }
 
 /* Use clang/gcc compiler intrinsics whenever possible */
-#if (__has_builtin(__builtin_add_overflow) || \
-     (defined(__GNUC__) && (__GNUC__ >= 5)))
-
-#	if (ULONG_MAX == ULLONG_MAX) && defined(_WIN64)
-#		define git__add_sizet_overflow(out, one, two) \
-			__builtin_uaddll_overflow(one, two, out)
-#		define git__multiply_sizet_overflow(out, one, two) \
-			__builtin_umulll_overflow(one, two, out)
-#	elif (ULONG_MAX == ULLONG_MAX)
-#		define git__add_sizet_overflow(out, one, two) \
-			__builtin_uaddl_overflow(one, two, out)
-#		define git__multiply_sizet_overflow(out, one, two) \
-			__builtin_umull_overflow(one, two, out)
-#	else
-#		define git__add_sizet_overflow(out, one, two) \
-			__builtin_add_overflow(one, two, out)
-#		define git__multiply_sizet_overflow(out, one, two) \
-			__builtin_mul_overflow(one, two, out)
-#	endif
-
+#if (SIZE_MAX == ULONG_MAX) && __has_builtin(__builtin_uaddl_overflow)
+# define git__add_sizet_overflow(out, one, two) \
+	__builtin_uaddl_overflow(one, two, out)
+# define git__multiply_sizet_overflow(out, one, two) \
+	__builtin_umull_overflow(one, two, out)
+#elif (SIZE_MAX == UINT_MAX) && __has_builtin(__builtin_uadd_overflow)
+# define git__add_sizet_overflow(out, one, two) \
+	__builtin_uadd_overflow(one, two, out)
+# define git__multiply_sizet_overflow(out, one, two) \
+	__builtin_umul_overflow(one, two, out)
 #else
 
 /**