commit:     4d0bd0ad1d41df4768c95cedbc45f31d2d99bc52
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 00:51:13 2024 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 00:56:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d0bd0ad

dev-vcs/rcs: "fix" incompatible function pointer assignment

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 <dilfridge <AT> gentoo.org>

 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(-)

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 000000000000..7d6894db2a01
--- /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 fe2b78e27c2d..ef13e0a3dd38 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() {

Reply via email to