From aeaab8ee3e52f74c042a861e394437d6554b36be Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 9 Sep 2019 21:29:03 +0200 Subject: [PATCH] Port various autoconf bits to C99 compilers C99 no longer has implicit function declarations and implicit ints. Current GCC versions enable them as an extension, but this will change in a future GCC version. --- Zend/Zend.m4 | 2 ++ build/libtool.m4 | 5 +---- build/php.m4 | 17 ++++++++++------- configure.ac | 2 ++ ext/standard/config.m4 | 22 ++++++++++++++++++++++ 5 files changed, 37 insertions(+), 11 deletions(-) diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index 054e2621a4..57a12ac36b 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -157,6 +157,7 @@ AC_MSG_CHECKING(whether double cast to long preserves least significant bits) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include +#include int main() { @@ -256,6 +257,7 @@ AC_MSG_CHECKING(for MM alignment and log values) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include +#include typedef union _mm_align_test { void *ptr; diff --git a/build/libtool.m4 b/build/libtool.m4 index f7f5164292..577dad4cbe 100644 --- a/build/libtool.m4 +++ b/build/libtool.m4 @@ -945,6 +945,7 @@ else #endif #include +#include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL @@ -978,10 +979,6 @@ else # endif #endif -#ifdef __cplusplus -extern "C" void exit (int); -#endif - void fnord() { int i=42;} int main () { diff --git a/build/php.m4 b/build/php.m4 index 25f5aa762b..529876b6b6 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -1118,7 +1118,7 @@ AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include -main() { +int main() { char buf[27]; struct tm t; time_t old = 0; @@ -1134,7 +1134,7 @@ return (1); ],[ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include -main() { +int main() { struct tm t, *s; time_t old = 0; char buf[27], *p; @@ -1173,8 +1173,9 @@ AC_DEFUN([PHP_DOES_PWRITE_WORK],[ #include #include #include +#include $1 - main() { + int main() { int fd = open("conftest_in", O_WRONLY|O_CREAT, 0600); if (fd < 0) exit(1); @@ -1206,8 +1207,9 @@ AC_DEFUN([PHP_DOES_PREAD_WORK],[ #include #include #include +#include $1 - main() { + int main() { char buf[3]; int fd = open("conftest_in", O_RDONLY); if (fd < 0) exit(1); @@ -1460,6 +1462,7 @@ dnl Even newer glibcs have a different seeker definition. AC_RUN_IFELSE([AC_LANG_SOURCE([[ #define _GNU_SOURCE #include +#include struct cookiedata { __off64_t pos; @@ -1476,7 +1479,7 @@ int seeker(void *cookie, __off64_t *position, int whence) cookie_io_functions_t funcs = {reader, writer, seeker, closer}; -main() { +int main() { struct cookiedata g = { 0 }; FILE *fp = fopencookie(&g, "r", funcs); @@ -1595,7 +1598,7 @@ AC_DEFUN([PHP_CHECK_FUNC_LIB],[ if test "$found" = "yes"; then ac_libs=$LIBS LIBS="$LIBS -l$2" - AC_RUN_IFELSE([AC_LANG_SOURCE([[main() { return (0); }]])],[found=yes],[found=no],[found=no]) + AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return (0); }]])],[found=yes],[found=no],[found=no]) LIBS=$ac_libs fi @@ -2281,7 +2284,7 @@ AC_DEFUN([PHP_TEST_WRITE_STDOUT],[ #define TEXT "This is the test message -- " -main() +int main() { int n; diff --git a/configure.ac b/configure.ac index d759b02751..e15b83ca25 100644 --- a/configure.ac +++ b/configure.ac @@ -662,6 +662,8 @@ AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo, [[struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);]])],[AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include +#include +#include #ifndef AF_INET # include #endif diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index 9f85ec2b70..5b49e5d661 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -5,6 +5,10 @@ AC_CACHE_CHECK([whether flush should be called explicitly after a buffered io], AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include +#ifdef HAVE_UNISTD_H +#include +#endif +#include int main(int argc, char **argv) { @@ -67,6 +71,9 @@ AC_CACHE_CHECK(for standard DES crypt, ac_cv_crypt_des,[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char *encrypted = crypt("rasmuslerdorf","rl"); @@ -92,6 +99,9 @@ AC_CACHE_CHECK(for extended DES crypt, ac_cv_crypt_ext_des,[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char *encrypted = crypt("rasmuslerdorf","_J9..rasm"); @@ -117,6 +127,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[15], answer[40]; @@ -152,6 +165,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[30], answer[70]; @@ -184,6 +200,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[21], answer[21+86]; @@ -215,6 +234,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[21], answer[21+43]; -- 2.50.0