* src/c++11/codecvt.cc (range): Add non-type template parameter and define oerloaded operators for reading and writing code units. (range<Elem, false>): Define partial specialization for accessing wide characters in potentially unaligned byte ranges. (ucs2_span(const char16_t*, const char16_t*, ...)) (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters to range<const char16_t, false> in order to avoid unaligned reads. (__codecvt_utf16_base<char16_t>::do_out) (__codecvt_utf16_base<char32_t>::do_out) (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for unaligned data to avoid unaligned writes. (__codecvt_utf16_base<char16_t>::do_in) (__codecvt_utf16_base<char32_t>::do_in) (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return error if there are unprocessable trailing bytes. (__codecvt_utf16_base<char16_t>::do_length) (__codecvt_utf16_base<char32_t>::do_length) (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type range<const char16_t, false> to span functions. * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. From-SVN: r246245
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... | |
chrono.cc | Loading commit data... | |
codecvt.cc | Loading commit data... | |
compatibility-atomic-c++0x.cc | Loading commit data... | |
compatibility-c++0x.cc | Loading commit data... | |
compatibility-chrono.cc | Loading commit data... | |
compatibility-condvar.cc | Loading commit data... | |
compatibility-thread-c++0x.cc | Loading commit data... | |
condition_variable.cc | Loading commit data... | |
cow-fstream-inst.cc | Loading commit data... | |
cow-locale_init.cc | Loading commit data... | |
cow-shim_facets.cc | Loading commit data... | |
cow-sstream-inst.cc | Loading commit data... | |
cow-stdexcept.cc | Loading commit data... | |
cow-string-inst.cc | Loading commit data... | |
cow-string-io-inst.cc | Loading commit data... | |
cow-wstring-inst.cc | Loading commit data... | |
cow-wstring-io-inst.cc | Loading commit data... | |
ctype.cc | Loading commit data... | |
cxx11-hash_tr1.cc | Loading commit data... | |
cxx11-ios_failure.cc | Loading commit data... | |
cxx11-locale-inst.cc | Loading commit data... | |
cxx11-shim_facets.cc | Loading commit data... | |
cxx11-stdexcept.cc | Loading commit data... | |
cxx11-wlocale-inst.cc | Loading commit data... | |
debug.cc | Loading commit data... | |
ext11-inst.cc | Loading commit data... | |
fstream-inst.cc | Loading commit data... | |
functexcept.cc | Loading commit data... | |
functional.cc | Loading commit data... | |
futex.cc | Loading commit data... | |
future.cc | Loading commit data... | |
hash_c++0x.cc | Loading commit data... | |
hashtable_c++0x.cc | Loading commit data... | |
ios-inst.cc | Loading commit data... | |
ios.cc | Loading commit data... | |
iostream-inst.cc | Loading commit data... | |
istream-inst.cc | Loading commit data... | |
limits.cc | Loading commit data... | |
locale-inst.cc | Loading commit data... | |
mutex.cc | Loading commit data... | |
mutex_pool.h | Loading commit data... | |
ostream-inst.cc | Loading commit data... | |
placeholders.cc | Loading commit data... | |
random.cc | Loading commit data... | |
regex.cc | Loading commit data... | |
shared_ptr.cc | Loading commit data... | |
snprintf_lite.cc | Loading commit data... | |
sso_string.cc | Loading commit data... | |
sstream-inst.cc | Loading commit data... | |
streambuf-inst.cc | Loading commit data... | |
string-inst.cc | Loading commit data... | |
string-io-inst.cc | Loading commit data... | |
system_error.cc | Loading commit data... | |
thread.cc | Loading commit data... | |
wlocale-inst.cc | Loading commit data... | |
wstring-inst.cc | Loading commit data... | |
wstring-io-inst.cc | Loading commit data... |