<linux/overflow.h>: Don't use __has_builtin().

GCC only added support for __has_builtin in GCC 10.  However, all
supported versions of GCC and clang include these builtins so just use
them unconditionally.

This fixes the build with GCC 9.

Reviewed by:	manu, hselasky, imp
Differential Revision:	https://reviews.freebsd.org/D31942
This commit is contained in:
John Baldwin 2021-09-15 09:03:17 -07:00
parent b14cd3a833
commit 9553c6af88

View File

@ -34,18 +34,9 @@
#include <sys/stdint.h>
#include <sys/types.h>
#ifndef __has_builtin
#define __has_builtin(x) 0
#endif
#if __has_builtin(__builtin_add_overflow)
#define check_add_overflow(a, b, c) \
__builtin_add_overflow(a, b, c)
#else
#error "Compiler does not support __builtin_add_overflow"
#endif
#if __has_builtin(__builtin_mul_overflow)
#define check_mul_overflow(a, b, c) \
__builtin_mul_overflow(a, b, c)
@ -58,8 +49,5 @@ array_size(size_t x, size_t y)
retval = SIZE_MAX;
return (retval);
}
#else
#error "Compiler does not support __builtin_mul_overflow"
#endif
#endif /* __LINUX_OVERFLOW_H__ */