From: Paolo Carlini Date: Sun, 19 May 2002 08:09:47 +0000 (+0000) Subject: [multiple changes] X-Git-Tag: releases/gcc-3.1.1~323 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=386f223e2980dcd23230eaac7085fd9a41819387;p=thirdparty%2Fgcc.git [multiple changes] 2002-05-19 Paolo Carlini Jakub Jelinek * testsuite/22_locale/money_get_members_char.cc (test01, test02, test04): Use the de_DE@euro named locale instead of de_DE to allow for an uniform behaviour with both old and Euro-era localedata; tweak some tests. * testsuite/22_locale/money_get_members_wchar_t.cc (test01, test02, test04): Likewise. * testsuite/22_locale/money_put_members_char.cc (test01, test02, test04): Likewise. * testsuite/22_locale/money_put_members_wchar_t.cc (test01, test02, test04): Likewise. 2002-05-19 Paolo Carlini * testsuite/22_locale/codecvt_members_char_char.cc (test03): Robustify wrt localedata. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise. * testsuite/22_locale/collate_members_char.cc (test04): Likewise. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise. * testsuite/22_locale/ctype_members_char.cc (test05): Likewise. * testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise. * testsuite/22_locale/messages_members_char.cc (test03): Likewise. * testsuite/22_locale/money_get_members_char.cc (test08): Likewise. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise. * testsuite/22_locale/money_put_members_char.cc (test07): Likewise. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise. * testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise. * testsuite/22_locale/num_get_members_char.cc (test06): Likewise. * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise. * testsuite/22_locale/num_put_members_char.cc (test04): Add comment. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise. * testsuite/22_locale/numpunct_members_char.cc (test03): Likewise. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise. * testsuite/22_locale/time_get_members_char.cc (test08): Likewise. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise. * testsuite/22_locale/time_put_members_char.cc (test04): Likewise. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise. 2002-05-19 Paolo Carlini Test all the facets for the temporary "C" locale switch issue. * testsuite/22_locale/codecvt_members_char_char.cc: Add test03. * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise. * testsuite/22_locale/collate_members_char.cc: Add test04. * testsuite/22_locale/collate_members_wchar_t.cc: Likewise. * testsuite/22_locale/ctype_members_char.cc: Add test05. * testsuite/22_locale/ctype_members_wchar_t.cc: Add test04. * testsuite/22_locale/messages_members_char.cc: Add test03. * testsuite/22_locale/money_get_members_char.cc: Add test08. * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise. * testsuite/22_locale/money_put_members_char.cc: Add test07. * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise. * testsuite/22_locale/moneypunct_members_char.cc: Add test03. * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise. * testsuite/22_locale/num_get_members_char.cc: Add test06. * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise. * testsuite/22_locale/numpunct_members_char.cc: Add test03. * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise. * testsuite/22_locale/time_get_members_char.cc: Add test08. * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise. * testsuite/22_locale/time_put_members_char.cc: Add test04. * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise. * testsuite/22_locale/num_put_members_char.cc (test04): Add comment. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise. 2002-05-19 Benjamin Kosnik Paolo Carlini * testsuite/22_locale/num_put_members_char.cc: Add test04(), testing for the locale_facets.tcc entry of the previous commit. * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise. From-SVN: r53616 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index bb9c7cd2e579..58fefa053f53 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,79 @@ +2002-05-19 Paolo Carlini + Jakub Jelinek + + * testsuite/22_locale/money_get_members_char.cc + (test01, test02, test04): Use the de_DE@euro named locale + instead of de_DE to allow for an uniform behaviour with + both old and Euro-era localedata; tweak some tests. + * testsuite/22_locale/money_get_members_wchar_t.cc + (test01, test02, test04): Likewise. + * testsuite/22_locale/money_put_members_char.cc + (test01, test02, test04): Likewise. + * testsuite/22_locale/money_put_members_wchar_t.cc + (test01, test02, test04): Likewise. + +2002-05-19 Paolo Carlini + + * testsuite/22_locale/codecvt_members_char_char.cc + (test03): Robustify wrt localedata. + * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise. + * testsuite/22_locale/collate_members_char.cc (test04): Likewise. + * testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise. + * testsuite/22_locale/ctype_members_char.cc (test05): Likewise. + * testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise. + * testsuite/22_locale/messages_members_char.cc (test03): Likewise. + * testsuite/22_locale/money_get_members_char.cc (test08): Likewise. + * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise. + * testsuite/22_locale/money_put_members_char.cc (test07): Likewise. + * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise. + * testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise. + * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise. + * testsuite/22_locale/num_get_members_char.cc (test06): Likewise. + * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise. + * testsuite/22_locale/num_put_members_char.cc (test04): Add comment. + * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise. + * testsuite/22_locale/numpunct_members_char.cc (test03): Likewise. + * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise. + * testsuite/22_locale/time_get_members_char.cc (test08): Likewise. + * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise. + * testsuite/22_locale/time_put_members_char.cc (test04): Likewise. + * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise. + +2002-05-19 Paolo Carlini + + Test all the facets for the temporary "C" locale switch issue. + * testsuite/22_locale/codecvt_members_char_char.cc: Add test03. + * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise. + * testsuite/22_locale/collate_members_char.cc: Add test04. + * testsuite/22_locale/collate_members_wchar_t.cc: Likewise. + * testsuite/22_locale/ctype_members_char.cc: Add test05. + * testsuite/22_locale/ctype_members_wchar_t.cc: Add test04. + * testsuite/22_locale/messages_members_char.cc: Add test03. + * testsuite/22_locale/money_get_members_char.cc: Add test08. + * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise. + * testsuite/22_locale/money_put_members_char.cc: Add test07. + * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise. + * testsuite/22_locale/moneypunct_members_char.cc: Add test03. + * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise. + * testsuite/22_locale/num_get_members_char.cc: Add test06. + * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise. + * testsuite/22_locale/numpunct_members_char.cc: Add test03. + * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise. + * testsuite/22_locale/time_get_members_char.cc: Add test08. + * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise. + * testsuite/22_locale/time_put_members_char.cc: Add test04. + * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise. + + * testsuite/22_locale/num_put_members_char.cc (test04): Add comment. + * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise. + +2002-05-19 Benjamin Kosnik + Paolo Carlini + + * testsuite/22_locale/num_put_members_char.cc: Add test04(), + testing for the locale_facets.tcc entry of the previous commit. + * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise. + 2002-05-18 Takeshi Kobayakawa * config/locale/generic/c_locale.cc diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc b/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc index 8b3dfc6d1906..38764d43795f 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc @@ -97,9 +97,25 @@ void test02() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main () { test01(); test02(); + test03(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc b/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc index 45655b7a6011..3d82fc5e4e92 100644 --- a/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc +++ b/libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc @@ -128,6 +128,21 @@ void test02() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif /* !defined(_GLIBCPP_USE_WCHAR_T) */ @@ -136,6 +151,7 @@ int main () #if _GLIBCPP_USE_WCHAR_T test01(); test02(); + test03(); #endif return 0; diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc index f45ffd9d4aa9..0a2b29b6ebf2 100644 --- a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc @@ -161,10 +161,27 @@ void test03() VERIFY( l1 != l2 ); } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test03(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); test03(); + test04(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc index 5df42fe15d93..b120397a6494 100644 --- a/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc @@ -160,6 +160,22 @@ void test03() long l2 = col.hash(str2.c_str(), str2.c_str() + str2.size()); VERIFY( l1 != l2 ); } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test03(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -168,6 +184,7 @@ int main() test01(); test02(); test03(); + test04(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc b/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc index d1e47b6bbbd5..b61dabf56e35 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype_members_char.cc @@ -280,11 +280,29 @@ void test04() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test05() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); test03(); test04(); + test05(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc index aac23dc5a921..405cddc4eb3b 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc @@ -114,6 +114,21 @@ void test03() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif /* !defined(_GLIBCPP_USE_WCHAR_T) */ int main() @@ -121,6 +136,7 @@ int main() #if _GLIBCPP_USE_WCHAR_T test01(); test03(); + test04(); #endif return 0; diff --git a/libstdc++-v3/testsuite/22_locale/messages_members_char.cc b/libstdc++-v3/testsuite/22_locale/messages_members_char.cc index d37a86e77208..eeb6ef30679f 100644 --- a/libstdc++-v3/testsuite/22_locale/messages_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/messages_members_char.cc @@ -99,9 +99,25 @@ void test02() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); + test03(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc b/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc index efe806fed334..1d80e7539f79 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get_members_char.cc @@ -41,7 +41,7 @@ void test01() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -122,7 +122,7 @@ void test01() // now try with showbase, to get currency symbol in format iss.setf(ios_base::showbase); - iss.str("7.200.000.000,00 DEM "); + iss.str("7.200.000.000,00 EUR "); iterator_type is_it06(iss); string result6; ios_base::iostate err06 = ios_base::goodbit; @@ -130,7 +130,7 @@ void test01() VERIFY( result6 == digits1 ); VERIFY( err06 == ios_base::eofbit ); - iss.str("7.200.000.000,00 DEM "); // Extra space. + iss.str("7.200.000.000,00 EUR "); // Extra space. iterator_type is_it07(iss); string result7; ios_base::iostate err07 = ios_base::goodbit; @@ -138,7 +138,7 @@ void test01() VERIFY( result7 == digits1 ); VERIFY( err07 == ios_base::goodbit ); - iss.str("7.200.000.000,00 DM"); + iss.str("7.200.000.000,00 \244"); iterator_type is_it08(iss); string result8; ios_base::iostate err08 = ios_base::goodbit; @@ -216,7 +216,7 @@ void test02() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -324,12 +324,12 @@ void test04() { #ifdef _GLIBCPP_HAVE_SETENV // Set the global locale to non-"C". - std::locale loc_de("de_DE"); + std::locale loc_de("de_DE@euro"); std::locale::global(loc_de); - // Set LANG environment variable to de_DE. + // Set LANG environment variable to de_DE@euro. const char* oldLANG = getenv("LANG"); - if (!setenv("LANG", "de_DE", 1)) + if (!setenv("LANG", "de_DE@euro", 1)) { test01(); test02(); @@ -546,6 +546,26 @@ void test07() VERIFY( val_b_ns == "123456" ); } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test08() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + test05(); + test06(); + test07(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); @@ -555,5 +575,6 @@ int main() test05(); test06(); test07(); + test08(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc index 2229de87ef63..3d95d262c70c 100644 --- a/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc @@ -42,7 +42,7 @@ void test01() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -123,7 +123,7 @@ void test01() // now try with showbase, to get currency symbol in format iss.setf(ios_base::showbase); - iss.str(L"7.200.000.000,00 DEM "); + iss.str(L"7.200.000.000,00 EUR "); iterator_type is_it06(iss); wstring result6; ios_base::iostate err06 = ios_base::goodbit; @@ -131,7 +131,7 @@ void test01() VERIFY( result6 == digits1 ); VERIFY( err06 == ios_base::eofbit ); - iss.str(L"7.200.000.000,00 DEM "); // Extra space. + iss.str(L"7.200.000.000,00 EUR "); // Extra space. iterator_type is_it07(iss); wstring result7; ios_base::iostate err07 = ios_base::goodbit; @@ -139,7 +139,7 @@ void test01() VERIFY( result7 == digits1 ); VERIFY( err07 == ios_base::goodbit ); - iss.str(L"7.200.000.000,00 DM"); + iss.str(L"7.200.000.000,00 \x20ac"); iterator_type is_it08(iss); wstring result8; ios_base::iostate err08 = ios_base::goodbit; @@ -218,7 +218,7 @@ void test02() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -326,12 +326,12 @@ void test04() { #ifdef _GLIBCPP_HAVE_SETENV // Set the global locale to non-"C". - std::locale loc_de("de_DE"); + std::locale loc_de("de_DE@euro"); std::locale::global(loc_de); - // Set LANG environment variable to de_DE. + // Set LANG environment variable to de_DE@euro. const char* oldLANG = getenv("LANG"); - if (!setenv("LANG", "de_DE", 1)) + if (!setenv("LANG", "de_DE@euro", 1)) { test01(); test02(); @@ -546,6 +546,26 @@ void test07() mg_b.get(ibeg_b_ns,iend_b_ns,intl,fmt_b_ns,err,val_b_ns); VERIFY( val_b_ns == L"123456" ); } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test08() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + test05(); + test06(); + test07(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -558,6 +578,7 @@ int main() test05(); test06(); test07(); + test08(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc index a97f78fc8d6d..6cae3d793514 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put_members_char.cc @@ -41,7 +41,7 @@ void test01() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -97,12 +97,12 @@ void test01() oss.str(empty); iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); string result3 = oss.str(); - VERIFY( result3 == "7.200.000.000,00 DEM "); + VERIFY( result3 == "7.200.000.000,00 EUR "); oss.str(empty); iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result4 = oss.str(); - VERIFY( result4 == "7.200.000.000,00 DM"); + VERIFY( result4 == "7.200.000.000,00 \244"); // intl and non-intl versions should be different. VERIFY( result3 != result4 ); @@ -175,7 +175,7 @@ void test02() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -228,12 +228,12 @@ void test02() oss.str(empty); iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); string result3 = oss.str(); - VERIFY( result3 == "7.200.000.000,00 DEM "); + VERIFY( result3 == "7.200.000.000,00 EUR "); oss.str(empty); iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); string result4 = oss.str(); - VERIFY( result4 == "7.200.000.000,00 DM"); + VERIFY( result4 == "7.200.000.000,00 \244"); // intl and non-intl versions should be different. VERIFY( result3 != result4 ); @@ -288,12 +288,12 @@ void test04() { #ifdef _GLIBCPP_HAVE_SETENV // Set the global locale to non-"C". - std::locale loc_de("de_DE"); + std::locale loc_de("de_DE@euro"); std::locale::global(loc_de); - // Set LANG environment variable to de_DE. + // Set LANG environment variable to de_DE@euro. const char* oldLANG = getenv("LANG"); - if (!setenv("LANG", "de_DE", 1)) + if (!setenv("LANG", "de_DE@euro", 1)) { test01(); test02(); @@ -368,6 +368,25 @@ void test06() VERIFY( fmt ); } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test07() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + test05(); + test06(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); @@ -376,5 +395,6 @@ int main() test04(); test05(); test06(); + test07(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc index dc77d0a05044..c9132516b022 100644 --- a/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc @@ -42,7 +42,7 @@ void test01() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -97,12 +97,12 @@ void test01() oss.str(empty); iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); wstring result3 = oss.str(); - VERIFY( result3 == L"7.200.000.000,00 DEM "); + VERIFY( result3 == L"7.200.000.000,00 EUR "); oss.str(empty); iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); wstring result4 = oss.str(); - VERIFY( result4 == L"7.200.000.000,00 DM"); + VERIFY( result4 == L"7.200.000.000,00 \x20ac"); // intl and non-intl versions should be different. VERIFY( result3 != result4 ); @@ -175,7 +175,7 @@ void test02() locale loc_c = locale::classic(); locale loc_hk("en_HK"); locale loc_fr("fr_FR@euro"); - locale loc_de("de_DE"); + locale loc_de("de_DE@euro"); VERIFY( loc_c != loc_de ); VERIFY( loc_hk != loc_fr ); VERIFY( loc_hk != loc_de ); @@ -228,12 +228,12 @@ void test02() oss.str(empty); iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); wstring result3 = oss.str(); - VERIFY( result3 == L"7.200.000.000,00 DEM "); + VERIFY( result3 == L"7.200.000.000,00 EUR "); oss.str(empty); iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); wstring result4 = oss.str(); - VERIFY( result4 == L"7.200.000.000,00 DM"); + VERIFY( result4 == L"7.200.000.000,00 \x20ac"); // intl and non-intl versions should be different. VERIFY( result3 != result4 ); @@ -288,12 +288,12 @@ void test04() { #ifdef _GLIBCPP_HAVE_SETENV // Set the global locale to non-"C". - std::locale loc_de("de_DE"); + std::locale loc_de("de_DE@euro"); std::locale::global(loc_de); - // Set LANG environment variable to de_DE. + // Set LANG environment variable to de_DE@euro. const char* oldLANG = getenv("LANG"); - if (!setenv("LANG", "de_DE", 1)) + if (!setenv("LANG", "de_DE@euro", 1)) { test01(); test02(); @@ -367,6 +367,25 @@ void test06() mp.put(out,intl,fmt,'*',val); VERIFY( fmt ); } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test07() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + test05(); + test06(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -378,6 +397,7 @@ int main() test04(); test05(); test06(); + test07(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc index 3d4f5a0968b9..5beb5ee9fb07 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc @@ -123,9 +123,25 @@ void test02() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); + test03(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc index f3b2f0c3908e..c79e170de408 100644 --- a/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc @@ -123,6 +123,21 @@ void test02() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -130,6 +145,7 @@ int main() #ifdef _GLIBCPP_USE_WCHAR_T test01(); test02(); + test03(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc b/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc index 7bf1e6956e79..b65e1013fc4c 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get_members_char.cc @@ -413,6 +413,24 @@ void test05() VERIFY( d == 1234.5 ); } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test06() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test04(); + test05(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); @@ -420,6 +438,7 @@ int main() test03(); test04(); test05(); + test06(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc index 2efbe5c5affe..5585c4389ae8 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc @@ -414,6 +414,24 @@ void test05() VERIFY( err == goodbit ); VERIFY( d == 1234.5 ); } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test06() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test04(); + test05(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -424,6 +442,7 @@ int main() test03(); test04(); test05(); + test06(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc index 8505566be166..7966fb51c11a 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put_members_char.cc @@ -310,11 +310,28 @@ void test03() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); test03(); + test04(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc index d2309f0d4341..86a7b25e0caf 100644 --- a/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc @@ -309,6 +309,22 @@ void test03() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -317,6 +333,7 @@ int main() test01(); test02(); test03(); + test04(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc b/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc index fa71a90e8254..df1835707f64 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc @@ -101,9 +101,25 @@ void test02() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); + test03(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc index ec2337cd0763..8b98ff90f8a5 100644 --- a/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc @@ -98,6 +98,21 @@ void test02() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test03() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -105,6 +120,7 @@ int main() #ifdef _GLIBCPP_USE_WCHAR_T test01(); test02(); + test03(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc b/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc index 2ba8cca272f7..74b358bd2949 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get_members_char.cc @@ -699,6 +699,26 @@ void test07() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test08() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + test04(); + test05(); + test06(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); @@ -710,5 +730,6 @@ int main() test06(); test07(); + test08(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc index 27530935b3ce..d8c568d29c44 100644 --- a/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc @@ -698,6 +698,26 @@ void test07() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test08() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + test03(); + test04(); + test05(); + test06(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -712,6 +732,7 @@ int main() test06(); test07(); + test08(); #endif return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc b/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc index e3c4e2552c48..09a4d4f500dc 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put_members_char.cc @@ -250,10 +250,27 @@ void test03() #endif } +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} + int main() { test01(); test02(); test03(); + test04(); return 0; } diff --git a/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc index a2bfd7d3d1a9..fa576be970ac 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc @@ -251,6 +251,22 @@ void test03() } #endif } + +// http://gcc.gnu.org/ml/libstdc++/2002-05/msg00038.html +void test04() +{ + bool test = true; + + const char* tentLANG = setlocale(LC_ALL, "ja_JP.eucjp"); + if (tentLANG != NULL) + { + std::string preLANG = tentLANG; + test01(); + test02(); + std::string postLANG = setlocale(LC_ALL, NULL); + VERIFY( preLANG == postLANG ); + } +} #endif int main() @@ -259,6 +275,7 @@ int main() test01(); test02(); test03(); + test04(); #endif return 0; }