diff options
author | Sam James <sam@gentoo.org> | 2024-11-17 01:38:05 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-11-17 01:38:48 +0000 |
commit | 71370c7a650eedcfba1d18678f00e062d6f78971 (patch) | |
tree | ec290965f62d53ed499c0bff9c17dcd14b38bb19 /dev-util | |
parent | package.mask: Mask app-emulation/spim for removal (diff) | |
download | gentoo-71370c7a650eedcfba1d18678f00e062d6f78971.tar.gz gentoo-71370c7a650eedcfba1d18678f00e062d6f78971.tar.bz2 gentoo-71370c7a650eedcfba1d18678f00e062d6f78971.zip |
dev-util/unifdef: fix C23 compat
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/unifdef/files/unifdef-2.12-c23.patch | 51 | ||||
-rw-r--r-- | 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 ) |