[libcxx-commits] [PATCH] D60951: [libc++][test] Add test coverage for codecvt<char(16|32)_t, char8_t, mbstate_t>

Casey Carter via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Apr 21 10:56:58 PDT 2019


CaseyCarter created this revision.
CaseyCarter added reviewers: ldionne, mclow.lists, EricWF.
Herald added a subscriber: dexonsmith.

**DO NOT MERGE**

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 P0482R5. Note that libc++ does not implement these facets despite implementing the remainder of P0482, presumably for ABI reasons, so these tests will fail as-is - hence the warning to not yet merge. I'd like to merge them anyway to (a) reduce divergence between the MSVC fork and upstream, and (b) make them available for use if and when someone implements these facets for libc++. (I'd be happy to contribute our implementation of the facets, but I'd need direction on how to integrate them into your locale machinery - which I haven't so much as looked at - and to hide them behind `_LIBCXX_ABI_SOMETHING`.)

If you don't reject this change outright, I need direction on how to best disable the tests for features that libc++ doesn't yet implement.


Repository:
  rCXX libc++

https://reviews.llvm.org/D60951

Files:
  test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t_char8_t.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t_char8_t.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_always_noconv.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_encoding.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_length.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_max_length.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_unshift.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_always_noconv.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_encoding.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_length.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_max_length.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_unshift.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t_char8_t.pass.cpp
  test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t_char8_t.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60951.196010.patch
Type: text/x-patch
Size: 33793 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190421/cd7c3232/attachment-0001.bin>


More information about the libcxx-commits mailing list