vangyzen added inline comments.
================ Comment at: projects/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp:42 + assert(std::setlocale(LC_NUMERIC, LOCALE_en_US_UTF_8) != NULL); + char *expected = strdup(std::localeconv()->grouping); + assert(std::setlocale(LC_NUMERIC, "C") != NULL); ---------------- localeconv()->grouping can become invalid after we reset the locale to "C", so duplicate the string into a local. ================ Comment at: projects/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp:79 const std::numpunct<C>& np = std::use_facet<std::numpunct<C> >(l); - assert(np.thousands_sep() == L','); + assert(np.thousands_sep() == wexpected); } ---------------- This assertion now fails for me. wexpected is 0xa0 (NBSP), which is correct. However, np.thousands_sep() is -62, which is 0xc2, which is the first byte of a UTF-8-encoded NBSP. It looks like the library isn't correctly handling multibyte thousands separators. https://reviews.llvm.org/D26979 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits