After the newest changes, the CI fails on macOS 15 and 26. Namely, there is a
compilation error.
On macOS 26:
depbase=`echo builtin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -I../../lib -I../lib -Wall -g -O2 -MT builtin.o -MD -MP -MF
$depbase.Tpo -c -o builtin.o ../../src/builtin.c &&\
mv -f $depbase.Tpo $depbase.Po
../../src/builtin.c:1165:7: error: operand argument to checked integer
operation must be an integer type other than plain 'char', 'bool', bit-precise,
or an enumeration ('bool' invalid)
1165 | if (ckd_add (&alloc, MAX (digits, min), negative))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode_26.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/21/include/stdckdint.h:37:54:
note: expanded from macro 'ckd_add'
37 | #define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R))
| ^~~
1 error generated.
make[2]: *** [builtin.o] Error 1
Similarly on macOS 15.
Apparently the problem is that 'negative' is of type 'bool'.
The attached proposed patch fixes it.
>From c601cf6423e91401adef57fbe8a70df7eff89312 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email protected]>
Date: Thu, 25 Jun 2026 20:41:43 +0200
Subject: [PATCH] m4: fix compilation error on macOS (regression 2026-06-24)
* src/builtin.c (m4_eval): Convert third argument of ckd_add to int.
---
src/builtin.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/builtin.c b/src/builtin.c
index c3d5413f..b9aa3efa 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -1162,7 +1162,7 @@ m4_eval (struct obstack *obs, int argc, token_data **argv)
}
size_t alloc;
- if (ckd_add (&alloc, MAX (digits, min), negative))
+ if (ckd_add (&alloc, MAX (digits, min), +negative))
xalloc_die ();
obstack_blank (obs, alloc);
--
2.53.0