Mostly equivalent to this upstream commit: commit 601113f8a57c8f195af09bb2f14123449fa6bded Author: Sam James Date: Fri Nov 18 00:04:53 2022 +0000 Fix configure.ac compatibility with Clang 16 Clang 16 makes -Wimplicit-function-declaration and -Wimplicit-int errors by default. Unfortunately, this can lead to misconfiguration or miscompilation of software as configure tests may then return the wrong result. We also fix -Wstrict-prototypes while here as it's easy to do and it prepares us for C23. For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], or the (new) c-std-porting mailing list [3]. [0] https://lwn.net/Articles/913505/ [1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 [2] https://wiki.gentoo.org/wiki/Modern_C_porting [3] hosted at lists.linux.dev. Bug: https://bugs.gentoo.org/881707 Signed-off-by: Sam James diff --git a/configure.ac b/configure.ac index 144d55a9146548c0..e74911535ddd015f 100644 --- a/configure.ac +++ b/configure.ac @@ -279,7 +279,10 @@ AC_CHECK_FUNCS(fcntl ftruncate posix_fadvise asprintf snprintf \ AC_CACHE_CHECK([for open/O_NOATIME], db_cv_open_o_noatime, [ echo "test for working open/O_NOATIME" > __o_noatime_file AC_TRY_RUN([ +#include #include +#include +#include #include #ifndef O_NOATIME #if defined(__linux__) && (defined(__i386__) || defined(__PPC__)) @@ -288,12 +291,15 @@ AC_TRY_RUN([ #define O_NOATIME 0 #endif #endif -main() { +int main() { int c, fd = open("__o_noatime_file", O_RDONLY | O_NOATIME, 0); exit ((!O_NOATIME) || (fd == -1) || (read(fd, &c, 1) != 1)); }], [db_cv_open_o_noatime=yes], [db_cv_open_o_noatime=no], AC_TRY_LINK([ -#include +#include +#include +#include +#include #include #ifndef O_NOATIME #if defined(__linux__) && (defined(__i386__) || defined(__PPC__))