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

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 29 02:47:10 PST 2024


philnik777 wrote:

> how to disable `_LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1`? I use the latest llvm toolchain on ubuntu to cross build linux programs, and expect they can run on OSes with old system libc++ version. in llvm-17 the produced binaries are compatible with old libc++ because `_LIBCPP_ABI_ENABLE_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1` is not defined by default, but in llvm-18 `_LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1` is always 1 and breaks abi

AFAIK Ubuntu doesn't support back-porting. This has to be managed by the library vendor.

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


More information about the libcxx-commits mailing list