The previous name, __PASTE, conflicts with the NSS library, which contains a header that also uses this name. The NSS header first defines __PASTE to an expansion similar to ours, but then later undefines __PASTE again, which breaks any further mingw header.
This fixes building NSS after mingw-w64 commit 8f441a62f1b474a29d61571d0da806193ce7ca1c. Technically, the issue lies with NSS - the namespace of identifiers starting with two underscores is reserved for the toolchain, where user code shouldn't be using it. However, to pragmatically avoid breaking existing code, use a more unique name for the define in our headers. Signed-off-by: Martin Storsjö <mar...@martin.st> --- See e.g. [1] for the case where NSS headers use the same name. [1] https://github.com/servo/nss/blob/3d07e85a597ce9c5c1ec80f85983efcb26aa58e1/lib/util/pkcs11.h#L181-L248 --- mingw-w64-headers/crt/_mingw_mac.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-headers/crt/_mingw_mac.h b/mingw-w64-headers/crt/_mingw_mac.h index 7ceabe747..f69bbec5d 100644 --- a/mingw-w64-headers/crt/_mingw_mac.h +++ b/mingw-w64-headers/crt/_mingw_mac.h @@ -7,8 +7,8 @@ #ifndef _INC_CRTDEFS_MACRO #define _INC_CRTDEFS_MACRO -#define __PASTE(x, y) x ## y -#define __MINGW64_PASTE(x, y) __PASTE(x, y) +#define __MINGW64_PASTE2(x, y) x ## y +#define __MINGW64_PASTE(x, y) __MINGW64_PASTE2(x, y) #define __STRINGIFY(x) #x #define __MINGW64_STRINGIFY(x) \ -- 2.43.0 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public