CI failure on macOS
Bruno Haible via Bug reports for the GNU m4 macro processor <[email protected]> Thu, 25 Jun 2026 20:44:17 +0200
| Newsgroups | gmane.comp.gnu.m4.bugs |
|---|---|
| Message-ID | <5111453.31r3eYUQgx@cagnes> |
This is a multi-part message in MIME format.
--nextPart4744713.LvFx2qVVIh
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"
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.
--nextPart4744713.LvFx2qVVIh
Content-Disposition: attachment;
filename="0001-m4-fix-compilation-error-on-macOS-regression-2026-06.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8";
name="0001-m4-fix-compilation-error-on-macOS-regression-2026-06.patch"
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
--nextPart4744713.LvFx2qVVIh--