2001-01-29 Benjamin Kosnik <bkoz@redhat.com> Preliminary named locales. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro. * aclocal.m4: Regenerate. * configure.in: Use it. * configure: Regerate. * src/Makefile.am (sources): Add c++locale.cc. (build_headers): Add c++locale.h. * src/Makefile.in: Regenerate. * config/c_locale_gnu.h: New file. * config/c_locale_gnu.cc: New file. Non-inline member functions for named locales, gnu-specific. * config/c_locale_generic.h: New file. * config/c_locale_generic.cc: New file. Non-inline member functions for named locales, generic version. * docs/html/configopts.html: Add documentation on new options. * include/bits/locale_facets.h (class _Messages): Remove. (class _Moneypunct): Remove. * src/locale-inst.cc: Remove. * include/bits/locale_facets.h (class _Collate): Remove. * src/locale-inst.cc (std): Remove. * src/locale.cc: And here. * include/bits/localefwd.h (locale::_M_coalesce): New function. Correctly put together multi-name locales. (_Impl(const _Impl&, category, size_t)): Remove. * include/bits/localefwd.h (locale::_Impl): Remove _M_construct_* member functions. (_M_normalize_category_names): Remove. (_M_replace_categories): Fix. * src/localename.cc (locale::_Impl::_M_construct_collate): Remove. (locale::_Impl::_M_construct_ctype): Remove. (locale::_Impl::_M_construct_monetary): Remove. (locale::_Impl::_M_construct_numeric): Remove. (locale::_Impl::_M_construct_time): Remove. (locale::_Impl::_M_construct_messages): Remove. * include/bits/locale_facets.h (_Bad_use_facet): Remove. (_Use_facet_failure_handle): Remove. * src/locale.cc: Remove definitions. * src/locale-inst.cc: And here. * testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests. * src/localename.cc (locale::facet::_S_create_c_locale): Properly create and error-check underlying locale object. (locale::facet::_S_destroy_c_locale): Add, take care of properly tearing down underlying locale object. * include/bits/localefwd.h (locale::facet): Declare. * testsuite/22_locale/members.cc: Don't test "fr_FR" locale for correctness, as glibc apparently has incorrect info in it. Test with it when it works again..... * include/bits/localefwd.h (locale::_Impl::__vec_string): Remove. Number of categories is fixed at six, so just simplify and make this an array of strings. (locale::_Impl::_M_has_name): Remove. (locale::_Impl::_M_name): Remove. (locale::_Impl::_M_category_names): Turns into... (locale::_Impl::_M_names): ...this. (locale::_Impl::_M_has_same_name()): New function. * src/localename.cc (locale::_Impl::~_Impl()): Remove here. (locale::_Impl::_Impl(size_t __refs, string __str)): Simplify signature. * src/locale.cc (locale::name()): Construct mangled name accurately reflecting combined locale categories. * src/locale.cc (locale::classic()): Don't initialize here. * src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t __refs, bool __has_name, string __str): Do it here. * include/bits/localefwd.h: _S_categories_num to _S_num_categories. _S_facets_num to _S_num_facets. (locale::id::id()): Explicitly set _M_index to zero. * src/locale.cc: Same. * src/locale.cc: (locale::locale(const char*)): Construct named locales uniquely. * src/locale.cc: Remove numpunct_byname ctors. * testsuite/22_locale/numpunct_byname.cc: New file. * testsuite/22_locale/numpunct.cc: New file. * include/bits/localefwd.h (class locale): Change data members to protected, from private. (_Impl::_M_get_c_locale): Add member function. (locale::facet::_M_get_global_impl()): Add member function. * include/bits/locale_facets.h (numpunct::_M_init): Change to take a __c_locale pointer. (numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for named locales. * testsuite/22_locale/members.cc: New file, test name and combine. * include/bits/locale_facets.h (class numpunct): Remove class _Punct and _Numpunct. Rewrite class numpunct to be correct for named locales. * include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add. * src/localename.cc (_Impl::~_Impl()): Call __frelocale. (_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale. * src/locale-inst.cc: Remove _Numpunct, _Punct instantiations. * testsuite/22_locale/numpunct_char_members.cc: New file. From-SVN: r39347
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
basic_file.h | Loading commit data... | |
basic_ios.h | Loading commit data... | |
basic_ios.tcc | Loading commit data... | |
basic_string.h | Loading commit data... | |
basic_string.tcc | Loading commit data... | |
c++config | Loading commit data... | |
char_traits.h | Loading commit data... | |
codecvt.h | Loading commit data... | |
concept_checks.h | Loading commit data... | |
container_concepts.h | Loading commit data... | |
cpp_type_traits.h | Loading commit data... | |
exception_support.h | Loading commit data... | |
fpos.h | Loading commit data... | |
fstream.tcc | Loading commit data... | |
generic_shadow.h | Loading commit data... | |
gslice.h | Loading commit data... | |
gslice_array.h | Loading commit data... | |
indirect_array.h | Loading commit data... | |
ios_base.h | Loading commit data... | |
istream.tcc | Loading commit data... | |
limits_generic.h | Loading commit data... | |
locale_facets.h | Loading commit data... | |
locale_facets.tcc | Loading commit data... | |
localefwd.h | Loading commit data... | |
mask_array.h | Loading commit data... | |
ostream.tcc | Loading commit data... | |
pthread_allocimpl.h | Loading commit data... | |
sbuf_iter.h | Loading commit data... | |
sequence_concepts.h | Loading commit data... | |
slice.h | Loading commit data... | |
slice_array.h | Loading commit data... | |
sstream.tcc | Loading commit data... | |
std_algorithm.h | Loading commit data... | |
std_bitset.h | Loading commit data... | |
std_complex.h | Loading commit data... | |
std_deque.h | Loading commit data... | |
std_fstream.h | Loading commit data... | |
std_functional.h | Loading commit data... | |
std_iomanip.h | Loading commit data... | |
std_ios.h | Loading commit data... | |
std_iosfwd.h | Loading commit data... | |
std_iostream.h | Loading commit data... | |
std_istream.h | Loading commit data... | |
std_iterator.h | Loading commit data... | |
std_list.h | Loading commit data... | |
std_locale.h | Loading commit data... | |
std_map.h | Loading commit data... | |
std_memory.h | Loading commit data... | |
std_numeric.h | Loading commit data... | |
std_ostream.h | Loading commit data... | |
std_queue.h | Loading commit data... | |
std_set.h | Loading commit data... | |
std_sstream.h | Loading commit data... | |
std_stack.h | Loading commit data... | |
std_stdexcept.h | Loading commit data... | |
std_streambuf.h | Loading commit data... | |
std_string.h | Loading commit data... | |
std_utility.h | Loading commit data... | |
std_valarray.h | Loading commit data... | |
std_vector.h | Loading commit data... | |
stl_algo.h | Loading commit data... | |
stl_algobase.h | Loading commit data... | |
stl_alloc.h | Loading commit data... | |
stl_config.h | Loading commit data... | |
stl_construct.h | Loading commit data... | |
stl_deque.h | Loading commit data... | |
stl_function.h | Loading commit data... | |
stl_heap.h | Loading commit data... | |
stl_iterator.h | Loading commit data... | |
stl_iterator_base.h | Loading commit data... | |
stl_list.h | Loading commit data... | |
stl_map.h | Loading commit data... | |
stl_multimap.h | Loading commit data... | |
stl_multiset.h | Loading commit data... | |
stl_numeric.h | Loading commit data... | |
stl_pair.h | Loading commit data... | |
stl_pthread_alloc.h | Loading commit data... | |
stl_queue.h | Loading commit data... | |
stl_range_errors.h | Loading commit data... | |
stl_raw_storage_iter.h | Loading commit data... | |
stl_relops.h | Loading commit data... | |
stl_set.h | Loading commit data... | |
stl_stack.h | Loading commit data... | |
stl_string_fwd.h | Loading commit data... | |
stl_tempbuf.h | Loading commit data... | |
stl_threads.h | Loading commit data... | |
stl_tree.h | Loading commit data... | |
stl_uninitialized.h | Loading commit data... | |
stl_vector.h | Loading commit data... | |
streambuf.tcc | Loading commit data... | |
type_traits.h | Loading commit data... | |
valarray_array.h | Loading commit data... | |
valarray_array.tcc | Loading commit data... | |
valarray_meta.h | Loading commit data... |