4fd20a8f82
19 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Paolo Carlini
|
4fd20a8f82 |
re PR libstdc++/21770 (rebinding allocator::value type vs. container::value_type)
2005-06-03 Paolo Carlini <pcarlini@suse.de> PR libstdc++/21770 * include/bits/stl_deque.h: Add concept-check. In class _Deque_base rebind _Alloc to _Tp_alloc_type, change _Deque_impl to inherit from the latter and add _M_get_Tp_allocator() which returns it. Use everywhere _M_get_Tp_allocator() instead of get_allocator(). * include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator(). * include/bits/stl_list.h: Add concept-check. In class _List_base rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which returns the allocator (of type _Node_alloc_type) converted to _Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of get_allocator(). * include/bits/list.tcc: Likewise, use _M_get_Tp_allocator(). * include/bits/stl_vector.h: Add concept-check. In class _Vector_base rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from the latter and add _M_get_Tp_allocator() which returns it. Use everywhere _M_get_Tp_allocator() instead of get_allocator(). * include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator(). * include/bits/stl_map.h: Add concept-check. Rebind _Alloc to _Pair_alloc_type and use it for _Rb_tree. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to _Key_alloc_type and use it for _Rb_tree. * include/bits/stl_set.h: Likewise. * include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and use it for the allocator typedefs. * testsuite/21_strings/basic_string/1.cc: New. * testsuite/23_containers/deque/explicit_instantiation.cc: Move to... * testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here. * testsuite/23_containers/deque/explicit_instantiation/3.cc: New. * testsuite/23_containers/list/explicit_instantiation.cc: Move to... * testsuite/23_containers/list/explicit_instantiation/1.cc: ... here. * testsuite/23_containers/list/explicit_instantiation/3.cc: New. * testsuite/23_containers/map/explicit_instantiation.cc: Move to... * testsuite/23_containers/map/explicit_instantiation/1.cc: ... here. * testsuite/23_containers/map/explicit_instantiation/3.cc: New. * testsuite/23_containers/multimap/explicit_instantiation.cc: Move to... * testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here. * testsuite/23_containers/multimap/explicit_instantiation/3.cc: New. * testsuite/23_containers/multiset/explicit_instantiation.cc: Move to... * testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here. * testsuite/23_containers/multiset/explicit_instantiation/3.cc: New. * testsuite/23_containers/set/explicit_instantiation.cc: Move to... * testsuite/23_containers/set/explicit_instantiation/1.cc: .. here. * testsuite/23_containers/set/explicit_instantiation/3.cc: New. * testsuite/23_containers/vector/explicit_instantiation.cc: Move to... * testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here. * testsuite/23_containers/vector/explicit_instantiation/3.cc: New. From-SVN: r100546 |
||
Paolo Carlini
|
6323b34eeb |
re PR libstdc++/18604 (Use of unqualified names conflict with names in global namespace)
2005-05-09 Paolo Carlini <pcarlini@suse.de> Giovanni Bajo <giovannibajo@gcc.gnu.org> PR libstdc++/18604 * include/bits/deque.tcc: Fully qualify names from namespace std. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/vector.tcc: Likewise. * include/std/std_bitset.h: Likewise. * testsuite/23_containers/bitset/18604.cc: New. * testsuite/23_containers/deque/18604.cc: Likewise. * testsuite/23_containers/list/18604.cc: Likewise. * testsuite/23_containers/map/18604.cc: Likewise. * testsuite/23_containers/set/18604.cc: Likewise. * testsuite/23_containers/vector/18604.cc: Likewise. Co-Authored-By: Giovanni Bajo <giovannibajo@gcc.gnu.org> From-SVN: r99499 |
||
Paolo Carlini
|
b0ea9c011d |
binders.cc: Remove explicit instantiations for non-weak systems.
2005-03-16 Paolo Carlini <pcarlini@suse.de> * testsuite/20_util/functional/binders.cc: Remove explicit instantiations for non-weak systems. * testsuite/20_util/memory/allocator/1.cc: Likewise. * testsuite/20_util/memory/allocator/10378.cc: Likewise. * testsuite/20_util/memory/allocator/10416.cc: Likewise. * testsuite/20_util/memory/allocator/8230.cc: Likewise. * testsuite/20_util/utility/rel_ops.cc: Likewise. * testsuite/22_locale/ctype/is/char/2.cc: Likewise. * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. * testsuite/23_containers/deque/cons/1.cc: Likewise. * testsuite/23_containers/deque/cons/2.cc: Likewise. * testsuite/23_containers/deque/invalidation/1.cc: Likewise. * testsuite/23_containers/deque/invalidation/2.cc: Likewise. * testsuite/23_containers/deque/invalidation/3.cc: Likewise. * testsuite/23_containers/deque/invalidation/4.cc: Likewise. * testsuite/23_containers/deque/modifiers/swap.cc: Likewise. * testsuite/23_containers/deque/operators/1.cc: Likewise. * testsuite/23_containers/list/capacity/1.cc: Likewise. * testsuite/23_containers/list/cons/1.cc: Likewise. * testsuite/23_containers/list/cons/2.cc: Likewise. * testsuite/23_containers/list/cons/3.cc: Likewise. * testsuite/23_containers/list/cons/4.cc: Likewise. * testsuite/23_containers/list/cons/5.cc: Likewise. * testsuite/23_containers/list/cons/6.cc: Likewise. * testsuite/23_containers/list/cons/7.cc: Likewise. * testsuite/23_containers/list/cons/8.cc: Likewise. * testsuite/23_containers/list/cons/9.cc: Likewise. * testsuite/23_containers/list/invalidation/1.cc: Likewise. * testsuite/23_containers/list/invalidation/2.cc: Likewise. * testsuite/23_containers/list/invalidation/3.cc: Likewise. * testsuite/23_containers/list/invalidation/4.cc: Likewise. * testsuite/23_containers/list/modifiers/1.cc: Likewise. * testsuite/23_containers/list/modifiers/2.cc: Likewise. * testsuite/23_containers/list/modifiers/3.cc: Likewise. * testsuite/23_containers/list/operators/1.cc: Likewise. * testsuite/23_containers/list/operators/2.cc: Likewise. * testsuite/23_containers/list/operators/3.cc: Likewise. * testsuite/23_containers/list/operators/4.cc: Likewise. * testsuite/23_containers/map/insert/1.cc: Likewise. * testsuite/23_containers/map/invalidation/1.cc: Likewise. * testsuite/23_containers/map/invalidation/2.cc: Likewise. * testsuite/23_containers/map/modifiers/swap.cc: Likewise. * testsuite/23_containers/map/operators/1.cc: Likewise. * testsuite/23_containers/multimap/invalidation/1.cc: Likewise. * testsuite/23_containers/multimap/invalidation/2.cc: Likewise. * testsuite/23_containers/multimap/modifiers/swap.cc: Likewise. * testsuite/23_containers/multiset/insert/1.cc: Likewise. * testsuite/23_containers/multiset/insert/2.cc: Likewise. * testsuite/23_containers/multiset/invalidation/1.cc: Likewise. * testsuite/23_containers/multiset/invalidation/2.cc: Likewise. * testsuite/23_containers/multiset/modifiers/swap.cc: Likewise. * testsuite/23_containers/priority_queue/members/7161.cc: Likewise. * testsuite/23_containers/queue/members/7157.cc: Likewise. * testsuite/23_containers/set/insert/1.cc: Likewise. * testsuite/23_containers/set/invalidation/1.cc: Likewise. * testsuite/23_containers/set/invalidation/2.cc: Likewise. * testsuite/23_containers/set/modifiers/swap.cc: Likewise. * testsuite/23_containers/stack/members/7158.cc: Likewise. * testsuite/23_containers/vector/bool/6886.cc: Likewise. * testsuite/23_containers/vector/capacity/1.cc: Likewise. * testsuite/23_containers/vector/capacity/8230.cc: Likewise. * testsuite/23_containers/vector/cons/1.cc: Likewise. * testsuite/23_containers/vector/cons/2.cc: Likewise. * testsuite/23_containers/vector/cons/3.cc: Likewise. * testsuite/23_containers/vector/cons/6513.cc: Likewise. * testsuite/23_containers/vector/element_access/1.cc: Likewise. * testsuite/23_containers/vector/invalidation/1.cc: Likewise. * testsuite/23_containers/vector/invalidation/2.cc: Likewise. * testsuite/23_containers/vector/invalidation/3.cc: Likewise. * testsuite/23_containers/vector/invalidation/4.cc: Likewise. * testsuite/23_containers/vector/modifiers/1.cc: Likewise. * testsuite/23_containers/vector/modifiers/2.cc: Likewise. * testsuite/23_containers/vector/modifiers/swap.cc: Likewise. * testsuite/23_containers/vector/resize/1.cc: Likewise. * testsuite/24_iterators/back_insert_iterator.cc: Likewise. * testsuite/24_iterators/front_insert_iterator.cc: Likewise. * testsuite/24_iterators/insert_iterator.cc: Likewise. * testsuite/24_iterators/iterator.cc: Likewise. * testsuite/25_algorithms/copy/1.cc: Likewise. * testsuite/25_algorithms/copy/2.cc: Likewise. * testsuite/25_algorithms/copy/3.cc: Likewise. * testsuite/25_algorithms/copy/4.cc: Likewise. * testsuite/25_algorithms/equal.cc: Likewise. * testsuite/25_algorithms/fill/1.cc: Likewise. * testsuite/25_algorithms/fill/2.cc: Likewise. * testsuite/25_algorithms/min_max.cc: Likewise. * testsuite/25_algorithms/rotate.cc: Likewise. * testsuite/25_algorithms/unique/1.cc: Likewise. * testsuite/25_algorithms/unique/2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. * testsuite/ext/concept_checks.cc: Likewise. * testsuite/ext/hash_map/1.cc: Likewise. * testsuite/ext/hash_set/1.cc: Likewise. * testsuite/ext/rope/1.cc: Likewise. * testsuite/ext/rope/2.cc: Likewise. * testsuite/ext/rope/3.cc: Likewise. * testsuite/thread/pthread1.cc: Likewise. * testsuite/thread/pthread4.cc: Likewise. * testsuite/thread/pthread5.cc: Likewise. * testsuite/thread/pthread6.cc: Likewise. * testsuite/thread/pthread7-rope.cc: Likewise. From-SVN: r96551 |
||
Volker Reichelt
|
a7a4444157 |
re PR libstdc++/19510 ([3.3 only] Uninitialized pointers in iterators)
PR libstdc++/19510 * include/bits/stl_list.h (_List_iterator): Initialize _M_node in constructor. (_List_const_iterator): Likewise. * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise. (_Rb_tree_const_iterator): Likewise. * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers. * testsuite/23_containers/set/operators/1_neg.cc: Likewise. From-SVN: r94002 |
||
Zack Weinberg
|
2cfe82fe43 |
decl.c (grokfndecl): If ::main is found not to return int, correct it after issuing a diagnostic.
gcc/cp: * decl.c (grokfndecl): If ::main is found not to return int, correct it after issuing a diagnostic. (grokdeclarator): If the incoming type was error_mark_node, do not complain about declaring something with no type. (start_function): Change check for ::main not returning int to an assertion, as grokfndecl now catches this when the user did it. * init.c (perform_member_init, sort_mem_initializers) (emit_mem_initializers): Make most diagnostics be issued on the line of current_function_decl, not whatever the current input line is. * parser.c (cp_lexer_peek_token_emit_debug_info): Surround definition and declaration with #ifdef ENABLE_CHECKING. Avoid unnecessary use of fprintf. (cp_lexer_print_token, cp_lexer_debug_stream): Adjust stub definitions to avoid warnings. (cp_lexer_new_main): Add assertion that first token is not a padding token. (cp_lexer_new_from_token_array): Fold into ... (cp_lexer_new_from_tokens): ... here. Add assertion that first token is not a padding token. (cp_lexer_set_source_position_from_token): Move nearer to callers. Remove unused lexer argument. (cp_lexer_peek_token): Just print debugging report (if enabled) and return lexer->next_token. (cp_lexer_skip_purged_tokens): Delete. (cp_lexer_next_token_is, cp_lexer_next_token_is_not): Make inline, simplify bodies. (cp_lexer_peek_nth_token): Add debugging report a la cp_lexer_peek_token. (cp_lexer_consume_token): Correct commentary. Advance over purged tokens here. Set current source position here, from token to be returned. Avoid unnecessary use of fprintf. (cp_lexer_purge_token): Advance next_token pointer over this and subsequent purged tokens. (cp_parser_error): Adjust source position to that of the peeked token. (cp_parser_push_lexer_for_tokens, cp_parser_pop_lexer): New functions. (cp_parser_string_literal): Remove some excessive cleverness. (cp_parser_enum_specifier): Call start_enum before consuming the opening brace. (cp_parser_member_declaration): Make the "extra semicolon" diagnostic consistently-worded with the other place this is diagnosed. Explicitly set the diagnostic location to the location of the offending semicolon. (cp_parser_enclosed_template_argument_list): Use %</%> quoting in diagnostics. Do not use cp_parser_require. Set location of diagnostics about improper use of '>>' to location of offending token. (cp_parser_late_parsing_for_member): Use cp_parser_push_lexer_for_tokens and cp_parser_pop_lexer. (cp_parser_late_parsing_default_args): Likewise. Manually move some logic outside the loop. gcc/testsuite: * g++.dg/ext/complit1.C * g++.dg/other/error2.C * g++.dg/other/nontype-1.C * g++.dg/parse/crash11.C * g++.dg/parse/crash12.C * g++.dg/parse/error15.C * g++.dg/parse/error4.C * g++.dg/parse/tmpl-outside1.C * g++.dg/parse/too-many-tmpl-args1.C * g++.dg/template/dependent-expr3.C * g++.dg/template/error10.C * g++.dg/template/instantiate1.C * g++.dg/template/vtable2.C * g++.dg/warn/Wshadow-1.C * g++.dg/warn/weak1.C * g++.old-deja/g++.brendan/crash16.C * g++.old-deja/g++.brendan/crash18.C * g++.old-deja/g++.brendan/crash48.C * g++.old-deja/g++.brendan/crash49.C * g++.old-deja/g++.brendan/crash55.C * g++.old-deja/g++.brendan/crash56.C * g++.old-deja/g++.brendan/crash8.C * g++.old-deja/g++.brendan/enum11.C * g++.old-deja/g++.brendan/enum8.C * g++.old-deja/g++.brendan/enum9.C * g++.old-deja/g++.brendan/friend3.C * g++.old-deja/g++.brendan/misc14.C * g++.old-deja/g++.bugs/900402_02.C * g++.old-deja/g++.bugs/900404_03.C * g++.old-deja/g++.bugs/900404_04.C * g++.old-deja/g++.bugs/900428_03.C * g++.old-deja/g++.jason/crash4.C * g++.old-deja/g++.jason/overload21.C * g++.old-deja/g++.jason/redecl1.C * g++.old-deja/g++.jason/report.C * g++.old-deja/g++.jason/rfg10.C * g++.old-deja/g++.jason/template30.C * g++.old-deja/g++.law/arm12.C * g++.old-deja/g++.law/ctors5.C * g++.old-deja/g++.law/cvt20.C * g++.old-deja/g++.law/init10.C * g++.old-deja/g++.law/init8.C * g++.old-deja/g++.law/visibility17.C * g++.old-deja/g++.law/visibility7.C * g++.old-deja/g++.mike/net8.C * g++.old-deja/g++.mike/p646.C * g++.old-deja/g++.mike/p700.C * g++.old-deja/g++.mike/p701.C * g++.old-deja/g++.mike/p811.C * g++.old-deja/g++.ns/template13.C * g++.old-deja/g++.other/array3.C * g++.old-deja/g++.other/crash25.C * g++.old-deja/g++.other/dtor3.C * g++.old-deja/g++.other/dtor4.C * g++.old-deja/g++.other/main1.C * g++.old-deja/g++.other/warn7.C * g++.old-deja/g++.pt/crash11.C * g++.old-deja/g++.pt/crash36.C * g++.old-deja/g++.pt/spec22.C * g++.old-deja/g++.pt/spec9.C * g++.old-deja/g++.pt/ttp52.C * g++.old-deja/g++.robertl/eb103.C * g++.old-deja/g++.robertl/eb121.C * g++.old-deja/g++.robertl/eb22.C * g++.old-deja/g++.robertl/eb8.C: Update locations and/or regexps of dg-error markers. Remove markers for some bogus messages that are no longer issued. libstdc++-v3: * testsuite/20_util/memory/auto_ptr/assign_neg.cc * testsuite/23_containers/map/operators/1_neg.cc * testsuite/23_containers/set/operators/1_neg.cc: Update locations and/or regexps of dg-error markers. From-SVN: r87985 |
||
Matt Austern
|
f1197ae160 |
re PR libstdc++/16844 (Explicit instantiation failing)
PR libstdc++/16844 * include/bits/stl_list.h (_M_create_node): Remove unused zero-argument version. * include/ext/slist (_M_create_node): Pass two arguments to allocator's construct() member function. * testsuite/23_containers/deque/explicit_instantiation.cc: New. * testsuite/23_containers/list/explicit_instantiation.cc: New. * testsuite/23_containers/vector/explicit_instantiation.cc: New. * testsuite/23_containers/map/explicit_instantiation.cc: New. * testsuite/23_containers/set/explicit_instantiation.cc: New. * testsuite/23_containers/multimap/explicit_instantiation.cc: New. * testsuite/23_containers/multiset/explicit_instantiation.cc: New. * testsuite/ext/hash_set_explicit_instantiation.cc: New. * testsuite/ext/slist_explicit_instantiation.cc: New. From-SVN: r85428 |
||
Paolo Carlini
|
5875306379 |
re PR libstdc++/16813 (compiler error in DEBUG version of range insertion std::map::insert)
2004-07-29 Paolo Carlini <pcarlini@suse.de> PR libstdc++/16813 * include/debug/map.h (insert(_InputIterator, _InputIterator)): Fix typo. * testsuite/23_containers/map/insert/16813.cc: New. From-SVN: r85295 |
||
Benjamin Kosnik
|
261e5b9e6a |
[multiple changes]
2004-05-17 Benjamin Kosnik <bkoz@redhat.com> * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class. * testsuite/23_containers/deque/14340.cc: New. * testsuite/23_containers/list/14340.cc: New. * testsuite/23_containers/map/14340.cc: New. * testsuite/23_containers/multimap/14340.cc: New. * testsuite/23_containers/multiset/14340.cc: New. * testsuite/23_containers/set/14340.cc: New. * testsuite/23_containers/vector/14340.cc: New. 2004-05-17 Douglas Gregor <gregod@cs.rpi.edu> PR libstdc++/14340 * include/debug/safe_iterator.h (_Safe_iterator converting constructor): Only allow declaration to instantiate when the incoming _Safe_iterator has exactly the right iterator type. From-SVN: r81970 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
Doug Gregor
|
e64a227a8d |
Tests for user specialization of standard containers.
From-SVN: r70018 |
||
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 |