This change adds test coverage for the codecvt<char16_t, char8_t, mbstate_t> and codecvt<char32_t, char8_t, mbstate_t> ctype facets added to the C++20 WD by P0482R6. Note that libc++ does not implement these facets despite implementing the remainder of P0482, presumably for ABI reasons.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
- Guard tests for components that libc++ doesn't implement with // UNSUPPORTED: libc++ and an appropriate comment.
- clang-format the things
- utf_sanity_check.pass.cpp is a bit different since it tests both implemented and unimplemented components: I guarded the appropriate sections with !defined(_LIBCPP_VERSION).
Comment Actions
To be clear, I'm trying to move the test suite towards a generic conformance test suite for the Standard, as opposed to a libc++ test suite that happens to be usable by other Standard Libraries. This change highlights that philosophy.
Comment Actions
Excellent. I'll try to contribute more tests in the future.
This was merged as https://github.com/llvm/llvm-project/commit/197f185274567f56c8824a63cb2d8b1a0c76b29a. (I didn't notice until too late that I didn't have the Differential Revision in the commit log, so closing by hand like a barbarian.)