summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-09-09 21:29:03 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2019-09-10 12:32:14 +0200
commitaeaab8ee3e52f74c042a861e394437d6554b36be (patch)
tree6e34d83e2cc360b01e804bf2e0e15597059085bc
parent0128f6eb8466cacfac5141382490bc385c9db8c0 (diff)
downloadphp-git-aeaab8ee3e52f74c042a861e394437d6554b36be.tar.gz
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.
-rw-r--r--Zend/Zend.m42
-rw-r--r--build/libtool.m45
-rw-r--r--build/php.m417
-rw-r--r--configure.ac2
-rw-r--r--ext/standard/config.m422
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 <limits.h>
+#include <stdlib.h>
int main()
{
@@ -256,6 +257,7 @@ AC_MSG_CHECKING(for MM alignment and log values)
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
+#include <stdlib.h>
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 <stdio.h>
+#include <stdlib.h>
#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 <time.h>
-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 <time.h>
-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 <fcntl.h>
#include <unistd.h>
#include <errno.h>
+#include <stdlib.h>
$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 <fcntl.h>
#include <unistd.h>
#include <errno.h>
+#include <stdlib.h>
$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 <stdio.h>
+#include <stdlib.h>
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 <netdb.h>
#include <sys/types.h>
+#include <string.h>
+#include <stdlib.h>
#ifndef AF_INET
# include <sys/socket.h>
#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 <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <string.h>
int main(int argc, char **argv)
{
@@ -67,6 +71,9 @@ AC_CACHE_CHECK(for standard DES crypt, ac_cv_crypt_des,[
#include <crypt.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+
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 <crypt.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+
int main() {
#if HAVE_CRYPT
char *encrypted = crypt("rasmuslerdorf","_J9..rasm");
@@ -117,6 +127,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <crypt.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+
int main() {
#if HAVE_CRYPT
char salt[15], answer[40];
@@ -152,6 +165,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <crypt.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+
int main() {
#if HAVE_CRYPT
char salt[30], answer[70];
@@ -184,6 +200,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <crypt.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+
int main() {
#if HAVE_CRYPT
char salt[21], answer[21+86];
@@ -215,6 +234,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <crypt.h>
#endif
+#include <stdlib.h>
+#include <string.h>
+
int main() {
#if HAVE_CRYPT
char salt[21], answer[21+43];