//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <ios>
// template <class charT, class traits> class basic_ios
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.fr_FR.UTF-8
+
// <ios>
// template <class charT, class traits> class basic_ios
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <ios>
// template <class charT, class traits> class basic_ios
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <streambuf>
// template <class charT, class traits = char_traits<charT> >
# Configuration file for the 'lit' test runner.
import errno
+import locale
import os
import platform
import re
# test_source_root: The root path where tests are located.
config.test_source_root = os.path.dirname(__file__)
+# Figure out which of the required locales we support
+locales = {
+ 'Darwin': {
+ 'en_US.UTF-8': 'en_US.UTF-8',
+ 'cs_CZ.ISO8859-2': 'cs_CZ.ISO8859-2',
+ 'fr_FR.UTF-8': 'fr_FR.UTF-8',
+ 'fr_CA.ISO8859-1': 'cs_CZ.ISO8859-1',
+ 'ru_RU.UTF-8': 'ru_RU.UTF-8',
+ 'zh_CN.UTF-8': 'zh_CN.UTF-8',
+ },
+ 'Linux': {
+ 'en_US.UTF-8': 'en_US.UTF-8',
+ 'cs_CZ.ISO8859-2': 'cs_CZ.ISO-8859-2',
+ 'fr_FR.UTF-8': 'fr_FR.UTF-8',
+ 'fr_CA.ISO8859-1': 'fr_CA.ISO-8859-1',
+ 'ru_RU.UTF-8': 'ru_RU.UTF-8',
+ 'zh_CN.UTF-8': 'zh_CN.UTF-8',
+ },
+ 'Windows': {
+ 'en_US.UTF-8': 'English_United States.1252',
+ 'cs_CZ.ISO8859-2': 'Czech_Czech Republic.1250',
+ 'fr_FR.UTF-8': 'French_France.1252',
+ 'fr_CA.ISO8859-1': 'French_Canada.1252',
+ 'ru_RU.UTF-8': 'Russian_Russia.1251',
+ 'zh_CN.UTF-8': 'Chinese_China.936',
+ },
+}
+
+for feature, loc in locales[platform.system()].items():
+ try:
+ locale.setlocale(locale.LC_ALL, loc)
+ config.available_features.add('locale.{}'.format(feature))
+ except:
+ lit_config.warning('The locale {} is not supported by your platoform. '
+ 'Some tests will be unsupported.'.format(loc))
+
# Gather various compiler parameters.
cxx_under_test = lit_config.params.get('cxx_under_test', None)
if cxx_under_test is None:
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_CA.UTF-8
+
// <locale>
// template <class charT> class ctype_byname;
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_CA.UTF-8
+
// <locale>
// template <class charT> class ctype_byname;
//
// XFAIL: apple-darwin
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// class money_get<charT, InputIterator>
//
// XFAIL: apple-darwin
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// class money_get<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class money_get<charT, InputIterator>
//
// XFAIL: apple-darwin
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// class money_put<charT, OutputIterator>
//
// XFAIL: apple-darwin
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// class money_put<charT, OutputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class money_put<charT, OutputIterator>
//
// XFAIL: apple-darwin
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
// <locale>
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// class moneypunct_byname<charT, International>
// charT decimal_point() const;
// <locale>
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// class moneypunct_byname<charT, International>
// int frac_digits() const;
//
// XFAIL: apple-darwin
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
//
// XFAIL: apple-darwin
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
//
// XFAIL: apple-darwin
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class moneypunct_byname<charT, International>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// class time_get_byname<charT, InputIterator>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// template <class CharT, class OutputIterator = ostreambuf_iterator<CharT> >
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// template <class charT> class numpunct_byname;
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// template <class charT> class numpunct_byname;
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// template <class charT> class numpunct_byname;
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// const locale& operator=(const locale& other) throw();
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// explicit locale(const char* std_name);
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.fr_FR.UTF-8
+
// <locale>
// locale(const locale& other) throw();
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// locale(const locale& other, const char* std_name, category);
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// template <class Facet> locale(const locale& other, Facet* f);
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.en_US.UTF-8
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// locale(const locale& other, const locale& one, category cats);
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.ru_RU.UTF-8
+
// <locale>
// locale(const locale& other, const string& std_name, category cat);
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.ru_RU.UTF-8
+// REQUIRES: locale.zh_CN.UTF-8
+
// <locale>
// explicit locale(const string& std_name);
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class BidirectionalIterator, class Allocator, class charT, class traits>
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class charT> struct regex_traits;
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class charT> struct regex_traits;
//
//===----------------------------------------------------------------------===//
+// REQUIRES: locale.cs_CZ.ISO8859-2
+
// <regex>
// template <class charT> struct regex_traits;