Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8369: Do not compile even trivial UTF16 and UTF32 tests with libc++
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-04-02 19:57:38
#8369: Do not compile even trivial UTF16 and UTF32 tests with libc++
---------------------------+------------------------------------------------
Reporter: apolukhin | Owner: apolukhin
Type: Tasks | Status: new
Milestone: Boost 1.54.0 | Component: lexical_cast
Version: Boost 1.52.0 | Severity: Cosmetic
Resolution: | Keywords: char16_t char32_t unicode utf16 utf32 libc++ clang
---------------------------+------------------------------------------------
Comment (by apolukhin):
Replying to [comment:1 marshall]:
> Additional information:
>
> The C++ standard (I looked at n3216) specifies (in 22.3.1.1.1) that
`numpunct<char>` and `numpunct<wchar_t>` are required, and does not
mention `numpunct<char16_t>` or `numpunct<char32_t>` at all.
Yes, they are not required, which makes a lot of troubles when
`std::basic_istream` and `std::basic_ostream` classes are used with those
character types as template parameters (users miss this functionality, see
[http://stackoverflow.com/questions/13534639/xcode-4-5-2-libc-stdbad-cast-
when-implementing-custom-stringstream 1],
[http://stackoverflow.com/questions/12229900/what-to-replace-
stdstringstream-and-boostformat-with-for-stdu16string 2]).
> gcc (I checked version 4.8) provides a completely templated
implementation of `std::numpunct`, so it supports specializing on any
character type. libc++ provides two implementations: one for `char` and
the other for `wchar_t`.
GCC-4.7 was also providing a fully templated version. Unfortunately, some
support from glibc was required, so usage of std::numpunct<char16_t> was
leading to segmentation faults (though have not checked it for a year, may
be things changed).
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8369#comment:3> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:12 UTC