在 2026-1-26 20:20, Kirill Makurin 写道:
LIU Hao wrote:
在 2026-1-26 07:16, Pali Rohár 写道:
C++ header files are trying to put quick_exit and at_quick_exit functions
into :: or std:: namespace. If those functions are not declared then
compilation is failing with error:
error: 'at_quick_exit' has not been declared in '::'
And it does not matter if those functions are used or not.
---
  mingw-w64-headers/crt/stdlib.h | 4 ----
  1 file changed, 4 deletions(-)

Do such headers exist in the wild? Both libstdc++ and libc++ declare them 
conditionally.

This is probably resulted from the fact that we were using libstdc++ headers configured 
for UCRT when we run tests for msvcrt{20,40}.dll, note condition "matrix.crt == 
ucrt":

That's unsupported, even more unsupported than using MSVCRT headers but linking against a non-default CRT DLL.


maybe using "matrix.crt == msvcrt" instead would solve this issue? This also 
means that we are linking static libstdc++ configured for UCRT when running tests for 
msvcrt{20,40}.dll, which may result in more issues in future.

You can try that; but if libstdc++ tests can never pass with such old DLLs, we cannot have such setups on the CI.


Pali picked this commit from branch where we were running CI tests. There were 
link issues with undefined reference to __ms_vsnprintf and it seemed to do with 
link order. I initially pushed that commit just to see if it'll fix the issue.

So what should I do? Drop it?



--
Best regards,
LIU Hao

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to