On Wed, 5 Feb 2025, LIU Hao wrote:

在 2025-02-05 20:47, Martin Storsjö 写道:
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(-)


This patch looks good to me.

Thanks, pushed!

// Martin

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to