Jonathan Wakely
b2342b5484
boost_concept_check.h: Fix old attribute syntax.
...
2004-05-17 Jonathan Wakely <redi@gcc.gnu.org>
* include/bits/boost_concept_check.h: Fix old attribute syntax.
* testsuite/23_containers/map/modifiers/swap.cc: Define operator<
to pass concept-checks.
* testsuite/23_containers/multimap/modifiers/swap.cc: Same.
* testsuite/23_containers/set/modifiers/swap.cc: Same.
* testsuite/23_containers/multiset/modifiers/swap.cc: Same.
From-SVN: r81953
2004-05-17 22:56:18 +01:00
Benjamin Kosnik
8bd22a3ceb
[multiple changes]
...
2004-03-25 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
default argument in constructors.
(_Rb_tree::_M_empty_initialize): Remove.
2004-03-25 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Same.
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/cpp_type_traits.h: Changed __is_pod
completely. Now, it does not use any of the previous type_traits
to detect the pod types, and it also detects function pointers as
POD types.
* include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
which encapsulates the internal implementation of an rb_tree. Made
the allocator a base class of this class instead of the rb_tree,
which was not conforming. This _Rb_tree_impl class is also
specialized on whether the _Compare parameter is a POD type or
not. If so, then it maintains the comparison function as a data
member, otherwise it makes the _Compare parameter a base class of
itself. Also, _M_key_compare is now a function instead of a data
member, so that the above trick can work properly. Delegated the
initialization of the other data members to this newly created
class. Also, now other member functions of rb_tree must refer to
_M_key_compare as _M_impl._M_key_compare(). The other data members
(*) can be referenced to as _M_impl.(*), where
(*) includes _M_header, and _M_node_count.
From-SVN: r79977
2004-03-26 00:38:57 +00:00
Benjamin Kosnik
6dde938c11
swap.cc: Add in bits for non-weak systems.
...
2004-03-09 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
non-weak systems.
* testsuite/23_containers/vector/modifiers/swap.cc: Same.
* testsuite/23_containers/set/modifiers/swap.cc: Same.
* testsuite/23_containers/multiset/modifiers/swap.cc: Same.
* testsuite/23_containers/multimap/modifiers/swap.cc: Same.
* testsuite/23_containers/map/modifiers/swap.cc: Same.
* testsuite/23_containers/list/modifiers/swap.cc: Same.
* testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
From-SVN: r79224
2004-03-10 06:31:50 +00:00
Benjamin Kosnik
f1c4ca32d0
re PR c++/13658 ([testcase] namespace association vs. templates part one)
...
2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
PR c++/13658
* testsuite/23_containers/deque/modifiers/swap.cc: New.
* testsuite/23_containers/list/modifiers/swap.cc: New.
* testsuite/23_containers/map/modifiers/swap.cc: New.
* testsuite/23_containers/multimap/modifiers/swap.cc: New.
* testsuite/23_containers/multiset/modifiers/swap.cc: New.
* testsuite/23_containers/set/modifiers/swap.cc: New.
* testsuite/23_containers/vector/modifiers/swap.cc: New.
From-SVN: r79151
2004-03-09 06:01:39 +00:00
Benjamin Kosnik
80e39f4ae5
1.cc: Test result string.
...
2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/multiset/insert/1.cc: Test result string.
* testsuite/23_containers/bitset/invalidation/1.cc: Main always
returns 0.
* testsuite/23_containers/deque/invalidation/4.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/map/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Same.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
From-SVN: r78943
2004-03-04 23:37:24 +00:00
Benjamin Kosnik
f90e600a4e
1.cc: Provide explicit instantiations for non-weak systems.
...
2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/allocator/1.cc: Provide explicit
instantiations for non-weak systems.
* testsuite/20_util/binders.cc: Same.
* testsuite/20_util/allocator/8230.cc: Same.
* testsuite/20_util/allocator/10378.cc: Same.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
* testsuite/22_locale/ctype/is/char/2.cc: Same.
* testsuite/thread/pthread7-rope.cc: Same.
* testsuite/thread/pthread6.cc: Same.
* testsuite/thread/pthread5.cc: Same.
* testsuite/thread/pthread4.cc: Same.
* testsuite/thread/pthread1.cc: Same.
* testsuite/ext/rope.cc: Same.
* testsuite/ext/hash_set.cc: Same.
* testsuite/ext/hash_map.cc: Same.
* testsuite/ext/concept_checks.cc: Same.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
* testsuite/25_algorithms/unique/2.cc: Same.
* testsuite/25_algorithms/unique/1.cc: Same.
* testsuite/25_algorithms/rotate.cc: Same.
* testsuite/25_algorithms/min_max.cc: Same.
* testsuite/25_algorithms/equal.cc: Same.
* testsuite/24_iterators/rel_ops.cc: Same.
* testsuite/24_iterators/iterator.cc: Same.
* testsuite/24_iterators/insert_iterator.cc: Same.
* testsuite/24_iterators/front_insert_iterator.cc: Same.
* testsuite/24_iterators/back_insert_iterator.cc: Same.
* testsuite/23_containers/vector/resize/1.cc: Same.
* testsuite/23_containers/vector/modifiers/2.cc: Same.
* testsuite/23_containers/vector/modifiers/1.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Same.
* testsuite/23_containers/vector/element_access/1.cc: Same.
* testsuite/23_containers/vector/cons/6513.cc: Same.
* testsuite/23_containers/vector/cons/3.cc: Same.
* testsuite/23_containers/vector/cons/2.cc: Same.
* testsuite/23_containers/vector/cons/1.cc: Same.
* testsuite/23_containers/vector/capacity/8230.cc: Same.
* testsuite/23_containers/vector/capacity/1.cc: Same.
* testsuite/23_containers/vector/bool/6886.cc: Same.
* testsuite/23_containers/stack/members/7158.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/queue/members/7157.cc: Same.
* testsuite/23_containers/priority_queue/members/7161.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multiset/insert/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/map/operators/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/insert/1.cc: Same.
* testsuite/23_containers/list/operators/4.cc: Same.
* testsuite/23_containers/list/operators/3.cc: Same.
* testsuite/23_containers/list/operators/2.cc: Same.
* testsuite/23_containers/list/operators/1.cc: Same.
* testsuite/23_containers/list/modifiers/3.cc: Same.
* testsuite/23_containers/list/modifiers/2.cc: Same.
* testsuite/23_containers/list/modifiers/1.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/cons/9.cc: Same.
* testsuite/23_containers/list/cons/8.cc: Same.
* testsuite/23_containers/list/cons/7.cc: Same.
* testsuite/23_containers/list/cons/6.cc: Same.
* testsuite/23_containers/list/cons/5.cc: Same.
* testsuite/23_containers/list/cons/4.cc: Same.
* testsuite/23_containers/list/cons/3.cc: Same.
* testsuite/23_containers/list/cons/2.cc: Same.
* testsuite/23_containers/list/cons/1.cc: Same.
* testsuite/23_containers/list/capacity/1.cc: Same.
* testsuite/23_containers/deque/operators/1.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/cons/2.cc: Same.
* testsuite/23_containers/deque/cons/1.cc: Same.
* src/allocator.cc: Add char, wchar_t instantiations
to match extern template declarations in memory.h.
From-SVN: r78922
2004-03-04 18:11:08 +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
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
11f10e6b1f
locale_facets.tcc: Tweak to avoid warnings.
...
2003-09-23 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.tcc: Tweak to avoid warnings.
* testsuite/testsuite_hooks.h: Same.
* testsuite/*/*.cc: Same.
From-SVN: r71693
2003-09-23 20:03:30 +00:00
Doug Gregor
e64a227a8d
Tests for user specialization of standard containers.
...
From-SVN: r70018
2003-07-31 22:23:38 +00:00
Benjamin Kosnik
17472bb623
Reshuffle 23_containers testsuite.
...
2003-07-31 Benjamin Kosnik <bkoz@redhat.com>
Reshuffle 23_containers testsuite.
* 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
vector_resize.cc: Split into...
* 23_containers/bitset/cons/1.cc: New.
* 23_containers/bitset/cons/6282.cc: New.
* 23_containers/bitset/count/6124.cc: New.
* 23_containers/bitset/operations/1.cc: New.
* 23_containers/bitset/operations/2.cc: New.
* 23_containers/bitset/test/1.cc: New.
* 23_containers/bitset/to_ulong/1.cc: New.
* 23_containers/deque/cons/1.cc: New.
* 23_containers/deque/cons/2.cc: New.
* 23_containers/deque/operators/1.cc: New.
* 23_containers/list/capacity/1.cc: New.
* 23_containers/list/cons/1.cc: New.
* 23_containers/list/cons/2.cc: New.
* 23_containers/list/cons/3.cc: New.
* 23_containers/list/cons/4.cc: New.
* 23_containers/list/cons/5.cc: New.
* 23_containers/list/cons/6.cc: New.
* 23_containers/list/cons/7.cc: New.
* 23_containers/list/cons/8.cc: New.
* 23_containers/list/cons/9.cc: New.
* 23_containers/list/modifiers/1.cc: New.
* 23_containers/list/modifiers/2.cc: New.
* 23_containers/list/modifiers/3.cc: New.
* 23_containers/list/operators/1.cc: New.
* 23_containers/list/operators/2.cc: New.
* 23_containers/list/operators/3.cc: New.
* 23_containers/list/operators/4.cc: New.
* 23_containers/map/insert/1.cc: New.
* 23_containers/map/operators/1.cc: New.
* 23_containers/map/operators/1_neg.cc: New.
* 23_containers/multiset/insert/1.cc: New.
* 23_containers/priority_queue/members/7161.cc: New.
* 23_containers/queue/members/7157.cc: New.
* 23_containers/set/operators/1_neg.cc: New.
* 23_containers/stack/members/7158.cc: New.
* 23_containers/vector/bool/1.cc: New.
* 23_containers/vector/bool/6886.cc: New.
* 23_containers/vector/capacity/1.cc: New.
* 23_containers/vector/capacity/2.cc: New.
* 23_containers/vector/capacity/8230.cc: New.
* 23_containers/vector/cons/1.cc: New.
* 23_containers/vector/cons/2.cc: New.
* 23_containers/vector/cons/3.cc: New.
* 23_containers/vector/cons/4.cc: New.
* 23_containers/vector/cons/6513.cc: New.
* 23_containers/vector/element_access/1.cc: New.
* 23_containers/vector/modifiers/1.cc: New.
* 23_containers/vector/modifiers/2.cc: New.
* 23_containers/vector/resize/1.cc: New.
From-SVN: r70011
2003-07-31 18:48:48 +00:00