Benjamin Kosnik
390e4c0dbe
c++config (_GLIBCXX_STD): New.
...
2004-04-16 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCXX_STD): New.
* src/list.cc: Use it.
* include/std/std_bitset.h: Same.
* include/bits/vector.tcc: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/deque.tcc: Same.
* include/bits/list.tcc: Same.
* include/debug/vector: Same.
* include/debug/set.h: Same.
* include/debug/multiset.h: Same.
* include/debug/multimap.h: Same.
* include/debug/map.h: Same.
* include/debug/list: Same.
* include/debug/deque: Same.
* include/debug/bitset: Same.
* include/debug/formatter.h (__gnu_debug): Remove using directive.
Add using declaration for std::type_info.
* include/debug/safe_iterator.h: Add using declaration for
std::iterator_traits and std::pair.
* src/debug_list.cc: New.
* src/Makefile.am: Add debug_list.cc.
* src/Makefile.in: Regenerate.
* config/linker-map.gnu: Add _List_node_base exports for std and
__gnu_norm.
* include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
idiom that other containers use.
* testsuite/23_containers/vector/bool/clear_allocator.cc: New.
From-SVN: r80763
2004-04-16 19:04:07 +00:00
Benjamin Kosnik
f83295bafc
re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())
...
2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12658
* src/locale_init.cc (locale::locale): Lock critical regions with
external mutexes.
(locale::global): Same.
* include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
Add in once bits for cases without __GTHREAD_MUTEX_INIT.
(__glibcxx_mutex_lock): Same.
* config/cpu/generic/atomicity.h: Remove
_GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
* src/misc-inst.cc: Move all locking bits out of this file.
* config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
* src/misc-inst.cc: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/linker-map.gnu: Remove types in the signature of atomic
exports, as they may vary.
From-SVN: r79043
2004-03-07 01:32:43 +00:00
Benjamin Kosnik
2c5d0ae842
atomicity.h: New, forward declarations for __atomic_add and __exchange_and_add.
...
2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/atomicity.h: New, forward declarations for __atomic_add
and __exchange_and_add.
* config/cpu/generic/atomic_word.h: New, typdef for atomic word.
* config/cpu/cris/atomic_word.h: Same.
* config/cpu/sparc/atomic_word.h: Same.
* include/bits/ios_base.h (_Callback_list::_M_remove_reference):
Qualifiy with __gnu_cxx.
(_Callback_list::_M_add_reference): Same.
* include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
(locale::facet::_M_remove_reference): Same.
(locale::_Impl::_M_add_reference): Add.
(locale::_Impl::_M_remove_reference): Same.
* include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
(basic_string::_Rep::_M_dispose): Same.
* src/ios.cc (ios_base::xalloc): Same.
* src/ios_init.cc (ios_base::Init::Init): Same.
(ios_base::Init::~Init): Same.
* src/locale.cc (locale:🆔 :_M_id): Same.
* config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
static, and inline keyworks.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* src/Makefile.am (host_sources): Add atomicity.cc.
(atomicity.cc): New rule.
* src/Makefile.in: Regenerate.
* include/Makefile.am (host_headers): Remove host atomicity.h.
(host_headers): Add atomic_word.h.
(bits_headers): Add bits atomicity.h.
Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
* include/Makefile.in: Regenerate.
* configure.host (atomic_word_dir): Add.
* configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
* configure: Regenerate.
* config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
From-SVN: r78544
2004-02-27 00:49:50 +00:00
Loren J. Rittle
d318a8ba74
re PR libstdc++/14097 ([3.4 only] Severe disparity between stdio_filebuf and stdio_sync_filebuf.)
...
PR libstdc++/14097
* config/linker-map.gnu: Add typeinfo and typeinfo name for
__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
From-SVN: r77636
2004-02-11 05:21:57 +00:00
Loren J. Rittle
64bd39ccc7
re PR libstdc++/14098 ([3.4 only] typeinfo issue with __gnu_cxx::stdio_sync_filebuf)
...
PR libstdc++/14098
* config/linker-map.gnu: Add typeinfo and typeinfo name for
__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
From-SVN: r77635
2004-02-11 05:03:13 +00:00
Benjamin Kosnik
ba9d552e03
Makefile.am (bits_headers): Remove allocator_traits.h.
...
2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (bits_headers): Remove allocator_traits.h.
* include/Makefile.in: Regenerate.
* include/bits/allocator_traits.h: Remove.
* include/bits/allocator.h: Remove allocator_traits.h include, and
relevant comments.
(allocator): Empty base class, inherit from the underlying allocator.
* src/allocator-inst.cc: Move __pool_alloc instantiation to...
* src/allocator.cc: ...here. New. For the underlying allocators.
Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
* config/linker-map.gnu: Remove __pool_alloc bits.
* src/Makefile.am (sources): Add allocator.cc.
* src/Makefile.in: Regenerate.
* testsuite/20_util/allocator/1.cc: Split second test into...
* testsuite/20_util/allocator/8230.cc: ...this.
* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
typedef to use std::allocatore. Format.
* include/ext/pool_allocator.h: Remove allocator_traits.h include,
_Alloc_traits.
* include/ext/mt_allocator.h (__gnu_cxx): Qualify
__throw_bad_alloc calls. Don't include <memory>.
* include/ext/malloc_allocator.h: Remove <memory> include.
* include/ext/new_allocator.h (new_allocator): Same.
* include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
declaration. Switch __alloc to _Alloc.
* include/ext/hashtable.h: Remove __alloc.
* include/backward/alloc.h: Only inject allocator, not
implementation details.
* include/ext/mt_allocator.h: Replace free with delete.
From-SVN: r76821
2004-01-29 00:18:40 +00:00
Kaveh R. Ghazi
129057c1ee
re PR c/13814 (rejects different prototypes than builtin function)
...
PR c/13814
* config/linker-map.gnu (nan): Delete.
* libmath/mathconf.h (NAN, nan): Delete.
* linkage.m4 (nan): Don't check for it.
* libmath/nan.c: Delete file.
* config.h.in, configure: Regenerate.
From-SVN: r76431
2004-01-23 16:47:06 +00:00
Benjamin Kosnik
e135a038d3
[multiple changes]
...
2004-01-07 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_list.h:
* include/bits/list.tc:
* src/list.cc:
Performance enhancements for destructor, push_front(),
push_back(), pop_front(), pop_back(), sort()
Eliminated static_casts where possible.
Moved code out of header files into new src/list.cc
implementation file for library where possible.
Remove inheritance from iterator class and create separate
classes for non-constant and constant iterators.
* include/bits/stl_tree.h (_Rb_tree class):
* src/tree.cc:
Only erase contents in destructor.
Eliminate unnecessary initialization in assignment operator.
Optimize for the nominal case by not checking whether
container is empty in clear().
Re-order test in _M_insert() to improve performance.
Move initialization of new node's left & right pointers to
src/tree.cc to where new node's colour is initialized
and to reduce the amount of inline code.
Use _M_leftmost() and _M_end() to improve readability where
appropriate.
Create separate classes for non-constant and constant
iterators to clarify code, avoid extra template parameters and
casting away constness.
2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Add list.cc, tree.cc.
* src/stl_tree.cc: Move to...
* src/tree.cc: ...here.
* src/list.cc: Add.
* config/linker-map.gnu: Tweaks.
* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
* bits/stl_vector.h: Column wrap comments.
From-SVN: r75515
2004-01-07 20:55:06 +00:00
Benjamin Kosnik
70a8416094
5.cc: Don't use stdc++.h.gch.
...
2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
* testsuite/27_io/objects/wchar_t/5.cc: Same.
* docs/html/test.html: Add docs for constructing test files that
don't use stdc++.h.gch.
* scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
* testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
differently.
* include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
* src/ios_init.cc: Same.
* config/linker-map.gnu: Same.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
From-SVN: r74946
2003-12-22 20:09:23 +00:00
Benjamin Kosnik
5ec3f5662c
linker-map.gnu: Remove private ios_base members from export list.
...
2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Remove private ios_base members from
export list.
* config/cpu/alpha/atomicity.h: Consistently format.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
From-SVN: r74486
2003-12-10 04:52:37 +00:00
Benjamin Kosnik
285b36d6a5
[multiple changes]
...
2003-11-11 Doug Gregor <gregod@cs.rpi.edu>
* docs/html/debug.html: Document libstdc++ debug mode.
* docs/html/debug_mode.html: Document libstdc++ debug mode design.
* docs/html/test.html: Document how to test under debug mode.
* docs/html/17_intro/howto.html: Document debug-mode macros.
* include/Makefile.am: Install debug-mode headers.
* src/Makefile.am: Include debug.cc.
* include/bits/basic_string.tcc:
(basic_string::_S_construct): Fix NULL pointer check.
(__is_null_pointer): New.
Add precondition annotations.
* include/bits/stream_iterator.h (istream_iterator,
ostream_iterator): Added precondition annotations.
* include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
* include/bits/stl_queue.h (queue, priority_queue): Ditto.
* include/bits/stl_stack.h (stack): Ditto.
* include/bits/basic_string.h (basic_string): Ditto.
* include/bits/basic_string.tcc (basic_string): Ditto.
* include/std/std_memory.h (auto_ptr): Ditto.
* include/std/std_valarray.h (valarray): Ditto.
* include/bits/stl_algo.h: Added algorithm precondition
annotations.
* include/bits/stl_algobase.h: Added algorithm precondition
annotations.
* include/bits/stl_numeric.h: Ditto.
* include/ext/algorithm: Added algorithm precondition
annotations.
(__is_heap): Moved away from here.
* include/bits/stl_heap.h: Added algorithm precondition
annotations.
(__is_heap): Moved to the top of this file.
(__is_heap): Added iterator range overloads.
* testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
with changes in std_memory.h.
* testsuite/23_containers/list/operators/4.cc: Don't verify
performance guarantees when in debug mode.
* testsuite/23_containers/bitset/invalidation/1.cc: New.
* testsuite/23_containers/deque/invalidation/1.cc: New.
* testsuite/23_containers/deque/invalidation/2.cc: New.
* testsuite/23_containers/deque/invalidation/3.cc: New.
* testsuite/23_containers/deque/invalidation/4.cc: New.
* testsuite/23_containers/list/invalidation/1.cc: New.
* testsuite/23_containers/list/invalidation/2.cc: New.
* testsuite/23_containers/list/invalidation/3.cc: New.
* testsuite/23_containers/list/invalidation/4.cc: New.
* testsuite/23_containers/map/invalidation/1.cc: New.
* testsuite/23_containers/map/invalidation/2.cc: New.
* testsuite/23_containers/multimap/invalidation/1.cc: New.
* testsuite/23_containers/multimap/invalidation/2.cc: New.
* testsuite/23_containers/multiset/invalidation/1.cc: New.
* testsuite/23_containers/multiset/invalidation/2.cc: New.
* testsuite/23_containers/set/invalidation/1.cc: New.
* testsuite/23_containers/set/invalidation/2.cc: New.
* testsuite/23_containers/vector/invalidation/1.cc: New.
* testsuite/23_containers/vector/invalidation/2.cc: New.
* testsuite/23_containers/vector/invalidation/3.cc: New.
* testsuite/23_containers/vector/invalidation/4.cc: New.
* testsuite/25_algorithms/heap.cc: Don't verify
performance guarantees when in debug mode.
* include/debug/bitset: New.
* include/debug/debug.h: New.
* include/debug/deque: New.
* include/debug/formatter.h: New.
* include/debug/hash_map: New.
* include/debug/hash_map.h: New.
* include/debug/hash_multimap.h: New.
* include/debug/hash_set: New.
* include/debug/hash_set.h: New.
* include/debug/hash_multiset.h: New.
* include/debug/list: New.
* include/debug/map: New.
* include/debug/map.h: New.
* include/debug/multimap.h: New.
* include/debug/multiset.h: New.
* include/debug/safe_base.h: New.
* include/debug/safe_iterator.h: New.
* include/debug/safe_iterator.tcc: New.
* include/debug/safe_sequence.h: New.
* include/debug/set: New.
* include/debug/set.h: New.
* include/debug/string: New.
* include/debug/vector: New.
* src/debug.cc: New.
* config/linker-map.gnu: Add debug mode symbols.
2003-11-11 Benjamin Kosnik <bkoz@redhat.com>
* src/string-inst.cc: Tweak namespaces.
* src/misc-inst.cc: Same.
* docs/html/debug.html: Edits.
* config/link-map.gnu: Remove cruft.
* include/bits/c++config: Add in namespace associations.
* include/std/std_bitset.h: Adjust namespace to __gnu_norm,
comment tweaks.
* include/bits/deque.tcc: Same.
* include/bits/list.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/vector.tcc: Same.
* include/std/std_algorithm.h: Remove markup comments.
* include/std/std_functional.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_numeric.h: Same.
* include/std/std_utility.h: Same.
* include/bits/stl_queue.h: Formatting tweaks.
* include/bits/stl_stack.h: Same.
* include/std/std_deque.h: Include debugging version in debug mode.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* include/std/std_set.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_queue.h: Use deque, vector.
* include/std/std_stack.h: Same.
From-SVN: r73459
2003-11-11 20:09:16 +00:00
Benjamin Kosnik
5aaa21080b
linker-map.gnu: Make more *_type_info bits visible.
...
2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Make more *_type_info bits visible.
Move new/delete bits back into GLIBCXX space.
* include/bits/locale_classes.h: Move _M_id out of line, so that
locale:🆔 :_S_highwater can be removed from the export list.
* src/locale.cc (locale:🆔 :_M_id): Define.
From-SVN: r72287
2003-10-09 21:17:11 +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
Gawain Bolton
b4c70e89da
re PR libstdc++/11504 (-Wcast-qual vs. stl_tree)
...
2003-07-30 Gawain Bolton <gp.bolton@computer.org>
PR libstdc++/11504.
* include/bits/stl_tree.h: Replace C-style casts with C++-style
casts. Changes to avoid casting away constness. Eliminate
_Rb_tree_base_iterator class. Change _Rb_tree_iterator to use
initialization lists. Move out implementation of __black_count()
to...
* src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
Rename_Rb_tree_base_iterator::_M_increment() to
_Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
_Rb_tree_decrement.
* config/linker-map.gnu: Add and change symbols here.
From-SVN: r69958
2003-07-30 15:01:58 +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
Phil Edwards
58579a27aa
acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments.
...
2003-07-11 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments. Add
warning messages if the environment cannot support symbol versioning.
(port_specific_symbol_file): It's plural, add an 's' on the end.
* configure.host: Likewise.
* src/Makefile.am: Likewise.
* config/linker-map.gnu: Remove one semicolon, heh.
* scripts/extract_symvers: Don't assume useful 'export' syntax.
Set LANG as well as LC_ALL for possibly-broken sort(1)s.
* aclocal.m4, configure, src/Makefile.in: Regenerated.
From-SVN: r69212
2003-07-11 04:04:49 +00:00
Gawain Bolton
ca1c70118c
stl_tree.h: Move larger member functions in _Rb_tree_base_iterator and _Rb_tree_node to...
...
2003-07-09 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_tree.h: Move larger member functions in
_Rb_tree_base_iterator and _Rb_tree_node to...
* src/stl_tree.cc: Here.
* src/Makefile.in: Add stl_tree.cc.
* src/Makefile.in: Regenerated.
* config/linker-map.gnu: Add symbols here.
From-SVN: r69150
2003-07-09 20:58:32 +00:00
Phil Edwards
e6b7a69ab6
acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version requirement.
...
2003-07-05 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version
requirement. Add port_specific_symbol_file variable.
* configure.host: Add docs for port_specific_symbol_file.
Clean up try_cpu block for x86.
* config/linker-map.gnu: No more "last symbol can't have a
semicolon" kaka. Add hook for port-specific symbols.
* src/Makefile.am: Remove trailing whitespace.
(libstdc++-symbol.ver): Detect the presence of port-specific
symbols, and add them accordingly.
* docs/html/17_intro/porting.texi: Bring up to date.
* src/Makefile.in, aclocal.m4, configure,
docs/html/17_intro/porting.html: Regenerated.
From-SVN: r68992
2003-07-06 04:07:36 +00:00
Benjamin Kosnik
3d7c150e3f
Move from CPP to CXX.
...
2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
Move from CPP to CXX.
* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
* testsuite/Makefile.am: Same.
* testsuite/Makefile.in: Regenerate.
* po/Makefile.am: Same.
* po/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Same.
* libsupc++/Makefile.in: Regenerate.
* libmath/Makefile.am: Same.
* libmath/Makefile.in: Regenerate.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.
* src/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* acconfig.h: Same.
* configure.host: Same.
* configure.in: Same.
* configure: Regenerate.
* acinclude.m4: Same.
* aclocal.m4: Same.
* src: Change all files in this directory.
* testsuite: Same.
* include: Same, standardize include guards.
* config: Same.
* libsupc++: Same.
From-SVN: r68958
2003-07-05 04:05:45 +00:00
Nathan Sidwell
5648db5461
* config/linker-map.gnu: Remove ; after __numpunct_cache.
...
From-SVN: r68563
2003-06-27 11:01:27 +00:00
Benjamin Kosnik
215f9e283a
ios_base.h (ios_base::_M_getloc): Return reference to the imbued locale.
...
2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/ios_base.h (ios_base::_M_getloc): Return reference
to the imbued locale.
* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
_M_getloc.
(num_put::_M_convert_float): Use.
2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
Jerry Quinn <jlquinn@optonline.net>
* config/linker-map.gnu: Add __numpunct_cache.
* config/locale/gnu/numeric_members.cc
(numpunct::_M_initialize_numpunct): Account for _M_data, fill in
all elements for "C" locale.
(numpunct::~numpunct): Delete _M_data.
* config/locale/generic/numeric_members.cc: Same.
* include/bits/basic_ios.tcc
(basic_ios::init): Remove __locale_cache bits.
(basic_ios::_M_cache_locale): Same.
* include/bits/ios_base.h: Same. Tweaks.
* include/bits/locale_classes.h: Tweaks. Reorder classes.
(__use_cache): Make friends with _Impl, locale.
(_Impl::_M_caches): Add.
(_Impl::_M_install_cache): Add.
* include/bits/locale_facets.h (__numpunct_cache): New.
(numpunct): Encapsulate data members in __numpunct_cache member,
_M_data. Adjust virtuals.
(numpunct::numpunct): New ctor for the same.
(__locale_cache_base): Remove.
(__locale_cache): Remove.
* include/bits/locale_facets.tcc (__use_cache): New function,
specializations.
(num_put::_M_convert_int, _M_convert_float, do_put): Use it.
* src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
* src/ios.cc (ios_base::ios_base): Remove __locale_cache.
* src/locale-inst.cc: Same. Add __numpunct_cache.
* src/locale.cc: Tweak inlines.
(__use_cache): Define specializations.
* src/localename.cc: Use global bits.
(_Impl::~Impl): Deal with __numpunct_cache destruction.
(_Impl::_Impl): Same. Pre-cache standard numpunct facets.
(_Impl::_M_init_facet): Take into account __numpunct_cache.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
Co-Authored-By: Jerry Quinn <jlquinn@optonline.net>
From-SVN: r68558
2003-06-27 07:25:38 +00:00
Richard Henderson
dc4add82a5
linker-map.gnu: Export virtual function thunks for 64-bit systems too.
...
* config/linker-map.gnu: Export virtual function thunks for
64-bit systems too.
From-SVN: r67989
2003-06-15 16:24:00 -07:00
Benjamin Kosnik
c37514ff62
allocator-inst.cc: Explicitly instantiate.
...
2003-06-12 Benjamin Kosnik <bkoz@redhat.com>
* src/allocator-inst.cc: Explicitly instantiate.
* include/ext/pool_allocator.h: Inhibit implicit instantiations.
Tweaks.
* config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
From-SVN: r67882
2003-06-13 05:45:57 +00:00
Benjamin Kosnik
1ff9402d8f
[multiple changes]
...
2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_alloc.h (__debug_alloc): Move out.
(__malloc_alloc): Same.
(__pool_alloc): Same.
(__new_alloc): Same.
Rename to..
* include/bits/allocator.h: ...this.
* include/bits/stl_deque.h: Modify comment.
* include/bits/stl_tree.h: Modify include.
* include/std/std_memory.h: Same.
* include/ext/rope: Same.
* include/ext/slist: Same.
* include/std/std_vector.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_queue.h: Same.
* include/std/std_list.h: Same.
* include/std/std_deque.h: Same.
* include/backward/alloc.h: Same.
* include/ext/debug_allocator.h: New.
* include/ext/malloc_allocator.h: New.
* include/ext/pool_allocator.h: New.
* include/ext/new_allocator.h: New.
* include/bits/pthread_allocimpl.h: Remove.
* include/bits/stl_pthread_alloc.h: Remove.
* include/Makefile.am (ext_headers): Add.
* include/Makefile.in: Regenerate.
* src/stl-inst.cc: Use __gnu_cxx namespace.
* src/stl-inst.cc: Move to...
* src/allocator-inst.cc: Here.
* src/Makefile.am (sources): Update.
* src/Makefile.in: Regenerate.
* config/linker-map.gnu: Remove __pool_alloc bits.
* testsuite/ext/headers.cc: Add.
* testsuite/ext/allocators.cc: Fixup.
2003-06-11 Stefan Olsson <stefan@snon.net>
Ola R�nnerup <fnolis@home.se>
* include/Makefile.am (ext_headers): Add.
* include/Makefile.in: Regenerate.
* include/ext/mt_allocator.h: New file.
From-SVN: r67777
2003-06-11 15:52:11 +00:00
Benjamin Kosnik
bd40d535f6
linker-map.gnu: Remove string export restrictions.
...
2003-03-24 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Remove string export restrictions.
From-SVN: r64837
2003-03-25 01:53:13 +00:00
Benjamin Kosnik
4e7a2c6f9a
globals.cc: Clarify comments, remove c_locale_imp_compat.
...
2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
* src/globals.cc: Clarify comments, remove c_locale_imp_compat.
* config/linker-map.gnu: Filter typeinfo and vtable info.
From-SVN: r63826
2003-03-05 06:02:15 +00:00
Benjamin Kosnik
fd4290d6c7
abi_check.cc (report_symbol_info): Add version info.
...
2003-03-03 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc (report_symbol_info): Add version info.
* config/linker-map.gnu: Hide more stuff.
* include/Makefile.am: Cleanups.
* include/Makefile.in: Regenerate.
From-SVN: r63765
2003-03-04 05:51:50 +00:00
Benjamin Kosnik
3a15abf155
abi_check.cc (report_symbol_info): Add version info.
...
2003-03-03 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc (report_symbol_info): Add version info.
* config/linker-map.gnu: Hide more stuff.
* include/Makefile.am: Cleanups.
* include/Makefile.in: Regenerate.
From-SVN: r63764
2003-03-04 05:23:56 +00:00
Phil Edwards
3a24c5134f
linker-map.gnu: Also export locking symbols needed for the generic atomicity.h case.
...
2003-02-20 Phil Edwards <pme@gcc.gnu.org>
* config/linker-map.gnu: Also export locking symbols needed for the
generic atomicity.h case.
From-SVN: r63169
2003-02-20 16:47:39 +00:00
Falk Hueffner
348b0c3105
std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use numeric_limits for bits-per-word values.
...
2003-02-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
Phil Edwards <pme@gcc.gnu.org>
* include/std/std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use
numeric_limits for bits-per-word values.
(_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
Use __builtin_popcountl instead.
(_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
_Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
Use __builtin_ctzl instead.
(_S_bit_count, _S_first_one): Remove.
* config/linker-map.gnu (GLIBCPP_3.4): Remove std::_S_bit_count.
* src/Makefile.am (sources): Remove bitset.cc.
* src/bitset.cc: Delete file.
* src/Makefile.in: Regenerate.
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
From-SVN: r62335
2003-02-03 19:37:53 +00:00
Andreas Schwab
475c1d0989
* config/linker-map.gnu: Fix for size_t variance.
...
From-SVN: r61713
2003-01-24 17:01:25 +00:00
Benjamin Kosnik
8099b2aee8
configure.in (libtool_VERSION): To 6:0:0.
...
2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
* configure.in (libtool_VERSION): To 6:0:0.
* configure: Regenerated.
* config/linker-map.gnu: Clean.
* src/misc-inst.cc: Remove instantiations.
* include/bits/stl_alloc.h (__malloc_alloc_template):
To __malloc_alloc.
(__default_alloc_template): To __pool_alloc.
* src/stl-inst.cc: Same.
* include/backward/alloc.h: Update.
* testsuite/ext/allocators.cc: Update.
* src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
really try to remove these if possible.
* src/locale.cc (std): Same.
* testsuite/abi_check.cc (check_version): Add.
From-SVN: r61658
2003-01-23 17:21:11 +00:00
Benjamin Kosnik
e66868131b
locale_facets.h: Move non-facet classes requiring <string> to...
...
2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h: Move non-facet classes requiring
<string> to...
* include/bits/locale_classes.h: New.
* include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
* include/bits/Makefile.in: Regenerate.
* include/bits/locale_facets.tcc (__convert_from_v): Move to...
* config/locale/gnu/c_locale.h: ...here.
* config/locale/generic/c_locale.h: Same.
* include/bits/locale_facets.tcc: Move declarations to...
* include/bits/locale_facets.h: ...here.
* include/bits/basic_ios.h: Tweak includes accordingly.
* include/std/std_sstream.h: Add streambuf include.
* include/std/std_fstream.h: Ditto.
* include/std/std_locale.h: Add locale_classes.h include.
* include/std/std_iosfwd.h: Tweak.
* src/concept-inst.cc: Add iterator include.
* config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
bits as unexported in the future.
From-SVN: r61593
2003-01-22 16:51:52 +00:00
Benjamin Kosnik
1c26d8fd84
locale_facets.h (messages): Move ctor, dtor definitions to..
...
2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (messages): Move ctor, dtor
definitions to..
(__timepunct): Same.
* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
definitions. Conditionalize for GNU systems.
* config/locale/generic/messages_members.h (messages): Add dtor, ctor
definitions.
* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
definitions. Conditionalize for GNU systems.
* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
definitions.
* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
* src/locale.cc: Define.
* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
Use it.
* config/locale/gnu/time_members.h: Use it.
* config/locale/gnu/messages_members.h: Use it.
* config/linker-map.gnu: Add locale::facets details.
* include/Makefile.am (target_headers_extra): Add time_members.h.
* include/Makefile.in: Regenerate.
* acinclude.m4: Export CTIME_H.
* aclocal.m4: Regenerate.
* configure: Regnerate.
From-SVN: r60952
2003-01-06 21:23:00 +00:00
Benjamin Kosnik
8ecab601c3
abi_check.cc: Add CXXABI_1.2.1 as compatible.
...
2002-11-25 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible.
* config/linker-map.gnu: Version __cxa_guard_acquire,
__cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.
From-SVN: r59487
2002-11-26 01:37:50 +00:00
Jakub Jelinek
bd3175a2cc
linker-map.gnu: Export _S_construct even if size_t is unsigned long.
...
* config/linker-map.gnu: Export _S_construct even if size_t is
unsigned long. Collapse std::codecvt<char>::codecvt(size_t)
and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern.
From-SVN: r59182
2002-11-17 06:08:23 +01:00
Benjamin Kosnik
4a1338ed66
linker-map.gnu: Export all _S_construct.
...
2002-11-13 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Export all _S_construct.
From-SVN: r59080
2002-11-13 18:27:37 +00:00
Benjamin Kosnik
72040fcbf6
linker-map.gnu: Export string operator+.
...
2002-11-04 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Export string operator+.
Export __default_alloc_template::_S_force_new.
* testsuite/abi_check.cc: Output tweaks.
From-SVN: r58801
2002-11-04 22:57:00 +00:00
Christian Ehrhardt
23ae3eb1f8
re PR libstdc++/8197 (std::sin(float) causes undefined reference to sinf)
...
2002-11-01 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
PR libstdc++/8197
* config/link-map.gnu: Export math stubbs.
From-SVN: r58721
2002-11-01 17:54:51 +00:00
Benjamin Kosnik
57e172dd3a
linker-map.gnu: Add exports for codecvt constructors where size_t == unsigned long.
...
2002-10-16 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu: Add exports for codecvt constructors
where size_t == unsigned long.
From-SVN: r58208
2002-10-16 16:14:10 +00:00
Benjamin Kosnik
b0b128027b
abi_check.cc (hash<string>): Specialize.
...
2002-10-12 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/abi_check.cc (hash<string>): Specialize.
Simplify. Check compatible symbol versions.
* config/linker-map.gnu: Clarify, explicitly export
std::codecvt::c* symbols.
* testsuite/22_locale/static_members.cc (test02): Avoid null strings.
From-SVN: r58091
2002-10-13 04:46:58 +00:00
Benjamin Kosnik
a7817e1db2
linker-map.gnu (GLIBCPP_3.2.1): Add.
...
2002-10-10 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu (GLIBCPP_3.2.1): Add.
(GLIBCPP_3.2): Don't export locale::_S_*.
* src/ios.cc: Move globals into __gnu_cxx. Make old exported
symbols match.
* src/locale.cc: Same.
* src/localename.cc: Same.
* src/globals.cc: Same.
From-SVN: r58042
2002-10-11 07:09:36 +00:00
Phil Edwards
6dc5fdfd5f
linker-map.gnu: Verbose comments, clean up spacing.
...
2002-08-23 Phil Edwards <pme@gcc.gnu.org>
* config/linker-map.gnu: Verbose comments, clean up spacing.
* include/bits/stl_alloc.h: Fix indentation of 'if' bodies, return
statements.
__allocator: Change class declaration to struct.
* docs/html/17_intro/C++STYLE: Fix typo.
* include/bits/stl_deque.h, include/bits/stl_list.h,
include/bits/stl_map.h, include/bits/stl_multimap.h,
include/bits/stl_vector.h: Fix fallout from typo.
From-SVN: r56540
2002-08-23 16:52:29 +00:00
Benjamin Kosnik
0870a49046
linker-map.gnu: Change CXXABI_1 to CXXABI_1.2, GLIBCPP_3.1 to GLIBCPP_3.2.
...
2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
Jakub Jelinek <jakub@redhat.com>
* config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
GLIBCPP_3.1 to GLIBCPP_3.2.
From-SVN: r55938
2002-08-01 17:25:56 +00:00
Benjamin Kosnik
9a56333e55
re PR libstdc++/7230 (<strstream> header file is missing (trunk))
...
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7230
* config/linker-map.gnu: Revert strstream patch from 2002-07-01.
* include/Makefile.am (backward_headers): Use strstream, not
strstream.h.
* include/Makefile.in: Regenerate.
* include/backward/strstream: Revert.
* include/backward/strstream.h: Remove.
* src/strstream.cc: Revert.
* testsuite/backward/strstream_members.cc: Change include.
From-SVN: r55730
2002-07-25 00:04:37 +00:00
Benjamin Kosnik
eafa1afac6
strstream: Remove namespace std.
...
2002-07-01 Benjamin Kosnik <bkoz@redhat.com>
* include/backward/strstream: Remove namespace std. Transfer to...
* include/backward/strstream.h: ...here. Qualify std names.
* src/strstream.cc: Remove namespace std.
* include/Makefile.am (backward_headers): Remove strstream.h.
* include/Makefile.in: Regenerate.
* config/linker-map.gnu: Export strstream bits.
* src/fstream-inst.cc: Tweak.
* src/io-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/ostream-inst.cc: Same.
* src/sstream-inst.cc: Same.
* src/valarray-inst.cc: Same.
* src/misc-inst.cc: Remove unused instantiations.
From-SVN: r55148
2002-07-01 19:58:42 +00:00
Benjamin Kosnik
cff5778913
linker-map.gnu (__malloc_alloc_template): Add.
...
2002-04-17 Benjamin Kosnik <bkoz@redhat.com>
* config/linker-map.gnu (__malloc_alloc_template): Add.
(__default_alloc_template): Same.
* include/bits/stl_alloc.h (__malloc_alloc_template): Add extern
template.
(__default_alloc_template): Same.
From-SVN: r52441
2002-04-17 20:08:18 +00:00
Richard Henderson
51cd12de0d
* config/linker-map.gnu: Add __gxx_personality_sj0.
...
From-SVN: r52187
2002-04-11 16:27:45 -07:00
Benjamin Kosnik
1cb7f91f86
bitset_members.cc: New test.
...
2002-04-09 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/6124
* testsuite/23_containers/bitset_members.cc: New test.
* include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
(_S_bit_count): Here.
(_First_one::_S_first_one): Move...
(_S_first_one): Here.
Format.
* src/bitset.cc: Adjust.
* config/linker-map.gnu: Export.
From-SVN: r52066
2002-04-09 07:35:31 +00:00
Phil Edwards
76f6aa8b6c
linker-map.gnu: Export __verbose_terminate_handler.
...
2002-04-01 Phil Edwards <pme@gcc.gnu.org>
* config/linker-map.gnu: Export __verbose_terminate_handler.
* libsupc++/Makefile.am (sources): Add cxa_demangle.c, dyn-string.c.
Make new LTCOMPILE variable, use it in new special build rules.
* libsupc++/Makefile.in: Rebuild.
* src/vterminate.cc (__verbose_terminate_handler): Enable use of
runtime __cxa_demangle.
* docs/html/install.html: Update prereqs and instructions.
* docs/html/19_diagnostics/howto.html: Bring naming for
verbose_terminate_handler into line with reality.
From-SVN: r51709
2002-04-01 21:56:42 +00:00