98 lines
3.2 KiB
Diff
98 lines
3.2 KiB
Diff
|
From 0b4daddf6b88b696daf54714448b8d89a615abf2 Mon Sep 17 00:00:00 2001
|
||
|
From: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Thu, 24 Nov 2022 13:06:50 +0100
|
||
|
Subject: [PATCH 1/3] configure: Do not require support for implicit ints
|
||
|
|
||
|
Implicit ints have not been part of C since 1999, and future
|
||
|
compilers will disable support for them by default. Fortunatenly,
|
||
|
only one configure check needs adjusting.
|
||
|
---
|
||
|
acinclude.m4 | 2 +-
|
||
|
configure.ac | 2 +-
|
||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/acinclude.m4 b/acinclude.m4
|
||
|
index 8b74ff1e5..b66042f9f 100644
|
||
|
--- acinclude.m4
|
||
|
+++ acinclude.m4
|
||
|
@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
|
||
|
#ifdef HAVE_SYS_SOCKET_H
|
||
|
#include <sys/socket.h>
|
||
|
#endif],
|
||
|
-[extern select ($ac_cv_type_fd_set_size_t,
|
||
|
+[extern int select ($ac_cv_type_fd_set_size_t,
|
||
|
$ac_cv_type_fd_set *, $ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
|
||
|
$ac_type_timeval *);],
|
||
|
[ac_found=yes ; break 3],ac_found=no)
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index 97ab9e7a1..c9fcede6a 100644
|
||
|
--- configure.ac
|
||
|
+++ configure.ac
|
||
|
@@ -220,7 +220,7 @@ AC_MINIX
|
||
|
|
||
|
# catch -Werror and similar options when running configure
|
||
|
AC_TRY_COMPILE([#include <stdio.h>],
|
||
|
-[int i; static j; int *p; char *c;
|
||
|
+[int i; int *p; char *c;
|
||
|
switch (*p = p = *c) { case 0: printf("%Q", c, p); }
|
||
|
*c = &i; c = p;
|
||
|
while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
|
||
|
|
||
|
From 6b9d100ae4e784821b5189474dc58e646417bcf6 Mon Sep 17 00:00:00 2001
|
||
|
From: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Thu, 24 Nov 2022 13:07:56 +0100
|
||
|
Subject: [PATCH 2/3] acinclude.m4: Add missing <unistd.h> to
|
||
|
AM_SAFETY_CHECK_MKSTEMP
|
||
|
|
||
|
Otherwise, the check fails on a compiler which does not support
|
||
|
implicit function declarations (a language feature removed in 1999).
|
||
|
---
|
||
|
acinclude.m4 | 3 +++
|
||
|
1 file changed, 3 insertions(+)
|
||
|
|
||
|
diff --git a/acinclude.m4 b/acinclude.m4
|
||
|
index b66042f9f..4dee2abeb 100644
|
||
|
--- acinclude.m4
|
||
|
+++ acinclude.m4
|
||
|
@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
+#ifdef HAVE_UNISTD_H
|
||
|
+#include <unistd.h>
|
||
|
+#endif
|
||
|
int main(void)
|
||
|
{
|
||
|
char template[128];
|
||
|
|
||
|
From 33537b8ae5a302e4016dc1c6cfe5577fb3fa36c9 Mon Sep 17 00:00:00 2001
|
||
|
From: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Tue, 19 Dec 2023 13:24:50 +0100
|
||
|
Subject: [PATCH 3/3] configure: Further defang the -Werror check
|
||
|
|
||
|
Incompatible pointer types are actually errors (in the sense
|
||
|
that they are invalid C). Compilers have merely tolerated them as
|
||
|
warnings for backwards compatibility. This is changing with Clang 16
|
||
|
and GCC 14, so relax the check a little.
|
||
|
---
|
||
|
configure.ac | 5 ++---
|
||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index c9fcede6a..2e9615b2b 100644
|
||
|
--- configure.ac
|
||
|
+++ configure.ac
|
||
|
@@ -220,9 +220,8 @@ AC_MINIX
|
||
|
|
||
|
# catch -Werror and similar options when running configure
|
||
|
AC_TRY_COMPILE([#include <stdio.h>],
|
||
|
-[int i; int *p; char *c;
|
||
|
- switch (*p = p = *c) { case 0: printf("%Q", c, p); }
|
||
|
- *c = &i; c = p;
|
||
|
+[int unused; int *p; char *c;
|
||
|
+ printf("%Q", c, p);
|
||
|
while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
|
||
|
], , AC_MSG_ERROR("
|
||
|
configure is not able to compile programs with warnings. Please
|
||
|
|