git: 6677621bad00 - main - cdefs.h: Fallback to printf0 for __printf0like
Date: Sat, 06 Jul 2024 19:44:44 UTC
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6677621bad00191dfec1b0a20ae1618b92745d9b commit 6677621bad00191dfec1b0a20ae1618b92745d9b Author: Warner Losh <imp@FreeBSD.org> AuthorDate: 2024-07-06 19:42:37 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-07-06 19:45:03 +0000 cdefs.h: Fallback to printf0 for __printf0like For some reason, my tests were fine with this like it was, but CI for gcc12 and gcc13 is complaining. Revert to the old form until that can be worked out why the mismatch. Fixes: 0b82dac337e7 Sponsored by: Netflix --- sys/sys/cdefs.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 6b861b1903f6..a56839d57c7a 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -356,9 +356,12 @@ * Clang has always had printf and printf0 as aliases. gcc 11.0 now follows * clang. So now this is an alias for __printflike, or nothing. In the future * _Nullable or _Nonnull will replace this. + * XXX Except that doesn't work, so for now revert to printf0 for clang and + * the FreeBSD gcc until I can work this out. */ -#if defined(__clang__) || __GNUC_PREREQ__(11, 0) -#define __printf0like(fmtarg, firstvararg) __printflike(fmtarg, firstvararg) +#if defined(__clang__) || (defined(__GNUC__) && defined (__FreeBSD_cc_version)) +#define __printf0like(fmtarg, firstvararg) \ + __attribute__((__format__ (__printf0__, fmtarg, firstvararg))) #else #define __printf0like(fmtarg, firstvararg) #endif