diff options
Diffstat (limited to 'x11-wm/fvwm/files/fvwm-2.7.0-c99.patch')
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.7.0-c99.patch | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch b/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch new file mode 100644 index 0000000..7bc137d --- /dev/null +++ b/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch @@ -0,0 +1,99 @@ +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 + |