[libcxx-commits] [libcxx] Simplify the __assertion_handler build logic. Be friendly to IDEs. (PR #93333)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Fri May 24 13:54:59 PDT 2024
ldionne wrote:
I think we are coming from fundamentally different angles here. I think this nicely captures where I disagree:
> Decoupled the validity of the in-tree headers from the build system.
Our headers are fundamentally coupled to the build system because of things like `__config_site`. I think we're making everyone a disservice if we pretend that `libcxx/include` can be used for anything but generating an actual `<install>/include` directory. IMO it is better to instead have a clear cut between `libcxx/include` and `<install>/include` which doesn't cause confusion because of subtle differences. For example, I find it very surprising that if you pass ` -D LIBCXX_ASSERTION_HANDLER_FILE =/path/to/foo`, `<INSTALL_DIR>/include/c++/v1/__assertion_handler` would contain the contents of `/path/to/foo`, yet `libcxx/include` would still contain the default implementation. Instead, not having a header in `libcxx/include` at all seems to more clearly capture the subtlety that's going on under the hood.
https://github.com/llvm/llvm-project/pull/93333
More information about the libcxx-commits
mailing list