public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-util/unifdef/files/, dev-util/unifdef/
@ 2024-11-17  1:39 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-11-17  1:39 UTC (permalink / raw
  To: gentoo-commits

commit:     71370c7a650eedcfba1d18678f00e062d6f78971
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 01:38:05 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 17 01:38:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71370c7a

dev-util/unifdef: fix C23 compat

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/unifdef/files/unifdef-2.12-c23.patch | 51 +++++++++++++++++++++++++++
 dev-util/unifdef/unifdef-2.12-r1.ebuild       |  7 ++--
 2 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/dev-util/unifdef/files/unifdef-2.12-c23.patch b/dev-util/unifdef/files/unifdef-2.12-c23.patch
new file mode 100644
index 000000000000..f95ecd38e5c0
--- /dev/null
+++ b/dev-util/unifdef/files/unifdef-2.12-c23.patch
@@ -0,0 +1,51 @@
+https://github.com/fanf2/unifdef/pull/19
+
+From d616741e6b0d5b57b66447e85ad32b283b28adde Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Nov 2024 01:26:27 +0000
+Subject: [PATCH] Don't use C23 constexpr keyword
+
+This fixes building with upcoming GCC 15 which defaults to -std=gnu23.
+--- a/unifdef.c
++++ b/unifdef.c
+@@ -202,7 +202,7 @@ static int              depth;			/* current #if nesting */
+ static int              delcount;		/* count of deleted lines */
+ static unsigned         blankcount;		/* count of blank lines */
+ static unsigned         blankmax;		/* maximum recent blankcount */
+-static bool             constexpr;		/* constant #if expression */
++static bool             is_constexpr;		/* constant #if expression */
+ static bool             zerosyms;		/* to format symdepth output */
+ static bool             firstsym;		/* ditto */
+ 
+@@ -1086,7 +1086,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp)
+ 			*valp = (value[sym] != NULL);
+ 			lt = *valp ? LT_TRUE : LT_FALSE;
+ 		}
+-		constexpr = false;
++		is_constexpr = false;
+ 	} else if (!endsym(*cp)) {
+ 		debug("eval%d symbol", prec(ops));
+ 		sym = findsym(&cp);
+@@ -1103,7 +1103,7 @@ eval_unary(const struct ops *ops, long *valp, const char **cpp)
+ 			lt = *valp ? LT_TRUE : LT_FALSE;
+ 			cp = skipargs(cp);
+ 		}
+-		constexpr = false;
++		is_constexpr = false;
+ 	} else {
+ 		debug("eval%d bad expr", prec(ops));
+ 		return (LT_ERROR);
+@@ -1170,10 +1170,10 @@ ifeval(const char **cpp)
+ 	long val = 0;
+ 
+ 	debug("eval %s", *cpp);
+-	constexpr = killconsts ? false : true;
++	is_constexpr = killconsts ? false : true;
+ 	ret = eval_table(eval_ops, &val, cpp);
+ 	debug("eval = %d", val);
+-	return (constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret);
++	return (is_constexpr ? LT_IF : ret == LT_ERROR ? LT_IF : ret);
+ }
+ 
+ /*
+

diff --git a/dev-util/unifdef/unifdef-2.12-r1.ebuild b/dev-util/unifdef/unifdef-2.12-r1.ebuild
index 732ab1e3c37a..a65c8b893bcc 100644
--- a/dev-util/unifdef/unifdef-2.12-r1.ebuild
+++ b/dev-util/unifdef/unifdef-2.12-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
@@ -13,7 +13,10 @@ LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
 
-PATCHES=( "${FILESDIR}"/${P}-tests.patch )
+PATCHES=(
+	"${FILESDIR}"/${P}-tests.patch
+	"${FILESDIR}"/${P}-c23.patch
+)
 
 DOCS=( README )
 


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-11-17  1:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-17  1:39 [gentoo-commits] repo/gentoo:master commit in: dev-util/unifdef/files/, dev-util/unifdef/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox