[libcxx-commits] [libcxx] [libcxx] Handle windows system error code mapping in std::error_code. (PR #93101)

James Y Knight via libcxx-commits libcxx-commits at lists.llvm.org
Fri Sep 13 16:19:11 PDT 2024


jyknight wrote:

Hm. There's a new failure now...it looks like in the "generic-modules" builder, only, clang fails to emit the function definition for `template <class _Ep, __enable_if_t<is_error_condition_enum<_Ep>::value, int> = 0>  _LIBCPP_HIDE_FROM_ABI error_condition(_Ep __e) _NOEXCEPT`, even though it's required by `__is_dne_error` (or, maybe emits it under a different mangling?). Not sure why this would happen -- anyone else know what might cause this error?

```
# | /usr/bin/ld: crash_diagnostics/status-57a326.o: in function `std::__1::__fs::filesystem::directory_entry::__is_dne_error[abi:ne200000](std::__1::error_code const&)':
# | status.pass.cpp:(.text._ZNSt3__14__fs10filesystem15directory_entry14__is_dne_errorB8ne200000ERKNS_10error_codeE[_ZNSt3__14__fs10filesystem15directory_entry14__is_dne_errorB8ne200000ERKNS_10error_codeE]+0x35): undefined reference to `_ZNSt3__115error_conditionC1B8ne200000INS_4errcETnNS_9enable_ifIXsr23is_error_condition_enumIT_EE5valueEiE4typeELi0EEES4_'
# | /usr/bin/ld: status.pass.cpp:(.text._ZNSt3__14__fs10filesystem15directory_entry14__is_dne_errorB8ne200000ERKNS_10error_codeE[_ZNSt3__14__fs10filesystem15directory_entry14__is_dne_errorB8ne200000ERKNS_10error_codeE]+0x64): undefined reference to `_ZNSt3__115error_conditionC1B8ne200000INS_4errcETnNS_9enable_ifIXsr23is_error_condition_enumIT_EE5valueEiE4typeELi0EEES4_'
# | /usr/bin/ld: /home/runner/_work/llvm-project/llvm-project/build/generic-modules/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/Output/status.pass.cpp.dir/t.tmp.exe: hidden symbol `_ZNSt3__115error_conditionC1B8ne200000INS_4errcETnNS_9enable_ifIXsr23is_error_condition_enumIT_EE5valueEiE4typeELi0EEES4_' isn't defined
# | /usr/bin/ld: final link failed: bad value
# | clang++-19: error: linker command failed with exit code 1 (use -v to see invocation)
```

https://github.com/llvm/llvm-project/pull/93101


More information about the libcxx-commits mailing list