You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch

100 lines
3.2 KiB

https://github.com/fvwmorg/fvwm/pull/100
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
--- a/acinclude.m4
+++ b/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
--- a/configure.ac
+++ b/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
--- a/acinclude.m4
+++ b/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
--- a/configure.ac
+++ b/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