[libcxx-commits] [libcxx] [libcxx] adds opt out mechanism for using __wrap_iter for array and s… (PR #84226)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 6 15:25:03 PST 2024


ldionne wrote:

> > at that point it's just as good as setting something in the `__config_site`.
> 
> It seems I misread this as `__config`, and thus unintentionally reframed the conversation. I'm not familiar with how to interact with `__config_site`: would it be possible to get some pointers on what one should do to customise this file please?

It is possible to set arbitrary ABI defines via `LIBCXX_ABI_DEFINES` here: https://github.com/llvm/llvm-project/blob/main/libcxx/CMakeLists.txt#L225

Those end up in the `__config_site` generated via this mechanism: https://github.com/llvm/llvm-project/blob/main/libcxx/include/__config_site.in#L48

So the canonical way of cherry-picking ABI flags to enable via e.g. a CMake cache is to set `LIBCXX_ABI_DEFINES` as desired and let the `__config_site` pick them up, without setting `LIBCXX_ABI_VERSION=2`. Setting `LIBCXX_ABI_VERSION=2` is basically a way to say "I want to get all the ABI flags whatever they are and I am ready to live on the edge", which is presumably not what most people want.

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


More information about the libcxx-commits mailing list