From 4d0bd0ad1d41df4768c95cedbc45f31d2d99bc52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= Date: Mon, 11 Nov 2024 01:51:13 +0100 Subject: [PATCH] dev-vcs/rcs: "fix" incompatible function pointer assignment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Interestingly, the patch seems to be only needed on clang. It's not so much about casting to function pointer but about adding the correct attribute... Closes: https://bugs.gentoo.org/880907 Signed-off-by: Andreas K. Hüttel --- dev-vcs/rcs/files/rcs-5.10.1-pointerfun.patch | 12 ++++++++++++ dev-vcs/rcs/rcs-5.10.1-r1.ebuild | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 dev-vcs/rcs/files/rcs-5.10.1-pointerfun.patch diff --git a/dev-vcs/rcs/files/rcs-5.10.1-pointerfun.patch b/dev-vcs/rcs/files/rcs-5.10.1-pointerfun.patch new file mode 100644 index 0000000000000..7d6894db2a011 --- /dev/null +++ b/dev-vcs/rcs/files/rcs-5.10.1-pointerfun.patch @@ -0,0 +1,12 @@ +diff '--color=auto' -ruN rcs-5.10.1.orig/src/b-divvy.c rcs-5.10.1/src/b-divvy.c +--- rcs-5.10.1.orig/src/b-divvy.c 2022-01-27 03:13:37.000000000 +0100 ++++ rcs-5.10.1/src/b-divvy.c 2024-11-11 01:25:31.633541338 +0100 +@@ -40,7 +40,7 @@ + struct divvy *divvy = TMALLOC (struct divvy); + + divvy->name = name; +- obstack_alloc_failed_handler = xalloc_die; ++ obstack_alloc_failed_handler = (__attribute_noreturn__ void (*)(void))xalloc_die; + obstack_init (&divvy->space); + + /* Set alignment to avoid segfault (on some hosts). diff --git a/dev-vcs/rcs/rcs-5.10.1-r1.ebuild b/dev-vcs/rcs/rcs-5.10.1-r1.ebuild index fe2b78e27c2de..ef13e0a3dd382 100644 --- a/dev-vcs/rcs/rcs-5.10.1-r1.ebuild +++ b/dev-vcs/rcs/rcs-5.10.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,6 +21,7 @@ BDEPEND="$(unpacker_src_uri_depends)" PATCHES=( "${FILESDIR}"/${PN}-5.10.1-configure-clang16.patch + "${FILESDIR}"/${PN}-5.10.1-pointerfun.patch ) src_prepare() {