We don't support Clang 13 anymore and _LIBCPP_REMOVE_TRANSITIVE_INCLUDES doesn't do anything anymore in C++23 mode, so it's now just a duplicate of the C++23 configuration.
Thanks for working on this!
I would prefer to only mention releases here. Having Clang 16 may lead to confusion since it's not released yet.
This part has already landed.
I didn't remove this part, and I would prefer it in a separate commit; which can be this commit.
I was actually always confused by the latest two stable releases. The released versions also only claim support for the last two versions, i.e. libc++14 claims compatibility with clang 12 and 13, but not 14 (see https://releases.llvm.org/14.0.0/projects/libcxx/docs/index.html), which I find very confusing. The new wording makes the situation clear.
I'll split it if we want to reword the supported compilers.
I see what you mean. However I think this wording doesn't work. When LLVM 16 will be released and current trunk would refer to LLVM 17. So that means LLVM 16 supports 14, 15, and 17. Still not 16. Maybe then we should list it like suggested.
Then we need to make sure we update this just prior to a release. How about adding a pre-release checklist here https://libcxx.llvm.org/Contributing.html?