configure: Fix __builtin_mul_overflow() compiler support check

`UINT64_C(UINT64_MAX)' is redundant and leads to a compilation error
since UINT64_C involves token concatenation, causing the check to fail.

This change fixes that by using UINT64_MAX directly, and including the
appropriate header.

Signed-off-by: Arjun Shankar <arjun@redhat.com>
This commit is contained in:
Arjun Shankar 2023-05-02 13:58:18 +02:00 committed by Ondřej Surý
parent 22329132ad
commit 5d33446145
No known key found for this signature in database
GPG key ID: 2820F37E873DEA41

View file

@ -1247,8 +1247,10 @@ AC_LINK_IFELSE(
AC_MSG_CHECKING([compiler support for __builtin_mul_overflow()])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include <limits.h>]],
[[return (__builtin_mul_overflow(UINT64_C(UINT64_MAX), UINT64_C(UINT64_MAX), &(uint64_t){ 0 }));]]
[[#include <limits.h>
#include <stdint.h>
]],
[[return (__builtin_mul_overflow(UINT64_MAX, UINT64_MAX, &(uint64_t){ 0 }));]]
)],
[AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_BUILTIN_MUL_OVERFLOW], [1], [define if the compiler supports __builtin_mul_overflow().])