From: Florian Weimer Date: Mon, 9 Sep 2019 19:29:03 +0000 (+0200) Subject: Port various autoconf bits to C99 compilers X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aeaab8ee3e52f74c042a861e394437d6554b36be;p=php 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. --- 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];