From cf003b3ac27d0091eb3f97eae1ab9dc56904251b Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sun, 24 Sep 2023 16:32:32 +0300 Subject: [PATCH] sysdefs.h: Update the comment about __USE_MINGW_ANSI_STDIO. (cherry picked from commit 4ae13cfe0dedb8ddc3cf9ded8cd1ac09361b3bd1) --- src/common/sysdefs.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/common/sysdefs.h b/src/common/sysdefs.h index df7ecf40..7f98c55b 100644 --- a/src/common/sysdefs.h +++ b/src/common/sysdefs.h @@ -24,7 +24,15 @@ # include #endif -// Get standard-compliant stdio functions under MinGW and MinGW-w64. +// This #define ensures that C99 and POSIX compliant stdio functions are +// available with MinGW-w64 (both 32-bit and 64-bit). Modern MinGW-w64 adds +// this automatically, for example, when the compiler is in C99 (or later) +// mode when building against msvcrt.dll. It still doesn't hurt to be explicit +// that we always want this and #define this unconditionally. +// +// With Universal CRT (UCRT) this is less important because UCRT contains +// C99-compatible stdio functions. It's still nice to #define this as UCRT +// doesn't support the POSIX thousand separator flag in printf (like "%'u"). #ifdef __MINGW32__ # define __USE_MINGW_ANSI_STDIO 1 #endif