[libcxx-commits] [libcxx] [libc++] Split up ABI and platform configuration to their own headers (PR #90863)

via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 2 15:04:51 PDT 2024


EricWF wrote:

I would really really really like to keep config as a single file.

I find tracing context across multiple split files to be harder than doing it across a single file.

It's certainly true that `__config` is a monolith, and it is a bit hairy. 
I think this new approach adds more complexity than it addresses. In particular I'm concerned about how this may affect modules. Additionally, `__config` has restrictions on what it can do (it can't include other headers*, it can't depend on other internals, etc).  I'm concerned it'll be harder to treat a group of headers with the same care and concern that `__config` currently gets.

Most of the current issues could be addressed by using `#else` and `#endif` comments, and adding comment banners to separate logical sections.

I think the issues with `_LIBCPP_ABI_ALTERNATIVE_LAYOUT` was that it was defined in the wrong part of the file entirely, as we have normally configured the ABI. It should have also been tested better?

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


More information about the libcxx-commits mailing list