[libcxx-commits] [libcxx] [libc++] Do not define std::nothrow with VCRuntime ABI (PR #217694)
A. Jiang via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Aug 21 04:41:21 PDT 2026
frederick-vs-ja wrote:
> LLVM clang-cl CI lanes explicitely put` libc++.lib` on the link via [-llibc++](https://github.com/llvm/llvm-project/blob/8d9145680dbc6e56c801d324745043b098741f8d/libcxx/test/configs/llvm-libc%2B%2B-static-clangcl.cfg.in#L22-L24).
Oh, I see! Thanks for explanation.
> What happens is that with manual libc++ link flags, `std::nothrow` is extracted from `libc++.lib(new_helpers.obj)` and later`std::__throw_bad_alloc` is resolved from there as well, leading to `msvcrt.lib(std_nothrow.obj)` not participating even if it contains the `std::nothrow` as well.
However, should we treat using such "manual libc++ link flags" as a correct building way? Is this way documented as valid?
Should we do the other way around? I.e. documenting this as unsupported.
https://github.com/llvm/llvm-project/pull/217694
More information about the libcxx-commits
mailing list