From 8450156e98ee49484f3fadad791d5684f9576f8b Mon Sep 17 00:00:00 2001 From: eunhhu Date: Thu, 1 Oct 2026 18:19:14 +0100 Subject: Build with clang, and the core and store on macOS, again Apple clang 21 (an M3) and clang 19 refused what gcc let pass (research 029): - PURE_FIELD_REST was an enum of UINT32_MAX, past an int (C17): a macro. - a store's publish copied an entry rebuild left unset when the record was not found (the copy was never used): copied when it was made. - the log's image writer kept a count only Linux's sync_file_range uses. - ",{" + (row == from) read as adding an int to a string: said plainly. - the tests: mkdtemp, hidden by _POSIX_C_SOURCE on macOS, needs _DARWIN_C_SOURCE; a string split so that \x80 and a stay apart is bracketed; a count left over and a malloc measure only glibc has. The core's and the store's tests pass on the Mac. --- store/test-log.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'store/test-log.c') diff --git a/store/test-log.c b/store/test-log.c index 451f354..6e81c4c 100644 --- a/store/test-log.c +++ b/store/test-log.c @@ -5,6 +5,9 @@ * model kept, and its files stay as many as the unreleased entries need. * Then list images: written whole, read back, refused when damaged. */ #define _POSIX_C_SOURCE 200809L +#ifdef __APPLE__ +#define _DARWIN_C_SOURCE /* mkdtemp, which _POSIX_C_SOURCE hides there */ +#endif #include "log.h" #include "store.h" #include -- cgit v1.2.3