Hahnfeld created this revision. Hahnfeld added a reviewer: EricWF. Hahnfeld added a subscriber: cfe-commits.
Commit `f49839299a085505eb673544744b61d2d9cdd1db` in glibc-2.14 changed the locales to the currently required format. However, they were again changed in commit `55bdd2866f23b28422d969060b3518909a12b100` which has been released in 2.17. That leads to the current situation where Debian and e.g. CentOS 6 have the pre-2.14 locales, for example Ubuntu 14.04 has pre-2.17 and CentOS 7 on the other hand has the newest locales in glibc-2.17. http://reviews.llvm.org/D18187 Files: test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp Index: test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp =================================================================== --- test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp +++ test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp @@ -9,15 +9,8 @@ // REQUIRES: locale.en_US.UTF-8 // REQUIRES: locale.fr_FR.UTF-8 -// REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 -// NOTE: debian and opensuse use bad locale data for ru_RU.UTF-8 abbreviated -// months. This locale data was fixed in glibc 2.14. -// Debian uses glibc 2.13 as of 20/11/2014 -// OpenSuse uses glibc 2.19 with old locale data as of 20/11/2014 -// XFAIL: debian, opensuse - // <locale> // class time_get_byname<charT, InputIterator> @@ -79,16 +72,6 @@ assert(err == std::ios_base::eofbit); } { - const my_facet f(LOCALE_ru_RU_UTF_8, 1); - const wchar_t in[] = L"\x438\x44E\x43D\x44F"; - err = std::ios_base::goodbit; - t = std::tm(); - I i = f.get_monthname(I(in), I(in+sizeof(in)/sizeof(in[0])-1), ios, err, &t); - assert(i.base() == in+sizeof(in)/sizeof(in[0])-1); - assert(t.tm_mon == 5); - assert(err == std::ios_base::eofbit); - } - { const my_facet f(LOCALE_zh_CN_UTF_8, 1); const wchar_t in[] = L"\x516D\x6708"; err = std::ios_base::goodbit; Index: test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp =================================================================== --- test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp +++ test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp @@ -9,15 +9,8 @@ // REQUIRES: locale.en_US.UTF-8 // REQUIRES: locale.fr_FR.UTF-8 -// REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 -// NOTE: debian and opensuse use old locale data for ru_RU.UTF-8 abbreviated -// months. This locale data was changed in glibc 2.14. -// Debian uses glibc 2.13 as of 20/11/2014 -// OpenSuse uses glibc 2.19 with old locale data as of 20/11/2014 -// XFAIL: debian, opensuse - // <locale> // class time_get_byname<charT, InputIterator> @@ -70,16 +63,6 @@ assert(err == std::ios_base::eofbit); } { - const my_facet f(LOCALE_ru_RU_UTF_8, 1); - const char in[] = "\xD0\xB8\xD1\x8E\xD0\xBD\xD1\x8F"; - err = std::ios_base::goodbit; - t = std::tm(); - I i = f.get_monthname(I(in), I(in+sizeof(in)/sizeof(in[0])-1), ios, err, &t); - assert(i.base() == in+sizeof(in)/sizeof(in[0])-1); - assert(t.tm_mon == 5); - assert(err == std::ios_base::eofbit); - } - { const my_facet f(LOCALE_zh_CN_UTF_8, 1); const char in[] = "\xE5\x85\xAD\xE6\x9C\x88"; err = std::ios_base::goodbit;
Index: test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp =================================================================== --- test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp +++ test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp @@ -9,15 +9,8 @@ // REQUIRES: locale.en_US.UTF-8 // REQUIRES: locale.fr_FR.UTF-8 -// REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 -// NOTE: debian and opensuse use bad locale data for ru_RU.UTF-8 abbreviated -// months. This locale data was fixed in glibc 2.14. -// Debian uses glibc 2.13 as of 20/11/2014 -// OpenSuse uses glibc 2.19 with old locale data as of 20/11/2014 -// XFAIL: debian, opensuse - // <locale> // class time_get_byname<charT, InputIterator> @@ -79,16 +72,6 @@ assert(err == std::ios_base::eofbit); } { - const my_facet f(LOCALE_ru_RU_UTF_8, 1); - const wchar_t in[] = L"\x438\x44E\x43D\x44F"; - err = std::ios_base::goodbit; - t = std::tm(); - I i = f.get_monthname(I(in), I(in+sizeof(in)/sizeof(in[0])-1), ios, err, &t); - assert(i.base() == in+sizeof(in)/sizeof(in[0])-1); - assert(t.tm_mon == 5); - assert(err == std::ios_base::eofbit); - } - { const my_facet f(LOCALE_zh_CN_UTF_8, 1); const wchar_t in[] = L"\x516D\x6708"; err = std::ios_base::goodbit; Index: test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp =================================================================== --- test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp +++ test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp @@ -9,15 +9,8 @@ // REQUIRES: locale.en_US.UTF-8 // REQUIRES: locale.fr_FR.UTF-8 -// REQUIRES: locale.ru_RU.UTF-8 // REQUIRES: locale.zh_CN.UTF-8 -// NOTE: debian and opensuse use old locale data for ru_RU.UTF-8 abbreviated -// months. This locale data was changed in glibc 2.14. -// Debian uses glibc 2.13 as of 20/11/2014 -// OpenSuse uses glibc 2.19 with old locale data as of 20/11/2014 -// XFAIL: debian, opensuse - // <locale> // class time_get_byname<charT, InputIterator> @@ -70,16 +63,6 @@ assert(err == std::ios_base::eofbit); } { - const my_facet f(LOCALE_ru_RU_UTF_8, 1); - const char in[] = "\xD0\xB8\xD1\x8E\xD0\xBD\xD1\x8F"; - err = std::ios_base::goodbit; - t = std::tm(); - I i = f.get_monthname(I(in), I(in+sizeof(in)/sizeof(in[0])-1), ios, err, &t); - assert(i.base() == in+sizeof(in)/sizeof(in[0])-1); - assert(t.tm_mon == 5); - assert(err == std::ios_base::eofbit); - } - { const my_facet f(LOCALE_zh_CN_UTF_8, 1); const char in[] = "\xE5\x85\xAD\xE6\x9C\x88"; err = std::ios_base::goodbit;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits