[libcxx-commits] [PATCH] D118191: [libcxx] [test] Fix testcases that fail on systems with 16 bit wchar_t

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jan 25 14:04:38 PST 2022


mstorsjo created this revision.
mstorsjo added a reviewer: ldionne.
mstorsjo requested review of this revision.
Herald added a project: libc++.
Herald added a reviewer: libc++.

Don't decode a UTF-8 character that is out of range for a 16 bit
`wchar_t`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D118191

Files:
  libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp


Index: libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
===================================================================
--- libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
+++ libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
@@ -6,9 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// 'do_bytes' throws a std::range_error unexpectedly
-// XFAIL: LIBCXX-WINDOWS-FIXME, powerpc-ibm-aix
-
 // XFAIL: libcpp-has-no-wide-characters
 
 // UNSUPPORTED: c++03
@@ -32,9 +29,9 @@
     // create a converter and perform some conversions to generate some
     // interesting state.
     Myconv myconv;
-    myconv.from_bytes("\xF1\x80\x80\x83");
+    myconv.from_bytes("\xEF\xBF\xBD");
     const auto old_converted = myconv.converted();
-    assert(myconv.converted() == 4);
+    assert(myconv.converted() == 3);
     // move construct a new converter and make sure the state is the same.
     Myconv myconv2(std::move(myconv));
     assert(myconv2.converted() == old_converted);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118191.403034.patch
Type: text/x-patch
Size: 1202 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220125/e6fe8759/attachment-0001.bin>


More information about the libcxx-commits mailing list