Paolo Carlini
538075fe42
pod_char_traits.h (char_traits<>::move): Use __builtin_memmove.
...
2007-05-11 Paolo Carlini <pcarlini@suse.de>
* include/ext/pod_char_traits.h (char_traits<>::move):
Use __builtin_memmove.
* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name,
collate_byname(const char*, size_t)): Use __builtin_strcmp.
* include/bits/locale_facets.h: Use __builtin_mem* and
__builtin_str* everywhere.
* include/bits/codecvt.h (codecvt_byname(const char*, size_t)):
Use __builtin_strcmp.
* include/bits/char_traits.h: Use __builtin_mem* everywhere.
* include/bits/fstream.tcc (basic_filebuf<>::underflow, imbue):
Use __builtin_memcpy and __builtin_memmove.
* include/bits/locale_facets_nonio.h (moneypunct_byname(const char*,
size_t __refs)): Use __builtin_strcmp.
* include/std/bitset (bitset<>::_M_do_reset): Use __builtin_memset.
* config/locale/gnu/c_locale.h: Use __builtin_strlen, __builtin_strcmp,
and __builtin_memcpy.
* config/locale/gnu/messages_members.h: Likewise.
* config/locale/gnu/time_members.h: Likewise.
* config/locale/generic/c_locale.h: Likewise.
* config/locale/generic/messages_members.h: Likewise.
* config/locale/generic/time_members.h: Likewise.
* config/os/gnu-linux/ctype_noninline.h: Likewise, avoid strdup.
* config/os/tpf/ctype_noninline.h: Likewise.
* config/locale/generic/codecvt_members.cc: Include <cstring>.
* config/locale/generic/ctype_members.cc: Likewise.
* config/locale/generic/collate_members.cc: Likewise.
* config/locale/gnu/c++locale_internal.h: Likewise.
* config/locale/darwin/ctype_members.cc: Likewise.
* src/ctype.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
* config/locale/gnu/messages_members.cc: Avoid strdup.
* config/locale/gnu/monetary_members.cc: Likewise.
* config/locale/gnu/time_members.cc: Likewise.
* config/locale/gnu/time_members.cc: Likewise.
* config/locale/generic/c_locale.cc: Likewise.
From-SVN: r124623
2007-05-11 18:58:08 +00:00
Paolo Carlini
84b31797f3
locale_facets.h (class collate, [...]): Move...
...
2007-04-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class collate, class collate_byname):
Move...
* include/bits/locale_classes.h: ... here.
* include/bits/locale_facets.tcc (locale::combine, locale::operator(),
has_facet, use_facet, collate::_M_compare, collate::_M_transform,
collate::do_compare, collate::do_transform, collate::do_hash): Move...
* include/bits/locale_classes.tcc: ... here, new.
* include/Makefile.am: Add.
* testsuite/util/testsuite_abi.h: Include <locale>.
* include/std/locale: Tweak.
* include/std/istream: Likewise.
* include/std/ostream: Likewise.
* include/bits/codecvt.h: Likewise.
* include/Makefile.in: Regenerate.
* include/bits/codecvt.h: Adjust extern template declarations.
* include/bits/ostream_insert.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/locale_facets.h: Do not include <bits/codecvt.h>.
* include/std/fstream: Do it here.
* include/bits/locale_facets_nonio.h: Likewise.
From-SVN: r124114
2007-04-24 18:57:12 +00:00
Paolo Carlini
f749a55bb4
locale_facets.h (class time_base, [...]): Move...
...
2007-04-23 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class time_base,
struct __timepunct_cache, class __timepunct, class time_get,
class time_get_byname, class time_put, class time_put_byname,
class money_base, struct __moneypunct_cache, class moneypunct,
class moneypunct_byname, class money_get, class money_put,
struct messages_base, class messages, class messages_byname): Move...
* include/bits/locale_facets_nonio.h: ... here.
* include/bits/locale_facets.tcc
(struct __use_cache<__moneypunct_cache<> >,
__moneypunct_cache<>::_M_cache, money_get<>::_M_extract,
money_get<>::__do_get, money_get<>::do_get, money_put<>::_M_insert,
money_put<>::__do_put, money_put<>::do_put, time_get<>::do_date_order,
time_get<>::_M_extract_via_format, time_get<>::_M_extract_num,
time_get<>::_M_extract_name, time_get<>::do_get_time,
time_get<>::do_get_date, time_get<>::do_get_weekday,
time_get<>::do_get_monthname, time_get<>::do_get_year, time_put<>::put,
time_put<>::do_put): Move...
* include/bits/locale_facets_nonio.tcc: ... here.
* include/Makefile.am: Add.
* include/std/locale: Adjust includes.
* include/std/fstream: Likewise.
* include/std/istream: Likewise.
* include/std/ostream: Likewise.
* include/Makefile.in: Regenerate.
From-SVN: r124080
2007-04-23 20:26:30 +00:00
Paolo Carlini
11202768fe
PR libstdc++/28277 (partial: vstring bits)
...
2007-04-10 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28277 (partial: vstring bits)
* include/bits/ostream_insert.h: New.
* include/Makefile.am: Add.
* include/ext/vstring.h (operator<<(basic_ostream<>&,
const __versa_string<>&): Forward to __ostream_insert.
* include/bits/basic_string.h (operator<<(basic_ostream<>&,
const string<>&)): Likewise.
* include/std/ostream (operator<<(basic_ostream<>&, _CharT),
operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
Likewise.
* include/ext/vstring.tcc (operator<<(basic_ostream<>&,
const __versa_string<>&)): Remove.
(class basic_ostream): Remove friend declarations.
(basic_ostream<>::_M_write(char_type, streamsize),
_M_insert(const char_type*, streamsize)): Remove.
* include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
Remove definition.
(operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
* config/abi/pre/gnu.ver: Adjust.
* src/ostream-inst.cc: Add __ostream_insert instantiations.
* include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
parameter.
* include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
(num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
const _CharT*, int&)): Likewise.
* include/Makefile.in: Rebuild.
* testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.
* include/ext/vstring_util.h: Do not include the whole <locale>.
* include/ext/vstring.tcc (operator>>(basic_istream<>&,
__versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
_CharT)): Tweak to refer to ios_base as a base of istream; do not
refer to non-standard types of istream.
* include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
ws(basic_istream<>&)): Do not refer to non-standard types of istream.
* include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
Avoid using basic_streambuf<>*.
* include/bits/istream.tcc (operator>>(basic_istream<>&,
basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
Move...
* include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
as a base of istream; do not refer to non-standard types of istream.
* include/std/string: Tweak includes.
* include/ext/type_traits.h (__is_null_pointer): Add.
* include/ext/rc_string_base.h: Use it.
* include/ext/sso_string_base.h: Likewise.
* include/bits/basic_string.tcc (__is_null_pointer): Remove, use
the above.
* include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
Remove.
From-SVN: r123692
2007-04-10 10:38:50 +00:00
Paolo Carlini
f4e39278b3
PR libstdc++/28080 (partial)
...
2007-02-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/std/bitset: Do not include <ios>, <iosfwd> is enough.
(operator>>(std::basic_istream<>&, bitset<>&)): Tweak, refer to
ios_base as a base of basic_istream.
* include/std/iomanip: Do not include <ios>, <iosfwd> +
<bits/ios_base.h> is enough.
* include/std/iosfwd: Do not include <cctype> here...
* include/bits/locale_facets.h: ... do it here, when needed.
* include/bits/ostream.tcc: Clean up, do not include <locale> here...
* include/std/ostream: ... here instead.
* include/bits/istream.tcc: Likewise for <locale> and <ostream>...
* include/std/istream: ... here.
* include/bits/sstream.tcc: Do not include <sstream>.
From-SVN: r122380
2007-02-27 17:48:09 +00:00
Paolo Carlini
681a691966
PR libstdc++/28080 (partial)
...
2007-02-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/std/bitset: Do not include <istream> and <ostream>,
<ios> is enough.
* include/std/iomanip: Do not include the whole <istream>,
<ios> is enough; do not include <functional>; reformat.
* include/std/functional: Do not include <cstddef>.
* include/std/list: Do not include <bits/stl_uninitialized.h>.
* include/std/numeric: Do not include the whole <iterator> and
<bits/stl_function.h>.
* include/std/valarray: Do not include <numeric>.
* include/bits/stl_numeric.h: Include <bits/concept_check.h>.
* src/iostream-inst.cc: Include <istream>.
* include/ext/functional: Include <cstddef>.
* testsuite/util/testsuite_hooks.h: Do not include <locale>,
<ctime> is enough; qualify tm.
* testsuite/util/testsuite_hooks.cc: Qualify tm.
2007-02-26 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class ctype_byname<char>,
class ctype_byname<wchar_t>): Declare.
* src/ctype.cc (ctype_byname<wchar_t>::ctype_byname(const char*,
size_t), ctype_byname<wchar_t>::~ctype_byname): Define.
* config/locale/generic/ctype_members.cc (ctype_byname<char>::
ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
Likewise.
* config/locale/gnu/ctype_members.cc (ctype_byname<char>::
ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
Likewise.
* config/locale/darwin/ctype_members.cc (ctype_byname<char>::
ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
Likewise.
* testsuite/22_locale/headers/locale/synopsis.cc: Remove xfail.
From-SVN: r122329
2007-02-26 09:36:39 +00:00
Benjamin Kosnik
143c27b065
localefwd.h: Consistent @file placement...
...
2006-12-05 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h: Consistent @file placement, use
include/ as part of the path for files that have shadows instead of no
name.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/postypes.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config: Same.
* include/bits/valarray_array.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/c/std_cerrno.h: Same.
* include/precompiled/extc++.h: Same.
* include/precompiled/stdtr1c++.h: Same.
* include/precompiled/stdc++.h: Same.
* include/tr1/cinttypes: Same.
* include/tr1/fenv.h: Same.
* include/tr1/mu_iterate.h: Same.
* include/tr1/cstdio: Same.
* include/tr1/limits.h: Same.
* include/tr1/ctgmath: Same.
* include/tr1/cstdarg: Same.
* include/tr1/tuple: Same.
* include/tr1/float.h: Same.
* include/tr1/stdint.h: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cfenv: Same.
* include/tr1/wctype.h: Same.
* include/tr1/ref_fwd.h: Same.
* include/tr1/bind_repeat.h: Same.
* include/tr1/utility: Same.
* include/tr1/climits: Same.
* include/tr1/type_traits: Same.
* include/tr1/stdlib.h: Same.
* include/tr1/cwchar: Same.
* include/tr1/stdio.h: Same.
* include/tr1/ref_wrap_iterate.h: Same.
* include/tr1/cstdint: Same.
* include/tr1/memory: Same.
* include/tr1/cstdbool: Same.
* include/tr1/cwctype: Same.
* include/tr1/bind_iterate.h: Same.
* include/tr1/math.h: Same.
* include/tr1/random: Same.
* include/tr1/tuple_defs.h: Same.
* include/tr1/cstdlib: Same.
* include/tr1/unordered_map: Same.
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/cctype: Same.
* include/tr1/random.tcc: Same.
* include/tr1/wchar.h: Same.
* include/tr1/hashtable: Same.
* include/tr1/cmath: Same.
* include/tr1/stdbool.h: Same.
* include/tr1/ctime: Same.
* include/tr1/functional: Same.
* include/tr1/unordered_set: Same.
* include/tr1/inttypes.h: Same.
* include/tr1/functional_iterate.h: Same.
* include/tr1/repeat.h: Same.
* include/tr1/complex: Same.
* include/tr1/cfloat: Same.
* include/tr1/ctype.h: Same.
* include/tr1/stdarg.h: Same.
* include/tr1/tgmath.h: Same.
* include/tr1/array: Same.
* include/tr1/common.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_queue.h: Same.
* include/std/std_algorithm.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_ios.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_set.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_functional.h: Same.
* include/std/std_numeric.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_utility.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_string.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cerrno.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_climits.h: Same.
* include/c_std/std_cassert.h: Same.
* include/c_std/cmath.tcc
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cfloat.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* config/locale/gnu/c_locale.h: Namespace scope in all files.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/c++locale_internal.h: Same.
* config/locale/gnu/time_members.h: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/ieee_1003.1-2001/messages_members.h: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/messages_members.h: Same.
* config/locale/generic/time_members.h: Same.
* config/allocator/mt_allocator_base.h: Same.
* config/allocator/malloc_allocator_base.h: Same.
* config/allocator/new_allocator_base.h: Same.
* config/allocator/pool_allocator_base.h: Same.
* config/allocator/bitmap_allocator_base.h: Same.
* config/os/windiss/ctype_noninline.h: Same.
* config/os/windiss/os_defines.h: Same.
* config/os/windiss/ctype_inline.h: Same.
* config/os/newlib/ctype_noninline.h: Same.
* config/os/newlib/os_defines.h: Same.
* config/os/newlib/ctype_inline.h: Same.
* config/os/aix/ctype_noninline.h: Same.
* config/os/aix/os_defines.h: Same.
* config/os/aix/ctype_inline.h: Same.
* config/os/vxworks/ctype_noninline.h: Same.
* config/os/vxworks/os_defines.h: Same.
* config/os/vxworks/ctype_inline.h: Same.
* config/os/hpux/ctype_noninline.h: Same.
* config/os/hpux/os_defines.h: Same.
* config/os/hpux/ctype_inline.h: Same.
* config/os/mingw32/ctype_noninline.h: Same.
* config/os/mingw32/os_defines.h: Same.
* config/os/mingw32/ctype_inline.h: Same.
* config/os/gnu-linux/ctype_noninline.h: Same.
* config/os/gnu-linux/os_defines.h: Same.
* config/os/gnu-linux/ctype_inline.h: Same.
* config/os/tpf/ctype_noninline.h: Same.
* config/os/tpf/os_defines.h: Same.
* config/os/tpf/ctype_inline.h: Same.
* config/os/uclibc/ctype_noninline.h: Same.
* config/os/uclibc/os_defines.h: Same.
* config/os/uclibc/ctype_inline.h: Same.
* config/os/djgpp/ctype_noninline.h: Same.
* config/os/djgpp/os_defines.h: Same.
* config/os/djgpp/ctype_inline.h: Same.
* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
* config/os/qnx/qnx6.1/ctype_inline.h: Same.
* config/os/bsd/netbsd/ctype_noninline.h: Same.
* config/os/bsd/netbsd/ctype_inline.h: Same.
* config/os/bsd/darwin/ctype_noninline.h: Same.
* config/os/bsd/darwin/ctype_inline.h: Same.
* config/os/bsd/freebsd/ctype_noninline.h: Same.
* config/os/bsd/freebsd/ctype_inline.h: Same.
* config/os/irix/irix5.2/ctype_noninline.h: Same.
* config/os/irix/irix5.2/ctype_inline.h: Same.
* config/os/irix/irix6.5/ctype_noninline.h: Same.
* config/os/irix/irix6.5/ctype_inline.h: Same.
* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
* config/os/solaris/solaris2.5/ctype_inline.h: Same.
* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
* config/os/solaris/solaris2.6/ctype_inline.h: Same.
* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
* config/os/solaris/solaris2.7/ctype_inline.h: Same.
* config/os/generic/ctype_noninline.h: Same.
* config/os/generic/os_defines.h: Same.
* config/os/generic/ctype_inline.h: Same.
* config/cpu/arm/cxxabi_tweaks.h: Same.
* config/cpu/powerpc/cpu_defines.h: Same.
* config/cpu/generic/cxxabi_tweaks.h: Same.
* config/cpu/generic/cpu_defines.h: Same.
* config/cpu/generic/atomic_word.h: Same.
* config/io/c_io_stdio.h: Same.
* config/abi/compatibility.h: Same.
* docs/doxygen/user.cfg.in: Adjust file list.
From-SVN: r119561
2006-12-05 23:24:07 +00:00
Benjamin Kosnik
78a5388739
throw_allocator.h: Consistent @file markup.
...
2006-11-29 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/throw_allocator.h: Consistent @file markup.
* include/ext/type_traits.h: Same.
* include/debug/hash_map: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/formatter.h: Same.
* include/debug/bitset: Same.
* include/debug/set: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_sequence.h: Same.
* include/debug/hash_set: Same.
* include/debug/functions.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/safe_iterator.tcc: Same.
* include/debug/vector: Same.
* include/debug/map.h: Same.
* include/debug/deque: Same.
* include/debug/hash_map.h: Same.
* include/debug/string: Same.
* include/debug/macros.h: Same.
* include/debug/list: Same.
* include/debug/debug.h: Same.
* include/debug/map: Same.
* include/debug/safe_iterator.h: Same.
* include/debug/multimap.h: Same.
* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
* config/cpu/generic/atomic_word.h: Same.
* include/tr1/memory: Same.
* include/tr1/random: Same.
* include/std/std_queue.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_set.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_utility.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_string.h: Same.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* libsupc++/typeinfo: Same.
* libsupc++/exception: Same.
* libsupc++/exception_defines.h: Same.
* libsupc++/new: Same.
* include/ext/bitmap_allocator.h: Change namespace __balloc to
__detail.
* src/bitmap_allocator.cc: Same.
* include/bits/cpp_type_traits.h: Change __true_type and
__false_type from global to namespace std scope.
* include/ext/slist: Same.
* include/ext/vstring.h: Same.
* include/ext/vstring.tcc: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/sso_string_base.h: Same.
* include/bits/codecvt.h: Adjust markup so that correct namespace
scope information is in all files.
* include/bits/locale_facets.h: Same. Include ctype_base directly.
* config/os/windiss/ctype_base.h: Add in namespace markup.
* config/os/newlib/ctype_base.h: Same.
* config/os/aix/ctype_base.h: Same.
* config/os/vxworks/ctype_base.h: Same.
* config/os/hpux/ctype_base.h: Same.
* config/os/mingw32/ctype_base.h: Same.
* config/os/gnu-linux/ctype_base.h: Same.
* config/os/tpf/ctype_base.h: Same.
* config/os/uclibc/ctype_base.h: Same.
* config/os/djgpp/ctype_base.h: Same.
* config/os/qnx/qnx6.1/ctype_base.h: Same.
* config/os/bsd/netbsd/ctype_base.h: Same.
* config/os/bsd/darwin/ctype_base.h: Same.
* config/os/bsd/freebsd/ctype_base.h: Same.
* config/os/irix/irix5.2/ctype_base.h: Same.
* config/os/irix/irix6.5/ctype_base.h: Same.
* config/os/solaris/solaris2.5/ctype_base.h: Same.
* config/os/solaris/solaris2.6/ctype_base.h: Same.
* config/os/solaris/solaris2.7/ctype_base.h: Same.
* config/os/generic/ctype_base.h: Same.
* include/tr1/mu_iterate.h: Same.
* include/tr1/tuple: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/tuple_defs.h: Same.
* include/tr1/random.tcc: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
number changes.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
* docs/html/17_intro/license.html: Updated info for generated docs.
* docs/doxygen/guide.html: Adjust.
* docs/doxygen/run_doxygen: Adjust.
* docs/doxygen/mainpage.html: Same.
* docs/doxygen/doxygroups.cc: Same.
* docs/doxygen/Intro.3: Same.
* docs/doxygen/tables.html: Same.
From-SVN: r119334
2006-11-29 20:59:22 +00:00
Benjamin Kosnik
105c6331b2
type_traits.h: New.
...
2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
Peter Doerfler <gcc@pdoerfler.com>
Paolo Carlini <pcarlini@suse.de>
* include/ext/type_traits.h: New.
(__conditional_type): New.
(__numeric_traits): New.
(__add_unsigned): New.
(__remove_unsigned): New.
(__enable_if): New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
remove duplicates.
* include/tr1/hashtable_policy.h (IF): Use __conditional_type.
(_Max_digits10): Same.
(identity): Use _Identity.
(extract1st): Use _Select1st.
* include/tr1/random (_Select): Use __conditional_type.
(_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
* include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
__add_unsigned.
* include/tr1/random.tcc: Fixups as above.
* include/tr1/unordered_map: Same.
* include/tr1/hashtable: Same.
* include/tr1/unordered_set: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
standard_policies.hpp: Same.
* include/ext/pb_ds/detail/standard_policies.hpp: Same.
* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
* include/ext/pb_ds/detail/type_utils.hpp: Same.
* include/ext/pb_ds/trie_policy.hpp: Same.
* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
* include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
boolean argument first.
* include/bits/locale_facets.h: Fixups for __enable_if argument
and namespace switch.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/streambuf_iterator.h: Same.
* include/debug/safe_iterator.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cmath: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.
* include/std/std_streambuf.h: Same.
* include/c_std/std_cmath.h: Same.
* testsuite/util/testsuite_tr1.h: Same.
* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>
From-SVN: r117024
2006-09-18 13:30:56 +00:00
Paolo Carlini
bfdb907ca2
locale_facets.tcc (num_get<>::_M_extract_float): Special case main parsing loop for !_M_allocated (i.e., "C" locale).
...
2006-04-29 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Special case main parsing loop for !_M_allocated (i.e., "C" locale).
(num_get<>::_M_extract_int): Likewise.
* include/bits/locale_facets.h (num_get<>::_M_find): New.
From-SVN: r113377
2006-04-29 18:16:47 +00:00
Jakub Jelinek
6defecc2d3
configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
...
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
If true, set also port_specific_symbol_files and create
as_symver_specs.
(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
exported.
* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
* include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
* include/Makefile.am: Conditionally define
_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
* include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* src/Makefile.am (libstdc++-symbol.ver): Append instead of
insert in the middle if port specific symbol file requests it.
(ldbl_compat_sources): New variable.
(sources): Use it.
(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
* src/Makefile.in: Rebuilt.
* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r110725
2006-02-07 22:23:58 +00:00
Benjamin Kosnik
3cbc7af037
c++config: Add in revised namespace associations.
...
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Add in revised namespace associations.
_GLIBCXX_BEGIN_NAMESPACE: New macro.
_GLIBCXX_END_NAMESPACE: Same.
_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
_GLIBCXX_END_NESTED_NAMESPACE: Same.
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
* configure: Regenerated.
* config.h.in: Same.
* config/abi/pre/gnu-versioned-namespace.ver: New.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
debug mode items.
* include/Makefile.am (${host_builddir}/c++config.h): Fill in
values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
* include/Makefile.in: Regnerate.
* src/compatibility.cc: Alias new, nested definitions to exported
symbols from non-nested __gnu_debug.
* src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
* src/Makefile.in: Regenerate.
* docs/html/debug_mode.html: Revise for nested design.
* docs/html/debug.html: Use debug qualifications instead of
__gnu_debug.
* docs/html/configopts.html: Revise documentation for
--enable-symvers.
* include/debug/formatter: Simplify namespace qualifications for
current, nested-only reality. Add top-level namespace alias,
namespace debug, for debug-mode containers.
* include/debug/safe_iterator.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/bitset
* include/debug/safe_sequence.h: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/functions.h: Same.
* include/debug/safe_iterator.tcc
* include/debug/hash_multiset.h: Same.
* include/debug/vector
* include/debug/map.h: Same.
* include/debug/deque
* include/debug/hash_map.h: Same.
* include/debug/string
* include/debug/macros.h: Same.
* include/debug/list
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* src/debug.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/insert/16813.cc: Same.
* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
friends.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/localefwd.h: Same.
* include/bits/valarray_array.tcc: Same.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/atomicity.h: Same.
* include/bits/stream_iterator.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/stl_raw_storage_iter.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/ostream.tcc: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/stl_iterator_base_funcs.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config
* include/bits/stl_iterator.h: Same.
* include/bits/valarray_array.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/list.tcc: Same.
* include/bits/streambuf_iterator.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_function.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/allocator.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/fstream.tcc: Same.
* include/bits/stl_relops.h: Same.
* include/bits/functexcept.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_limits.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* include/backward/iterator.h: Same.
* include/backward/set.h: Same.
* include/backward/hashtable.h: Same.
* include/backward/fstream.h: Same.
* include/backward/tempbuf.h: Same.
* include/backward/istream.h: Same.
* include/backward/bvector.h: Same.
* include/backward/stack.h: Same.
* include/backward/rope.h: Same.
* include/backward/complex.h: Same.
* include/backward/ostream.h: Same.
* include/backward/heap.h: Same.
* include/backward/iostream.h: Same.
* include/backward/function.h: Same.
* include/backward/multimap.h: Same.
* include/backward/pair.h: Same.
* include/backward/stream.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/strstream
* include/backward/slist.h: Same.
* include/backward/tree.h: Same.
* include/backward/vector.h: Same.
* include/backward/deque.h: Same.
* include/backward/multiset.h: Same.
* include/backward/list.h: Same.
* include/backward/map.h: Same.
* include/backward/algobase.h: Same.
* include/backward/hash_map.h: Same.
* include/backward/algo.h: Same.
* include/backward/queue.h: Same.
* include/backward/streambuf.h: Same.
* src/allocator-inst.cc: Same.
* src/complex_io.cc: Same.
* src/localename.cc: Same.
* src/limits.cc: Same.
* src/ios_failure.cc: Same.
* src/locale-misc-inst.cc: Same.
* src/streambuf-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ios_locale.cc: Same.
* src/pool_allocator.cc: Same.
* src/fstream-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/string-inst.cc: Same.
* src/locale_init.cc: Same.
* src/ctype.cc: Same.
* src/strstream.cc: Same.
* src/ostream-inst.cc: Same.
* src/functexcept.cc: Same.
* src/streambuf.cc: Same.
* src/sstream-inst.cc: Same.
* src/ios.cc: Same.
* src/valarray-inst.cc: Same.
* src/locale.cc: Same.
* src/tree.cc: Same.
* src/stdexcept.cc: Same.
* src/istream.cc: Same.
* src/compatibility.cc: Same.
* src/locale-inst.cc: Same.
* src/globals_io.cc: Same.
* src/list.cc: Same.
* src/ios_init.cc: Same.
* src/locale_facets.cc: Same.
* src/codecvt.cc: Same.
* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/tuple
* include/tr1/hashtable
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/unordered_set
* include/tr1/functional
* include/tr1/ref_fwd.h: Same.
* include/tr1/utility
* include/tr1/type_traits
* include/tr1/array
* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
* include/ext/typelist.h: Same.
* include/ext/hash_map: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/iterator: Same.
* include/ext/rb_tree: Same.
* include/ext/numeric: Same.
* include/ext/vstring.tcc: Same.
* include/ext/sso_string_base.h: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/algorithm: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/new_allocator.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/vstring_util.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/ext/mt_allocator.h: Same.
* include/ext/debug_allocator.h: Same.
* include/ext/slist: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/hash_fun.h: Same.
* include/ext/malloc_allocator.h: Same.
* include/ext/functional: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/pod_char_traits.h: Same.
* include/ext/vstring.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/hash_set: Same.
* include/ext/memory: Same.
* include/ext/rope: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/atomicity.h: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/c_locale.h: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/generic/numeric_members.cc: Same.
* config/locale/generic/collate_members.cc: Same.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/c_locale.cc: Same.
* config/locale/generic/codecvt_members.cc: Same.
* config/locale/generic/messages_members.cc: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/monetary_members.cc: Same.
* config/locale/generic/time_members.cc: Same.
* config/os/aix/atomicity.h: Same.
* config/os/irix/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/io/c_io_stdio.h: Same.
* config/io/basic_file_stdio.cc: Same.
* config/io/basic_file_stdio.h: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ext-inst.cc: Same.
* src/string-inst.cc: Same.
* src/pool_allocator.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* libsupc++/exception: Same.
* libsupc++/vterminate.cc: Same.
* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
* testsuite/ext/hash_map/14648.cc: Same.
* libsupc++/eh_alloc.cc: Correct comment line spacing.
From-SVN: r108775
2005-12-19 00:56:05 +00:00
Kelley Cook
83f517994d
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103192
2005-08-17 02:28:44 +00:00
Jonathan Wakely
a65da37d5b
basic_string.h, [...]: Fix Doxygen comments that use wrong parameter and function names.
...
* include/bits/basic_string.h, include/bits/locale_facets.h: Fix
Doxygen comments that use wrong parameter and function names.
From-SVN: r101419
2005-06-29 13:18:08 +01:00
Paolo Carlini
82ce2a94d9
re PR libstdc++/19955 (Second std::ctype<char>::narrow() does not call std::ctype<char>::do_narrow())
...
2005-02-15 Paolo Carlini <pcarlini@suse.de>
Jon Grimm <jgrimm2@us.ibm.com>
PR libstdc++/19955
* include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
Fix the logic setting _M_narrow_ok: first check whether the
transformation is trivial with a dflt == 0, then deal with the
special case of zero.
* testsuite/22_locale/ctype/narrow/char/19955.cc: New.
* include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
Tweak consistently to use memcmp; minor formatting fixes.
Co-Authored-By: Jon Grimm <jgrimm2@us.ibm.com>
From-SVN: r95082
2005-02-15 23:29:52 +00:00
Benjamin Kosnik
00aca6e83a
locale_facets.h (isspace, [...]): Add doxygen markup.
...
2004-11-22 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (isspace, isprint, isupper,
islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
toupper, tolower): Add doxygen markup.
(codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
time_get_byname, time_put_byname, moneypunct_byname,
messages_byname): Same.
* include/std/std_fstream.h: Remove superfluous markup.
* include/std/std_sstream.h: Same.
* include/std/std_streambuf.h: Same.
* include/ext/enc_filebuf.h: Adjust markup.
* include/ext/stdio_filebuf.h: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/bits/codecvt.h: Same.
* config/os/gnu-linux/ctype_base.h: Same.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
* include/tr1/array: Add markup.
* include/tr1/tuple: Same.
* docs/doxygen/run_doxygen: Print arguments.
* docs/doxygen/user.cfg.in: Tweaks.
From-SVN: r91080
2004-11-23 09:18:41 +00:00
Benjamin Kosnik
6309eefc3d
re PR libstdc++/17218 (unknown subjects in generated libstdc++ manpages)
...
2004-11-05 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/17218
PR libstdc++/17223
* docs/doxygen/filter: Remove.
* docs/doxygen/filter.sed: Remove.
* docs/doxygen/mainpage.html: Add link to functions.
* docs/doxygen/run_doxygen: Changes due to new source filtering.
* docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
* include/bits/allocator.h: Tweaks for doxygen.
* include/bits/char_traits.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/locale_facets.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/debug_allocator.h: Same.
* include/ext/malloc_allocator.h: Same.
* include/ext/mt_allocator.h: Same.
* include/ext/new_allocator.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/std/std_memory.h: Same.
* include/tr1/array: Same.
* include/tr1/tuple: Same.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
* config/os/gnu-linux/ctype_base.h: Same.
From-SVN: r90137
2004-11-05 19:58:03 +00:00
Paolo Carlini
cb79308987
PR libstdc++/17038 (partial)
...
2004-08-25 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/17038 (partial)
* include/bits/locale_facets.tcc (time_put<>::do_put): Increase
__maxlen to 128.
* include/bits/locale_facets.h (class __timepunct): Add FIXME
comment about _M_put.
* config/locale/generic/time_members.cc (_M_put): Always null
terminate __s.
* config/locale/gnu/time_members.cc (_M_put): Likewise.
* testsuite/22_locale/time_put/put/char/17038.cc: New.
* testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
From-SVN: r86586
2004-08-25 23:38:29 +00:00
Benjamin Kosnik
26c691a88b
re PR libstdc++/12854 (libstdc++ vs. -Weffc++)
...
2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12854
Fixups for -Weffc++.
* include/bits/basic_string.h (basic_string::operator=): Return
pointer to this instead of result of assign. Although redundant,
this doesn't impact resultant codegen.
* include/bits/locale_facets.h (__numpunct_cache): Declare
assignment opxserator and copy constructor private.
(__timepunct_cache): Same.
(__moneypunct_cache): Same.
(collate): Use member initialization list for _M_c_locale_collate.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/time_members.h (__timepunct): Same.
* src/codecvt.cc: Use member initialization list to initialize
_M_c_locale_codecvt.
* src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
* config/os/gnu-linux/ctype_noninline.h: Same.
* src/locale.cc (_Impl): Same.
* src/locale_init.cc: Same.
* src/localename.cc: Same.
* include/bits/basic_ios.h (basic_ios): Complete member
initialization list.
* include/bits/istream.tcc (basic_istream::sentry): Same.
* include/bits/ostream.tcc (basic_ostream::sentry): Same.
* include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
_M_pback to member initialization list.
* include/std/std_streambuf.h: Same.
* include/std/std_sstream.h: Same, for _M_mode.
* src/ios.cc (ios_base): Same.
* include/ext/rope: Make derived classes match exception
specifications. Add copy constructors and assignment operators.
* include/debug/safe_base.h (_Safe_sequence_base): Declare copy
constructor and assignment operator protected.
(_Safe_iterator_base): Same.
* include/debug/formatter.h (_Error_formatter): Define copy
constructor and assignment operator.
* include/backward/strstream: Declare assignment operator and copy
constructor private.
From-SVN: r82153
2004-05-22 23:46:34 +00:00
Simon Marshall
95b147fe4a
re PR libstdc++/15090 (-fno-for-scope vs. libstdc++)
...
2004-05-13 Simon Marshall <simon.marshall@misys.com>
Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/15090
* include/bits/locale_facets.h: Fix for -fno-for-scope.
* include/debug/safe_sequence.h: Same.
* include/debug/safe_iterator.tcc: Same.
* src/debug.cc: Same.
* src/locale.cc: Same.
* src/locale_init.cc: Same.
* src/localename.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/numeric_members.cc: Same.
* testsuite/testsuite_abi.cc: Same.
* testsuite/testsuite_hooks.cc: Same.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r81795
2004-05-13 16:29:39 +00:00
Benjamin Kosnik
586b5f2013
locale_facets.h: Tweaks for 80 column.
...
2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h: Tweaks for 80 column.
(__numpunct_cache::_M_cache): Move to locale_facets.tcc.
(__moneypunct_cache::_M_cache): Same.
(num_get): Don't inherit from __num_base.
(num_put): Same.
(money_get): Don't inherit from money_base.
(money_put): Same.
(__timepunct::_M_am_pm_format): New.
(time_get::_M_extract_num): Return iterator, use ios_base as argument.
(time_get::_M_extract_name): Same.
(time_get::_M_extract_via_format): Same.
* include/bits/locale_facets.tcc: Tweaks for 80 column.
Use _M_getloc instead of getloc.
* testsuite/22_locale/money_put/put/char/9780-3.cc: New.
* testsuite/22_locale/num_put/put/char/9780-2.cc: New.
* testsuite/22_locale/time_put/put/char/9780-1.cc: New.
From-SVN: r79902
2004-03-24 06:41:07 +00:00
Paolo Carlini
f4bdbead2e
locale_facets.h (money_get<>::_M_extract): Change signature: now takes a plain string&.
...
2004-02-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (money_get<>::_M_extract):
Change signature: now takes a plain string&.
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Update consistently the definition; use the moneypunct cache
to parse the value; use swap to change __units.
(money_get<>::do_get(long double&)): Update call of _M_extract,
avoid ctype::narrow, not correct wrt the standard.
(money_get<>::do_get(string_type&)): Likewise, update call
of _M_extract, use ctype::widen.
* src/locale-inst.cc: Tweak instantiations of _M_extract.
From-SVN: r78562
2004-02-27 10:12:01 +00:00
Paolo Carlini
20da06efdc
locale_facets.tcc (money_put<>::_M_insert): Restructure formatting of value component...
...
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert):
Restructure formatting of value component, first dealing with
the non-decimal digits; use reserve.
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class money_get): Inherit
from money_base too; tweak declaration of _M_extract, now
parameterized on _Intl too.
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Update definition to use the cache; call reserve on __res to
avoid multiple reallocations; fix parsing of sign component
according to 22.2.6.1.2, p3.
(money_get<>::do_get(long double&),
money_get<>::do_get(string_type&)): Update calls of _M_extract.
* src/locale-inst.cc: Add instantiations of
money_get::_M_extract<false> and money_get::_M_extract<true>.
* testsuite/22_locale/money_get/get/char/14.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
From-SVN: r78253
2004-02-22 11:13:27 +00:00
Paolo Carlini
fe932e504b
locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms.
...
2004-02-21 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class money_base): Add { _S_minus,
_S_zero, _S_end } enum, _S_atoms.
(struct __moneypunct_cache<>): Parameterize on _Intl too; add
_M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
_M_negative_sign_size, _M_atoms; tweak constructor consistently.
(__moneypunct_cache<>::~__moneypunct_cache): Update.
(__moneypunct_cache<>::_M_cache): Fill the cache.
(class moneypunct): Tweak __cache_type typedef.
(class money_put): Inherit from money_base too; tweak declaration
of _M_insert, now parameterized on _Intl.
* include/bits/locale_facets.tcc
(struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
(money_put<>::_M_insert): Update definition to use the cache;
call reserve on __res to avoid multiple reallocations.
(money_put<>::do_put(long double),
money_put<>::do_put(const string_type&): Update calls of _M_insert.
* config/locale/generic/monetary_members.cc
(moneypunct<char, true>::_M_initialize_moneypunct,
moneypunct<char, false>::_M_initialize_moneypunct,
moneypunct<wchar_t, true>::_M_initialize_moneypunct,
moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
* config/locale/gnu/monetary_members.cc: Likewise.
* config/locale/gnu/monetary_members.cc
(moneypunct<wchar_t, true>::~moneypunct(),
moneypunct<wchar_t, false>::~moneypunct()): Likewise.
* src/globals_locale.cc: Tweak fake_money_cache_c.
* src/locale-inst.cc: Add instantiations for
money_put::_M_insert<false> and money_put::_M_insert<true> and
__moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
* src/locale_facets.cc: Define money_base::_S_atoms.
* src/locale_init.cc: Update placement new of
__moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
__moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
* config/locale/generic/numeric_members.cc: Clean up.
* config/locale/gnu/numeric_members.cc: Likewise.
* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
From-SVN: r78216
2004-02-21 09:26:35 +00:00
Paolo Carlini
2ddf25f217
locale_facets.h (money_get<>::_M_extract): New, helper for do_get.
...
2004-02-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (money_get<>::_M_extract):
New, helper for do_get.
(money_put<>::_M_insert): Likewise, for do_put.
* include/bits/locale_facets.tcc (money_get<>::_M_extract,
money_put<>::_M_insert): Define.
(money_get<>::do_get(long double&), money_get<>::do_get(
string_type&), money_put::do_put(long double),
money_put::do_put(const string_type&)): Use the helpers.
From-SVN: r78037
2004-02-18 16:39:13 +00:00
Bernardo Innocenti
ed6814f7b3
Remove trailing whitespace (see ChangeLog for longwinded description).
...
From-SVN: r77479
2004-02-08 05:46:42 +01:00
Jerry Quinn
ffcec5c832
codecvt.h, [...]: Document.
...
2003-01-26 Jerry Quinn <jlquinn@optonline.net>
* include/bits/codecvt.h, include/bits/locale_facets.h,
include/bits/postypes.h, include/bits/stl_bvector.h,
include/bits/stl_multiset.h, include/bits/stl_set.h,
include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
include/std/std_complex.h: Document.
From-SVN: r76688
2004-01-27 02:58:06 +00:00
Paolo Carlini
22352844c9
re PR libstdc++/13831 (Unused variable in basic_filebuf::underflow)
...
2004-01-23 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13831
* include/bits/fstream.tcc (underflow): Remove unused
variable.
* include/bits/streambuf_iterator.h (equal): Ditto.
* include/bits/locale_facets.h (_M_convert_from_char):
Ditto.
From-SVN: r76433
2004-01-23 16:51:24 +00:00
Paolo Carlini
47f62b27c8
locale_facets.h (struct __numpunct_cache): Add member _M_grouping_size, caching the length of _M_grouping.
...
2004-01-14 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (struct __numpunct_cache):
Add member _M_grouping_size, caching the length of _M_grouping.
(__numpunct_cache<>::_M_cache): Assign the latter.
(__verify_grouping): Move declaration...
* include/bits/locale_facets.tcc (__verify_grouping):
... here, change signature to take a const char* and a size_t
for the grouping; not a template anymore.
(__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
Likewise change signature and tweak consistently.
(num_get::_M_extract_float, num_get::_M_extract_int,
num_put::_M_insert_int, num_put::_M_insert_float,
money_get::do_get(string_type&), money_get::do_put(string_type)):
Update callers.
* config/locale/generic/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Assign the new member.
* config/locale/gnu/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Likewise.
* src/locale-inst.cc (__add_grouping): Tweak signature.
(__verify_grouping): Don't instantiate, not a template anymore.
* include/bits/locale_facets.h: Rename _M_truename_len ->
_M_truename_size, _M_falsename_len -> _M_falsename_size.
* include/bits/locale_facets.tcc: Likewise.
* config/locale/generic/numeric_members.cc: Likewise.
* config/locale/gnu/numeric_members.cc: Likewise.
From-SVN: r75876
2004-01-14 19:14:39 +00:00
Paolo Carlini
dc6798f865
locale_facets.h (struct __numpunct_cache): Add members _M_truename_len and _M_falsename_len...
...
2004-01-12 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (struct __numpunct_cache):
Add members _M_truename_len and _M_falsename_len, caching
the lengths of _M_truename and _M_falsename.
(__numpunct_cache<>::_M_cache): Assign the latter.
* include/bits/locale_facets.tcc (num_get::do_get(bool&),
num_put::do_put(bool)): Use the new members, thus avoiding
computing string lengths again and again.
* config/locale/generic/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Assign the new members.
* config/locale/gnu/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Likewise.
From-SVN: r75735
2004-01-12 17:02:08 +00:00
Giovanni Bajo
f88e471576
locale_facets.h: Make a name really dependent.
...
* include/bits/locale_facets.h: Make a name really dependent. This
will be needed when Core Issue 224 is implemented.
From-SVN: r75617
2004-01-10 01:10:23 +00:00
Jerry Quinn
9a01c9b061
locale_facets.h: Document public classes and functions.
...
2003-01-06 Jerry Quinn <jlquinn@optonline.net>
* include/bits/locale_facets.h: Document public classes and
functions.
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Add comment.
From-SVN: r75498
2004-01-07 05:22:37 +00:00
Paolo Carlini
17fa55600a
numeric_members.cc (_M_initialize_numpunct): Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in...
...
2004-01-04 Paolo Carlini <pcarlini@suse.de>
* config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
always use double underscored names.
* config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
Likewise.
* include/bits/locale_facets.h (struct __numpunct_cache):
Dimension _M_atoms_out and _M_atoms_in one position smaller.
(__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
and _M_atoms_in.
From-SVN: r75393
2004-01-04 18:34:27 +00:00
Jerry Quinn
a043b1f5c9
locale_facets.h (ctype.narrow,widen): Add cast.
...
2003-12-29 Jerry Quinn <jlquinn@optonline.net>
* include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
From-SVN: r75222
2003-12-30 03:09:17 +00:00
Jerry Quinn
2dbd0234aa
2003-12-19 Jerry Quinn <jlquinn@optonline.net>
...
* include/bits/locale_facet.h
(__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
Document.
From-SVN: r74848
2003-12-19 20:44:18 +00:00
Paolo Carlini
9a1349b920
re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
...
2003-12-16 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11723
* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
used to speed up the computation of ctype::do_is.
* config/locale/generic/ctype_members.cc
(_M_initialize_ctype): Fill _M_bit and _M_wmask.
(ctype::do_is): Use _M_bit and _M_wmask.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/is_wchar_t.cc: New.
* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
string literal (incorrect citation ;)
* include/bits/locale_facets.h: Minor tweaks, const
correctness, unsigned -> size_t.
From-SVN: r74686
2003-12-16 11:00:52 +00:00
Jerry Quinn
84cea62612
locale_facets.h (widen, narrow): Uncomment the intended code.
...
2003-12-16 Jerry Quinn <jlquinn@optonline.net>
* include/bits/locale_facets.h (widen, narrow): Uncomment the
intended code.
From-SVN: r74668
2003-12-16 05:39:36 +00:00
Jerry Quinn
3fc63c15b4
ctype_noninline.h, [...] (ctype): Initialize _M_narrow, _M_widen.
...
2003-12-15 Jerry Quinn <jlquinn@optonline.net>
* config/os/aix/ctype_noninline.h,
config/os/bsd/freebsd/ctype_noninline.h,
config/os/bsd/netbsd/ctype_noninline.h,
config/os/djgpp/ctype_noninline.h,
config/os/generic/ctype_noninline.h,
config/os/gnu-linux/ctype_noninline.h,
config/os/hpux/ctype_noninline.h,
config/os/irix/irix5.2/ctype_noninline.h,
config/os/irix/irix6.5/ctype_noninline.h,
config/os/mingw32/ctype_noninline.h,
config/os/newlib/ctype_noninline.h,
config/os/qnx/qnx6.1/ctype_noninline.h,
config/os/solaris/solaris2.5/ctype_noninline.h,
config/os/solaris/solaris2.6/ctype_noninline.h,
config/os/solaris/solaris2.7/ctype_noninline.h,
config/os/vxworks/ctype_noninline.h,
config/os/windiss/ctype_noninline.h (ctype): Initialize
_M_narrow, _M_widen.
* include/bits/locale_facets.h (_M_widen, _M_widen_ok,
_M_narrow, _M_narrow_ok): New.
(widen, narrow): Use tables to bypass virtual functions.
(_M_widen_init, _M_narrow_init): New.
From-SVN: r74662
2003-12-16 01:57:03 +00:00
Paolo Carlini
ca13fb7f5d
locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match...
...
2003-12-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
Fail as soon as the begins of both truename and falsename
stop to match; always leave __beg one position beyond the
last char successfully matched.
* testsuite/22_locale/num_get/get/char/8.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2003-12-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (_M_widen): Reserve space
for all the possible widened chars.
* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
Compute at construction time all the possible widened chars.
(do_widen): Tweak, simplify.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
for the array versions.
From-SVN: r74636
2003-12-15 16:56:42 +00:00
Paolo Carlini
e3c0c0989b
re PR libstdc++/13341 (ctype<wchar_t>::do_narrow(wchar_t, char) is slow)
...
2003-12-12 Paolo Carlini <pcarlini@suse.de>
Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/13341
* include/bits/locale_facets.h (ctype<wchar_t>): Declare
_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
ctype<wchar_t>::ctype(__c_locale, size_t)): Use
_M_initialize_ctype to fill _M_narrow and _M_widen.
(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
Likewise.
* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
Use _M_narrow and _M_widen when possible, instead of calling
wctob and btowc, respectively.
(_M_initialize_ctype): Define, it fills at construction time
_M_narrow and _M_widen.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/narrow_widen_wchar_t.cc: New.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r74580
2003-12-12 19:44:17 +00:00
Paolo Carlini
0fa96a6006
c_locale.cc (__convert_to_v(long&), [...]): Remove.
...
2003-12-08 Paolo Carlini <pcarlini@suse.de>
* config/locale/generic/c_locale.cc (__convert_to_v(long&),
__convert_to_v(unsigned long&), __convert_to_v(long long&),
__convert_to_v(unsigned long long&): Remove.
(__convert_to_v(float&), __convert_to_v(double&),
__convert_to_v(long double&)): Remove last unused parameter.
* config/locale/gnu/c_locale.cc: Likewise.
* include/bits/locale_facets.h: Likewise.
(num_get::_M_extract_int): Update declaration.
(class __num_base): Tweak _S_ie and _S_iE according to the
_S_atoms_in changes.
* include/bits/locale_facets.tcc (num_get::_M_extract_int):
Provide directly the final _ValueT, not a string: accumulate
the result checking for overflow at each digit.
(num_get::do_get(bool&), num_get::do_get(long&),
num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
num_get::do_get(unsigned long&), num_get::do_get(long long&),
num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
Use the new _M_extract_int, simplify.
* src/locale-inst.cc (num_get::_M_extract_int(long&),
num_get::_M_extract_int(unsigned short&),
num_get::_M_extract_int(unsigned int&),
num_get::_M_extract_int(unsigned long&),
num_get::_M_extract_int(long long&),
num_get::_M_extract_int(unsigned long long&): Instantiate.
* src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
the chars in the natural order: abcdefABCDEF.
From-SVN: r74423
2003-12-08 15:37:03 +00:00
Paolo Carlini
7fb1d71193
2003-11-26 Paolo Carlini <pcarlini@suse.de>
...
* include/bits/locale_facets.h
(__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
_M_truename and _M_falsename: the constructor always does
it immediately before the _M_cache call.
From-SVN: r73948
2003-11-26 11:47:01 +00:00
Paolo Carlini
3c8797ae81
codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
...
2003-11-24 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweak.
* testsuite/performance/wchar_t_in.cc: New.
2003-11-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h
(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
in order to avoid memory leaks; simplify a bit.
From-SVN: r73893
2003-11-24 21:13:38 +00:00
Benjamin Kosnik
e0f05105f7
locale_facets.h (time_get::_M_extract_name): Add ctype argument.
...
2003-11-03 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (time_get::_M_extract_name): Add
ctype argument.
* include/bits/locale_facets.tcc: Same, use it to allow
capitalized names.
* include/bits/fstream.tcc: Spacing tweak.
* include/bits/istream.tcc: Same.
* include/bits/ostream.tcc: Same.
From-SVN: r73241
2003-11-04 02:06:59 +00:00
Paolo Carlini
f20d2b7871
re PR libstdc++/12750 (time_get::_M_extract_via_format doesn't deal with 'e')
...
2003-10-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12750
* include/bits/locale_facets.tcc
(time_get::_M_extract_via_format): Deal with code 'e'.
* testsuite/22_locale/time_get/get_date/char/12750.cc: New.
* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
* include/bits/locale_facets.tcc
(time_get::_M_extract_via_format): Tweak to absolutely avoid
dereferencing end iterators.
* include/bits/locale_facets.h (__verify_grouping):
Const-ify second parameter.
* include/bits/locale_facets.tcc (__verify_grouping): Ditto.
* src/locale-inst.cc (__verify_grouping): Ditto.
2003-10-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get::_M_extract_float):
Various things: 1- Avoid absolutely end iterator dereferences;
2- Improve performance-wise the code skipping leading zeros;
3- Fix two bugs wrt early bail out in case of parsing errors
(see testcases); 4- General clean up.
(num_get::_M_extract_int): Likewise, except 3-. Additionally,
use __builtin_expect to favor base 10 inputs.
* testsuite/22_locale/num_get/get/char/7.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
From-SVN: r72987
2003-10-27 16:21:14 +00:00
Benjamin Kosnik
bf5fe4734c
locale_facets.h: Correct byname facets for "C" locale.
...
2003-10-22 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h: Correct byname facets for "C"
locale.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/messages_members.h: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/messages_members.h: Same.
* include/bits/codecvt.h: Same.
* src/ctype.cc: Same.
* testsuite/22_locale/codecvt_byname/1.cc: New.
* testsuite/22_locale/collate/1.cc: Edit.
* testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
* testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
* testsuite/22_locale/ctype/1.cc: Derivation tests.
* testsuite/22_locale/ctype/11844.cc: Move...
* testsuite/22_locale/ctype_base/11844.cc: ...here.
* testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
* testsuite/22_locale/ctype_byname/1.cc: Name.
* testsuite/22_locale/messages_byname/1.cc: New.
* testsuite/22_locale/messages_byname/named_equivalence.cc: New.
* testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
* testsuite/22_locale/numpunct/1.cc: Edit.
* testsuite/22_locale/numpunct_byname/2.cc: Move...
* testsuite/22_locale/numpunct/members/char/3.cc: ...here.
* testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
* testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
From-SVN: r72814
2003-10-22 18:58:35 +00:00
Benjamin Kosnik
82c2e3d44a
re PR libstdc++/9858 (Extra virtual functions in ctype<char>)
...
2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/9858
* include/bits/locale_facets.h (ctype<char>): Remove
__ctype_abstract_base.
(ctype<char>::do_is): Remove.
(ctype<char>::do_scan_is): Remove.
* src/ctype.cc: Same. Inline the rest.
* testsuite/22_locale/ctype/is/char/9858.cc: New.
* config/os/aix/ctype_noninline.h: Adjust ctor.
* config/os/bsd/freebsd/ctype_noninline.h: Same.
* config/os/bsd/netbsd/ctype_noninline.h: Same.
* config/os/djgpp/ctype_noninline.h: Same.
* config/os/generic/ctype_noninline.h: Same.
* config/os/gnu-linux/ctype_noninline.h: Same.
* config/os/hpux/ctype_noninline.h: Same.
* config/os/irix/irix5.2/ctype_noninline.h: Same.
* config/os/irix/irix6.5/ctype_noninline.h: Same.
* config/os/mingw32/ctype_noninline.h: Same.
* config/os/newlib/ctype_noninline.h: Same.
* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
* config/os/windiss/ctype_noninline.h: Same.
From-SVN: r72753
2003-10-21 14:22:43 +00:00
Benjamin Kosnik
8ae8113683
[multiple changes]
...
2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Export _S_get_c_locale instead of
_S_c_locale object.
2003-10-02 Petur Runolfsson <peturr02@ru.is>
* config/locale/generic/c_locale.cc
(category_names, locale::_S_categories): Const qualify.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/generic/time_members.h (__timepunct::__timepunct):
Copy string contents before assigning to _M_name_timepunct,
qualify strcpy and strlen with std::.
* config/locale/gnu/time_members.h: Same.
* config/locale/gnu/messages_members.h (messages::messages):
Copy string contents before assigning to _M_name_messages,
qualify strcpy and strlen with std::.
* config/os/gnu-linux/ctype_noninline.h
(ctype<char>::classic_table()): Don't call locale::classic().
* include/bits/locale_classes.h
(locale::_S_categories): Const qualify.
(locale::_S_once, locale::_S_initialize_once,
locale::facet::_S_once, locale::facet::_S_initialize_once,
locale::facet::_S_get_c_locale): Declare.
(locale::_S_initialize): Don't define.
(locale::facet::_S_c_locale): Make private.
(locale::facet::_S_c_name): Same, const qualify.
(locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
parameters, add throw() specifier.
* include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
messages::_M_name_messages): Const qualify.
* src/locale.cc
(locale::_S_once, locale::facet::_S_once): Define.
(locale::classic): Move initialization code...
(locale::_S_initialize_once): ...here.
(locale::_S_initialize): Call _S_initialize_once through
__gthread_once.
(locale::facet::_S_initialize_once): Initialize _S_c_locale.
(locale::facet::_S_get_c_locale): Call _S_initialize_once through
__gthread_once before returning _S_c_locale.
* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
Drop unused parameters, add throw() specifier, don't initialize
locale::facet::_S_c_locale and _S_c_name.
* config/locale/generic/messages_members.h:
Replace _S_c_locale with _S_get_c_locale().
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/os/gnu-linux/ctype_noninline.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/locale_facets.tcc: Same.
* src/codecvt.cc: Same.
* src/ctype.cc: Same.
From-SVN: r72040
2003-10-02 16:56:39 +00:00
Benjamin Kosnik
2803847d40
basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*.
...
2003-08-11 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/basic_ios.h: Remove *_iter typedefs, change num*
typedefs to num_*.
* include/bits/basic_ios.tcc: Same.
* include/bits/istream.tcc: Same.
* include/bits/locale_facets.h: Same.
* include/bits/ostream.tcc: Same.
* include/std/std_istream.h: Same.
* include/std/std_ostream.h: Same.
* testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
* include/ext/rope: Remove build warning.
From-SVN: r70357
2003-08-12 03:46:18 +00:00
Benjamin Kosnik
fea4065dda
linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
...
2003-07-17 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
* config/locale/generic/messages_members.h: Tweaks.
* config/locale/generic/monetary_members.cc
(moneypunct::_M_initialize_moneypunct): Use cache.
(moneypunct::~moneypunct): Delete cache.
* config/locale/generic/time_members.cc:
(__timepunct::_M_initialize_timepunct): Use cache.
* config/locale/generic/time_members.h:
(__timepunct::~__timepunct): Delete cache.
(__timepunct::__timepunct): Set cache.
* config/locale/gnu/messages_members.h: Tweaks.
* config/locale/gnu/monetary_members.cc:
(moneypunct::_M_initialize_moneypunct): Use cache.
(moneypunct::~moneypunct): Delete cache.
* config/locale/gnu/time_members.cc:
(__timepunct::_M_initialize_timepunct): Use cache.
* config/locale/gnu/time_members.h:
(__timepunct::~__timepunct): Delete cache.
(__timepunct::__timepunct): Set cache.
* include/bits/locale_facets.h (__timepunct_cache): New.
(__moneypunct_cache): New.
* include/bits/locale_facets.tcc: Tweak.
* src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
* src/locale-inst.cc: Instantiate caches.
* src/globals.cc: Add "C" caches.
* src/localename.cc: Use external "C" caches.
From-SVN: r69535
2003-07-18 02:27:16 +00:00