[libcxx-commits] [libcxx] [libc++][NFC] Refactor _LIBCPP_AVAILABILITY_HAS_* macros to always be defined (PR #71002)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 29 05:28:03 PST 2024


wang-bin wrote:

It's not about back-porting, it's an abi break in libc++18. when building user code with libc++17, `_LIBCPP_ABI_ENABLE_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1` is not defined unless targeting `_LIBCPP_ABI_VERSION >= 2`, but libc++18 doesn't check `_LIBCPP_ABI_VERSION`, and there is no way to disable `extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ifstream<char>`.  The break comes from https://reviews.llvm.org/D154796

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


More information about the libcxx-commits mailing list