mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Fix configure's AC_CHECK_DECLS tests to work correctly with clang.
The test case that Autoconf uses to discover whether a function has been declared doesn't work reliably with clang, because clang reports a warning not an error if the name is a known built-in function. On some platforms, this results in a lot of compile-time warnings about strlcpy and related functions not having been declared. There is a fix for this (by Noah Misch) in the upstream Autoconf sources, but since they've not made a release in years and show no indication of doing so anytime soon, let's just absorb their fix directly. We can revert this when and if we update to a newer Autoconf release. Back-patch to all supported branches. Discussion: https://postgr.es/m/26819.1542515567@sss.pgh.pa.us
This commit is contained in:
@ -1492,10 +1492,11 @@ esac
|
||||
# posix_fadvise() is a no-op on Solaris, so don't incur function overhead
|
||||
# by calling it, 2009-04-02
|
||||
# http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c
|
||||
if test "$PORTNAME" != "solaris"; then
|
||||
dnl must use AS_IF here, else AC_REQUIRES inside AC_CHECK_DECLS malfunctions
|
||||
AS_IF([test "$PORTNAME" != "solaris"], [
|
||||
AC_CHECK_FUNCS(posix_fadvise)
|
||||
AC_CHECK_DECLS(posix_fadvise, [], [], [#include <fcntl.h>])
|
||||
fi
|
||||
]) # fi
|
||||
|
||||
AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
|
||||
AC_CHECK_DECLS([strlcat, strlcpy])
|
||||
|
Reference in New Issue
Block a user