在 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
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
