This is the mail archive of the libstdc++-cvs@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r221189 - in /trunk/libstdc++-v3: ChangeLog inc...


Author: redi
Date: Wed Mar  4 17:19:55 2015
New Revision: 221189

URL: https://gcc.gnu.org/viewcvs?rev=221189&root=gcc&view=rev
Log:
	PR libstdc++/64797
	* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
	incomplete multibyte sequences correctly.
	* include/std/codecvt (codecvt_utf8, codecvt_utf16,
	codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
	* src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
	Define constants.
	(is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
	Define convenience functions.
	(read_utf8_code_point): Return relevant constant to distinguish
	incomplete characters from invalid sequences.
	(read_utf16_code_point): Likewise. Check for invalid sequences.
	(ucs4_in, utf16_in): Use incomplete_mb_character constant.
	(utf16_out): Check for invalid sequences.
	(utf16_span): Fix condition.
	(ucs2_out): Use is_high_surrogate.
	(ucs2_in): Use incomplete_mb_character constant and fix condition.
	* testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
	* testsuite/22_locale/conversions/buffer/1.cc: New.
	* testsuite/22_locale/conversions/string/2.cc: Use char16_t and
	char32_t instead of wchar_t.
	* testsuite/22_locale/conversions/string/3.cc: New.

Added:
    trunk/libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc
      - copied, changed from r221188, trunk/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc
    trunk/libstdc++-v3/testsuite/22_locale/conversions/string/3.cc
      - copied, changed from r221188, trunk/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/locale_conv.h
    trunk/libstdc++-v3/include/std/codecvt
    trunk/libstdc++-v3/src/c++11/codecvt.cc
    trunk/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
    trunk/libstdc++-v3/testsuite/22_locale/conversions/string/2.cc


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]