Hi, All macOS SDK since at least macOS 10.9, and until macOS 10.12 (included), feature these lines in <stdio.h>:
/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see: * __gnuc_va_list and include <stdarg.h> */ The clear intent (and effect) was to bypass gcc’s stdio_stdarg_h fixinclude. However, since macOS 10.13, these lines have been moved to <_stdio.h>, which is itself included at the top of <stdio.h>. The unintended consequence is that the stdio_stdarg_h fixinclude is now applied to macOS <stdio.h>, where it is not needed. This useless fixinclude makes the compiler more fragile and less portable. A previous attempt to skip the stdio_stdarg_h fix entirely had to be reverted, since it broken some very old macOS versions. The new fix is to bypass the fix based on the detection of <_stdio.h> inclusion, which is more robust. Tested on aarch64-apple-darwin25 (beta). OK to push? FX
0001-fixincludes-skip-stdio_stdarg_h-on-modern-darwin.patch
Description: Binary data