Paolo Carlini
a9dd5a466a
PR libstdc++/21244 (cont)
...
2005-04-28 Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/21244 (cont)
* include/bits/cpp_type_traits.h (struct __traitor): Convert
to bool the values.
* include/bits/stl_algo.h: Convert _S_threshold to int.
* include/bits/stl_bvector.h: Revert previous change, convert
_S_word_bit to int.
* include/debug/formatter.h: Convert __max_parameters to
size_t.
* include/ext/mt_allocator.h: Likewise for _S_chunk_size.
* include/ext/pool_allocator.h: Likewise for _S_max_bytes and
_S_align.
* include/ext/rope: Likewise for _S_alloc_granularity; convert
_S_max_rope_depth to int.
* include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
_S_max_rope_depth to int; _S_copy_max to size_t.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r98915
2005-04-28 07:50:48 +00:00
Paolo Carlini
4d73fac958
cpp_type_traits.h: Rename _M_type fields to __value...
...
2005-02-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Rename _M_type fields to
__value, except for __enable_if, _M_type -> __type, consistently
with the other traits.
* include/bits/stl_algobase.h: Tweak consistently.
* include/bits/stl_tree.h: Likewise.
* include/bits/valarray_array.h: Likewise.
* include/c_std/std_cmath.h: Likewise.
* include/debug/safe_iterator.h: Likewise.
* include/std/std_complex.h: Likewise.
From-SVN: r94538
2005-02-01 13:30:34 +00:00
Paolo Carlini
c0736a9ddb
cpp_type_traits.h: Add types to the structs thus making type_traits.h redundant...
...
2005-01-31 Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
* include/bits/cpp_type_traits.h: Add types to the structs thus
making type_traits.h redundant; exploit new __truth_type and
__traitor helpers.
* include/bits/type_traits.h: Remove.
* include/Makefile.am: Update.
* include/Makefile.in: Regenerate.
* include/backward/tempbuf.h: Include cpp_type_traits.h instead.
* include/bits/basic_string.h (replace(iterator, iterator,
_InputIterator, _InputIterator), _S_construct(_InIterator,
_InIterator, const _Alloc&)): Use __is_integer instead.
* include/bits/stl_bvector.h (vector(_InputIterator,
_InputIterator, const allocator_type&), assign(_InputIterator,
_InputIterator), insert(iterator, _InputIterator, _InputIterator)):
Likewise.
* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
_ForwardIterator)): Use __is_scalar.
* include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
const allocator_type&), assign(_InputIterator, _InputIterator),
insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
* include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
insert(iterator, _InputIterator, _InputIterator)): Likewise.
* include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
_ForwardIterator)): Use __is_scalar.
* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
_Size, const _Tp&)): Likewise.
* include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
const allocator_type&), assign(_InputIterator, _InputIterator),
insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
* include/debug/debug.h (__valid_range(const _InputIterator&,
const _InputIterator&)): Use __is_integer.
* include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
* include/std/std_string.h: Include cpp_type_traits.h instead.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r94484
2005-01-31 16:22:01 +00:00
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
2004-07-29 10:52:49 +00:00
Benjamin Kosnik
4723805a61
safe_base.h (__gnu_debug::_Safe_sequence_base): Revert -Weffc++ changes that defined copy ctory and or assignment operator.
...
2004-06-28 Benjamin Kosnik <bkoz@redhat.com>
* include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
Revert -Weffc++ changes that defined copy ctory and or assignment
operator.
* libsupc++/tinfo.cc (__upcast_result): Same.
From-SVN: r83804
2004-06-28 18:31:18 +00:00
Benjamin Kosnik
c19d6c9f9f
formatter.h (__gnu_debug::_Error_formatter): Remove copy constructor and assignment operator.
...
2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
* include/debug/formatter.h (__gnu_debug::_Error_formatter):
Remove copy constructor and assignment operator.
From-SVN: r83641
2004-06-25 07:01:42 +00:00
Paolo Carlini
ab3d88bed1
re PR libstdc++/16020 (cannot copy __gnu_debug::bitset)
...
2004-06-18 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/16020
* include/debug/safe_base.h
(_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
_Safe_sequence_base::operator=): Provide definitions.
* testsuite/23_containers/bitset/cons/16020.cc: New.
From-SVN: r83357
2004-06-18 17:13:35 +00:00
Benjamin Kosnik
26c691a88b
re PR libstdc++/12854 (libstdc++ vs. -Weffc++)
...
2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12854
Fixups for -Weffc++.
* include/bits/basic_string.h (basic_string::operator=): Return
pointer to this instead of result of assign. Although redundant,
this doesn't impact resultant codegen.
* include/bits/locale_facets.h (__numpunct_cache): Declare
assignment opxserator and copy constructor private.
(__timepunct_cache): Same.
(__moneypunct_cache): Same.
(collate): Use member initialization list for _M_c_locale_collate.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/time_members.h (__timepunct): Same.
* src/codecvt.cc: Use member initialization list to initialize
_M_c_locale_codecvt.
* src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
* config/os/gnu-linux/ctype_noninline.h: Same.
* src/locale.cc (_Impl): Same.
* src/locale_init.cc: Same.
* src/localename.cc: Same.
* include/bits/basic_ios.h (basic_ios): Complete member
initialization list.
* include/bits/istream.tcc (basic_istream::sentry): Same.
* include/bits/ostream.tcc (basic_ostream::sentry): Same.
* include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
_M_pback to member initialization list.
* include/std/std_streambuf.h: Same.
* include/std/std_sstream.h: Same, for _M_mode.
* src/ios.cc (ios_base): Same.
* include/ext/rope: Make derived classes match exception
specifications. Add copy constructors and assignment operators.
* include/debug/safe_base.h (_Safe_sequence_base): Declare copy
constructor and assignment operator protected.
(_Safe_iterator_base): Same.
* include/debug/formatter.h (_Error_formatter): Define copy
constructor and assignment operator.
* include/backward/strstream: Declare assignment operator and copy
constructor private.
From-SVN: r82153
2004-05-22 23:46:34 +00:00
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
2004-05-18 03:27:57 +00:00
Simon Marshall
95b147fe4a
re PR libstdc++/15090 (-fno-for-scope vs. libstdc++)
...
2004-05-13 Simon Marshall <simon.marshall@misys.com>
Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/15090
* include/bits/locale_facets.h: Fix for -fno-for-scope.
* include/debug/safe_sequence.h: Same.
* include/debug/safe_iterator.tcc: Same.
* src/debug.cc: Same.
* src/locale.cc: Same.
* src/locale_init.cc: Same.
* src/localename.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/numeric_members.cc: Same.
* testsuite/testsuite_abi.cc: Same.
* testsuite/testsuite_hooks.cc: Same.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r81795
2004-05-13 16:29:39 +00:00
Benjamin Kosnik
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
Paolo Carlini
72afd981f8
re PR libstdc++/13838 (std::bitset<>::operator |= error with -D_GLIBCXX_DEBUG)
...
2004-01-23 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13838
* include/debug/bitset (operator|=): Fix typo.
* testsuite/23_containers/bitset/operations/13838.cc: New.
From-SVN: r76479
2004-01-24 01:25:37 +00:00
Bernardo Innocenti
526da49cc7
bitset, [...]: Remove trailing whitespace.
...
* include/debug/bitset, include/debug/debug.h, include/debug/deque,
include/debug/formatter.h, include/debug/hash_map.h,
include/debug/hash_multimap.h, include/debug/hash_multiset.h,
include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
include/debug/map.h, include/debug/multimap.h,
include/debug/multiset.h, include/debug/safe_base.h,
include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
include/debug/safe_sequence.h, include/debug/set.h,
include/debug/string, include/debug/vector: Remove trailing whitespace.
From-SVN: r74463
2003-12-09 05:26:28 +01:00
Benjamin Kosnik
9dc420e68d
formatter.h: Use _Tp as template argument.
...
2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
* include/debug/formatter.h: Use _Tp as template argument.
* src/debug.cc: Same, instantiate std::size_t.
From-SVN: r73792
2003-11-21 05:49:21 +00:00
Benjamin Kosnik
4be58168d3
re PR libstdc++/13109 (libstdc++-v3 bootstrap failure on Tru64 UNIX V4.0F: snprintf missing)
...
2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/13109
* include/debug/formatter.h (_Error_formatter::_M_format_word): New.
* src/debug.cc (__gnu_debug): Format.
(_Error_formatter::_M_format_word): Define, use, instantiate.
From-SVN: r73770
2003-11-20 19:32:13 +00:00
Douglas Gregor
1b80d64af2
debug.html: Users are allowed to specialize in namespace __gnu_debug...
...
2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
* docs/html/debug.html: Users are allowed to specialize in
namespace __gnu_debug, unlike in the Apple version of the debug
mode. Clear up a confusing double-negative. Note that
std::basic_string does provide extra debugging capabilities, but
not safe iterators.
* include/bits/basic_string.tcc: Make sure there's never an
ambiguity when calling __is_null_pointer.
* include/debug/deque: (deque::erase) Properly handle invalidation
when erasing at the end of the deque.
* include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
(vector::clear): Set the guaranteed capacity to 0.
* testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
iterator invalidation when erasing at the end of the deque.
From-SVN: r73564
2003-11-14 00:15:00 +00:00
Benjamin Kosnik
f9d52373f8
c++config: Move using directive...
...
2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Move using directive...
* include/debug/formatter.h: ...here.
From-SVN: r73486
2003-11-12 07:12:20 +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