Merge "use GNU C89 extern inline semantics for __size_mul_overflow()" am: 153e9928b8
am: 8e8f990fc4
* commit '8e8f990fc4fde79c2d10a5c40341d2ce90eb4e95':
use GNU C89 extern inline semantics for __size_mul_overflow()
diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h
index 342cfad..f51942b 100644
--- a/libc/include/sys/cdefs.h
+++ b/libc/include/sys/cdefs.h
@@ -462,8 +462,8 @@
#define __size_mul_overflow(a, b, result) __builtin_umul_overflow(a, b, result)
#endif
#else
-static __inline__ __always_inline int __size_mul_overflow(__SIZE_TYPE__ a, __SIZE_TYPE__ b,
- __SIZE_TYPE__ *result) {
+extern __inline__ __always_inline __attribute__((gnu_inline))
+int __size_mul_overflow(__SIZE_TYPE__ a, __SIZE_TYPE__ b, __SIZE_TYPE__ *result) {
*result = a * b;
static const __SIZE_TYPE__ mul_no_overflow = 1UL << (sizeof(__SIZE_TYPE__) * 4);
return (a >= mul_no_overflow || b >= mul_no_overflow) && a > 0 && (__SIZE_TYPE__)-1 / a < b;