Paolo Carlini
394033f804
cpp_type_traits.h (__is_byte): Add.
...
2007-10-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h (__is_byte): Add.
* include/bits/stl_algobase.h (struct __fill, struct __fill_n,
__fill_aux, __fill_n_aux): Remove.
(__fill_a, __fill_n_a): Add.
(fill, fill_n): Adjust.
From-SVN: r129421
2007-10-17 21:21:13 +00:00
Paolo Carlini
e14e932bbb
stl_algobase.h (swap): Move...
...
2007-10-10 Paolo Carlini <pcarlini@suse.de>
Chris Fairles <chris.fairles@gmail.com>
* include/bits/stl_algobase.h (swap): Move...
* include/bits/stl_move.h: ... here.
* include/bits/stl_pair.h (pair<>::pair(_U1&&, _U2&&),
pair<>::pair(pair<>&&), pair<>::operator=(pair<>&&),
pair<>::swap(pair&&), swap(&, &), swap(&&, &), swap(&, &&),
make_pair(_T1&&, _T2&&)): Add.
* testsuite/20_util/pair/swap.cc: Add.
Co-Authored-By: Chris Fairles <chris.fairles@gmail.com>
From-SVN: r129198
2007-10-10 09:29:11 +00:00
Paolo Carlini
d98f312ce6
stl_move.h (_GLIBCXX_MOVE): Add.
...
2007-10-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_move.h (_GLIBCXX_MOVE): Add.
* include/bits/stl_algobase.h: Adjust.
* include/bits/stl_pair.h: Likewise.
* include/bits/stl_algo.h: Minor formatting fixes.
From-SVN: r129138
2007-10-08 20:02:11 +00:00
Paolo Carlini
6c5f0578d9
[multiple changes]
...
2007-10-08 Paolo Carlini <pcarlini@suse.de>
* include/std/utility (identity, move, forward): Move to...
* include/bits/stl_move.h: ... here.
* include/Makefile.am: Add.
* include/bits/stl_algobase.h: Include the latter.
* include/Makefile.in: Regenerate.
* testsuite/20_util/pair/moveable.cc: Remove dg-require-rvalref.
2007-10-08 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_pair.h (pair<>:pair(pair&&),
pair<>::operator=(pair&&)): Add.
From-SVN: r129123
2007-10-08 11:16:51 +00:00
Paolo Carlini
3a6b0f5465
[multiple changes]
...
2007-10-07 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (_GLIBCXX_MOVE): Add.
(swap, __iter_swap): Use it.
* testsuite/25_algorithms/rotate/moveable.cc: Remove dg-require-rvalref.
* testsuite/25_algorithms/remove/moveable.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
* testsuite/25_algorithms/reverse/moveable.cc: Likewise.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.
* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
* include/bits/stl_algobase.h (lexicographical_compare):
Clean up.
2007-10-07 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (remove, remove_if, unique,
__rotate(_RandomAccessIterator, _RandomAccessIterator,
_RandomAccessIterator, random_access_iterator_tag)): Use _GLIBCXX_MOVE.
(__rotate(_ForwardIterator, _ForwardIterator, _ForwardIterator,
forward_iterator_tag), __rotate(_BidirectionalIterator,
_BidirectionalIterator, _BidirectionalIterator,
bidirectional_iterator_tag), __partition(_ForwardIterator,
_ForwardIterator, _Predicate, forward_iterator_tag)): Use iter_swap.
From-SVN: r129068
2007-10-07 11:14:11 +00:00
Johannes Singler
c2ba97097b
Add parallel mode.
...
2007-09-11 Johannes Singler <singler@ira.uka.de>
Leonor Frias Moya <lfrias@lsi.upc.edu>
Felix Putze <kontakt@felix-putze.de>
Marius Elvert <marius.elvert@ira.uka.de>
Felix Bondarenko <f.bondarenko@web.de>
Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Robin Dapp <r.dapp@freenet.de>
Benjamin Kosnik <bkoz@redhat.com>
Add parallel mode.
* include/parallel: New.
* include/parallel/iterator.h: New.
* include/parallel/multiway_merge.h: New.
* include/parallel/parallel.h: New.
* include/parallel/algorithm
* include/parallel/find_selectors.h: New.
* include/parallel/losertree.h: New.
* include/parallel/list_partition.h: New.
* include/parallel/types.h: New.
* include/parallel/for_each.h: New.
* include/parallel/multiseq_selection.h: New.
* include/parallel/workstealing.h: New.
* include/parallel/base.h: New.
* include/parallel/par_loop.h: New.
* include/parallel/numeric
* include/parallel/features.h: New.
* include/parallel/quicksort.h: New.
* include/parallel/algorithmfwd.h: New.
* include/parallel/equally_split.h: New.
* include/parallel/compiletime_settings.h: New.
* include/parallel/for_each_selectors.h: New.
* include/parallel/basic_iterator.h: New.
* include/parallel/omp_loop_static.h: New.
* include/parallel/random_shuffle.h: New.
* include/parallel/balanced_quicksort.h: New.
* include/parallel/set_operations.h: New.
* include/parallel/tags.h: New.
* include/parallel/merge.h: New.
* include/parallel/tree.h: New.
* include/parallel/settings.h: New.
* include/parallel/unique_copy.h: New.
* include/parallel/multiway_mergesort.h: New.
* include/parallel/numericfwd.h: New.
* include/parallel/search.h: New.
* include/parallel/partition.h: New.
* include/parallel/compatibility.h: New.
* include/parallel/algobase.h: New.
* include/parallel/find.h: New.
* include/parallel/partial_sum.h: New.
* include/parallel/algo.h: New.
* include/parallel/omp_loop.h: New.
* include/parallel/queue.h: New.
* include/parallel/timing.h: New.
* include/parallel/sort.h: New.
* include/parallel/checkers.h: New.
* include/parallel/random_number.h: New.
* include/bits/algorithmfwd.h: New.
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): New.
* configure.host: Add atomic_flags.
* configure.ac: Export ATOMIC_FLAGS, call GLIBCXX_ENABLE_PARALLEL.
* src/Makefile.am: Add parallel_list rules.
* include/Makefile.am: Add parallel files.
* testsuite/Makefile.am (check-parallel): Add.
(check-performance-parallel): Add.
* config.h.in: Regenerate.
* configure: Same.
* libsupc++/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* Makefile.in: Same.
* libmath/Makefile.in: Same.
* include/Makefile.in: Same.
* src/Makefile.in: Same.
* po/Makefile.in: Same.
* config/abi/pre/gnu.ver: Export parallel list bits.
* docs/html/parallel_mode.html: New.
* docs/html/documentation.html: Add link.
* docs/doxygen/user.cfg.in: Adjust for new files and directory.
* docs/doxygen/doxygroups.cc: Adjust namespace markup.
* include/debug/set.h: Adjust for _GLIBCXX_STD_D or _P change.
* include/debug/bitset: Same.
* include/debug/multiset.h: Same.
* include/debug/vector: Same.
* include/debug/map.h: Same.
* include/debug/deque: Same.
* include/debug/list: Same.
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* include/std/algorithm: Same.
* include/std/numeric: Same.
* include/std/bitset: Same.
* include/std/string: Same.
* include/ext/hash_map: Same.
* include/ext/hash_set: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/c++config: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/list.tcc: Same.
* src/list.cc: Same.
* src/parallel_list.cc: New.
* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): New.
* testsuite/lib/dg-options.exp (dg-require-parallel-mode): New.
* scripts/testsuite_flags.in (--cxxparallelflags): New.
* scripts/check_performance: Adjust.
* testsuite/25_algorithms/headers/parallel_algorithm.cc: New.
* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: New.
* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: New.
* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: New.
* testsuite/26_numerics/headers/numeric/parallel_numeric.cc: New.
* testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc: New.
* testsuite/26_numerics/headers/numeric/
parallel_numeric_mixed1.cc: New.
* testsuite/26_numerics/headers/numeric/
parallel_numeric_mixed2.cc: New.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Felix Bondarenko <f.bondarenko@web.de>
Co-Authored-By: Felix Putze <kontakt@felix-putze.de>
Co-Authored-By: Leonor Frias Moya <lfrias@lsi.upc.edu>
Co-Authored-By: Marius Elvert <marius.elvert@ira.uka.de>
Co-Authored-By: Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Co-Authored-By: Robin Dapp <r.dapp@freenet.de>
From-SVN: r128395
2007-09-11 22:32:51 +00:00
Paolo Carlini
c2fe93f7ba
re PR libstdc++/32908 (Miss lexicographical_compare random access override)
...
2007-07-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/32908
* include/bits/stl_algobase.h (struct __lc_rai): New.
(lexicographical_compare(_II1, _II1, _II2, _II2),
lexicographical_compare(_II1, _II1, _II2, _II2, _Compare)): Use it.
* testsuite/performance/25_algorithms/lexicographical_compare.cc: New.
From-SVN: r127073
2007-07-30 21:14:52 +00:00
Paolo Carlini
046d30f4e0
stl_list.h: Rename guard macro consistently with file name.
...
2007-06-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_list.h: Rename guard macro consistently with
file name.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/stl_iterator_base_types.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_pair.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_function.h: Likewise.
* include/bits/stl_tree.h: Likewise.
From-SVN: r125815
2007-06-18 17:22:53 +00:00
Paolo Carlini
1d1c53d561
stl_algobase.h (mismatch): Move...
...
2007-05-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (mismatch): Move...
* include/bits/stl_algo.h: ... here.
From-SVN: r124792
2007-05-17 11:52:06 +00:00
Paolo Carlini
360721e336
stl_algobase.h: Do not include <cstring>.
...
2007-05-07 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h: Do not include <cstring>.
(copy(const _Tp*, const _Tp*, _Tp*), __copy_b(const _Tp*, const _Tp*,
_Tp*)): Use __builtin_memmove.
(__fill_aux): Use __builtin_memset.
(equal(const _Tp*, const _Tp*, const _Tp*),
lexicographical_compare(const unsigned char*, const unsigned char*,
const unsigned char*, const unsigned char*)): Use __builtin_memcmp.
* include/bits/valarray_array.h: Do not include <cstring>.
(_Array_default_ctor<, true>::_S_do_it): Use __builtin_memset.
(_Array_copy_ctor<, true>::_S_do_it, _Array_copier<, true>::_S_do_it):
Use __builtin_memcpy.
* include/ext/algorithm
(__lexicographical_compare_3way(const unsigned char*,
const unsigned char*, const unsigned char*, const unsigned char*)):
Use __builtin_memcmp.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r124511
2007-05-07 20:36:40 +00:00
Paolo Carlini
d22a31664d
PR libstdc++/30449 (equal)
...
2007-04-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/30449 (equal)
* include/bits/stl_algobase.h (struct __niter_base): Add.
(copy(_II, _II, _OI), copy_backward(_BI1, _BI1, _BI2),
fill(_ForwardIterator, _ForwardIterator, const _Tp&),
fill_n(_OI, _Size, const _Tp&), equal(_II1, _II1, _II2)):
Use it.
(struct __copy_normal, __copy_backward_normal,
struct __fill_normal, struct __fill_n_normal): Remove.
(struct __equal, struct __equal_aux): Add.
* include/bits/stl_iterator.h: Add _Iterator_type typedef.
* include/bits/stl_algobase.h (__fill_aux(wchar_t*,
wchar_t*, wchar_t), __fill_n_aux(wchar_t*, _Size, wchar_t)):
Remove.
* testsuite/23_containers/requirements/sequences/dr438/vector/
constructor_1_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/requirements/sequences/dr438/vector/
constructor_2_neg.cc: Likewise.
From-SVN: r124295
2007-04-30 13:10:54 +00:00
Paolo Carlini
dded9d2ca8
re PR libstdc++/31556 (find_if uses operator! instead of conversion to bool)
...
2007-04-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/31556
* include/bits/stl_algobase.h (equal(_InputIterator1, _InputIterator1,
_InputIterator2, _BinaryPredicate), mismatch(_InputIterator1,
_InputIterator1, _InputIterator2, _BinaryPredicate)): Convert
predicate return to bool.
* include/bits/stl_algo.h (__find_if(_InputIterator, _InputIterator,
_Predicate, input_iterator_tag), search(_ForwardIterator1,
_ForwardIterator1, _ForwardIterator2, _ForwardIterator2,
_BinaryPredicate), __search_n(_ForwardIterator, _ForwardIterator,
_Integer, const _Tp&, _BinaryPredicate, std::forward_iterator_tag),
__search_n(_RandomAccessIter, _RandomAccessIter, _Integer, const _Tp&,
_BinaryPredicate, std::random_access_iterator_tag),
search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&,
_BinaryPredicate), remove_copy_if(_InputIterator, _InputIterator,
_OutputIterator, _Predicate), __unique_copy(_ForwardIterator,
_ForwardIterator, _OutputIterator, _BinaryPredicate,
forward_iterator_tag, output_iterator_tag),
__unique_copy(_InputIterator, _InputIterator, _OutputIterator,
_BinaryPredicate, input_iterator_tag, output_iterator_tag),
__unique_copy(_InputIterator, _InputIterator, _OutputIterator,
_BinaryPredicate, input_iterator_tag, output_iterator_tag),
__unique_copy(_InputIterator, _InputIterator, _ForwardIterator,
_BinaryPredicate, input_iterator_tag, forward_iterator_tag),
unique(_ForwardIterator, _ForwardIterator, _BinaryPredicate),
__partition(_BidirectionalIterator, _BidirectionalIterator, _Predicate,
bidirectional_iterator_tag), binary_search(_ForwardIterator,
_ForwardIterator, const _Tp&, _Compare),
next_permutation(_BidirectionalIterator, _BidirectionalIterator,
_Compare), prev_permutation(_BidirectionalIterator,
_BidirectionalIterator, _Compare)): Likewise.
From-SVN: r123800
2007-04-13 22:22:56 +00:00
Paolo Carlini
6725add54e
numeric_traits.h: Do not include <limits>.
...
2007-04-13 Paolo Carlini <pcarlini@suse.de>
* include/ext/numeric_traits.h: Do not include <limits>.
(__numeric_traits_integer::__is_signed, __digits): Add.
(__numeric_traits_floating::__digits10, __max_exponent10): Add.
* src/istream.cc (ignore<char>(streamsize, int_type), operator>>
(basic_istream<char>&, char*), ignore<wchar_t>(streamsize,
int_type)): Use the latter.
* src/compatibility.cc (ignore<char>(streamsize),
ignore<wchar_t>(streamsize)): Likewise.
* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
Likewise.
* include/bits/stl_memory.h (__get_temporary_buffer): Likewise.
* include/bits/stl_algobase.h (lexicographical_compare(const char*,
const char*, const char*, const char*)): Likewise.
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
_InIter, ios_base&, ios_base::iostate&, _ValueT&),
num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT),
num_put<>::_M_insert_float(_OutIter, ios_base&, _CharT, char,
_ValueT), collate<>::do_hash(const _CharT*, const _CharT*)): Likewise.
* include/bits/basic_string.h (basic_string<>::_S_compare): Likewise.
* include/bits/istream.tcc (operator>>(short&), operator>>(int&),
ignore(streamsize), ignore(streamsize, int_type), operator>>
(basic_istream<>&, _CharT*)): Likewise.
* include/bits/stl_bvector.h (vector<bool>::max_size): Likewise.
* include/tr1/functional_hash.h (struct hash<long double>): Likewise.
* include/std/istream: Do not include <limits>.
* include/tr1/cmath: Include <limits>.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
* include/tr1/hashtable: Do not include the whole <iterator>.
From-SVN: r123779
2007-04-13 10:54:37 +00:00
Paolo Carlini
ff2ea58742
stl_algobase.h (__copy_aux(_II, _II, _OI), [...]): Use __is_pod.
...
2007-04-03 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__copy_aux(_II, _II, _OI),
__copy_backward_aux(_BI1, _BI1, _BI2)): Use __is_pod.
* include/bits/stl_deque.h (deque<>::_M_destroy_data(iterator,
iterator, const std::allocator<>&)): Use __has_trivial_constructor.
(deque<>::_M_destroy_data_dispatch): Remove.
* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
_Size, const _Tp&)): Use __is_pod.
* include/bits/stl_tempbuf.h (_Temporary_buffer::
_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use __is_pod.
(_Temporary_buffer::_M_initialize_buffer): Remove.
* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
_ForwardIterator)): Use __has_trivial_destructor.
(__destroy_aux): Remove.
From-SVN: r123480
2007-04-03 18:44:01 +00:00
Paolo Carlini
91b0b94a04
stl_algo.h (swap_ranges): Move...
...
2007-03-12 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (swap_ranges): Move...
* include/bits/stl_algobase.h: ... here.
* include/tr1/array: Trim includes, stl_algobase.h is enough.
From-SVN: r122840
2007-03-12 13:59:50 +00:00
Paolo Carlini
4ba851b58b
PR libstdc++/28080 (partial)
...
2007-03-06 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/bits/stl_algobase.h: Do not include <cstdlib>.
* src/localename.cc: Do it here.
* src/ctype.cc: Likewise.
* include/ext/pb_ds/detail/map_debug_base.hpp: Likewise.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/pb_ds/list_update_policy.hpp: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/tr1/random: Likewise.
* testsuite/util/testsuite_hooks.cc: Likewise.
* testsuite/util/testsuite_abi_check.cc: Likewise.
* testsuite/util/testsuite_abi.cc: Likewise.
* testsuite/util/performance/assoc/timing/
tree_order_statistics_test.hpp: Likewise.
* config/locale/darwin/ctype_members.cc: Likewise.
* config/locale/gnu/c++locale_internal.h: Likewise.
* config/locale/generic/ctype_members.cc: Likewise.
* config/locale/generic/time_members.cc: Likewise.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Qualify abort.
* testsuite/util/performance/assoc/timing/
multimap_find_test.hpp: Likewise.
* include/std/valarray: Do include <cstdlib>.
* include/tr1/hashtable: Likewise.
From-SVN: r122628
2007-03-06 17:43:27 +00:00
Paolo Carlini
39b8cd70c2
PR libstdc++/28080 (partial)
...
2007-03-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/bits/stl_algobase.h: Do not include <iosfwd>,
<bits/functexcept.h> is enough; adjust __copy_aux declarations;
remove declaration of copy overload for istreambuf_iterator /
ostreambuf_iterator.
* src/debug.cc: Include <cstdio>.
* include/ext/rope: Include <iosfwd>.
* include/bits/char_traits.h: Include <cstdio> and <cwchar>.
* include/bits/stl_algo.h: Remove declaration of find overload
for istreambuf_iterator.
* include/std/queue: Clean up includes.
* include/std/stack: Likewise.
* include/std/memory: Likewise.
* include/std/algorithm: Likewise.
* include/std/vector: Likewise.
* include/std/deque: Likewise.
* include/std/list: Likewise.
* include/bits/stl_tree.h: Likewise.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust
dg-error markers.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
* testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
* include/ext/type_traits.h: Fix type of __max_digits10; clean up
includes.
* testsuite/util/testsuite_hooks.h: Do not include <cstddef>.
* testsuite/util/testsuite_hooks.cc: Do it here.
From-SVN: r122502
2007-03-03 10:29:14 +00:00
Paolo Carlini
f56fe8ff92
PR libstdc++/28080 (partial)
...
2007-02-18 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/bits/stl_algobase.h: Do not include <climits>, use
std::numeric_limits.
* include/bits/stl_bvector.h: Use __CHAR_BIT__.
* config/locale/gnu/codecvt_members.cc: Include <climits>.
* config/locale/generic/codecvt_members.cc: Likewise.
* include/std/string: Do not include <algorithm>; do not include
<memory>, include <bits/allocator.h> instead.
* include/ext/vstring_fwd.h: Likewise.
* include/ext/vstring_util.h: Do not include <algorithm>.
* include/tr1/hashtable_policy.h: Include <algorithm>.
* testsuite/21_strings/basic_string/replace/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Likewise.
* testsuite/23_containers/bitset/cons/1.cc: Likewise.
* testsuite/util/testsuite_character.h: Likewise.
* config/locale/gnu/codecvt_members.cc: Also include <cstdlib>,
for MB_CUR_MAX.
* config/locale/generic/codecvt_members.cc: Likewise.
From-SVN: r122089
2007-02-18 11:32:44 +00:00
Paolo Carlini
aa5ccd9980
stl_algobase.h (__fill_aux(unsigned char*, unsigned char*, const unsigned char&), [...]): Take the character by value.
...
2007-01-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__fill_aux(unsigned char*,
unsigned char*, const unsigned char&), __fill_aux(signed char*,
signed char*, const signed char&), __fill_aux(char*, char*,
const char&), __fill_aux(wchar_t*, wchar_t*, const wchar_t&)):
Take the character by value.
(__fill_n_aux): Likewise.
From-SVN: r121056
2007-01-22 15:19:40 +00:00
Paolo Carlini
e9e90c1f98
PR libstdc++/30449 (fill, fill_n)
...
2007-01-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/30449 (fill, fill_n)
* include/bits/stl_algobase.h (__fill_aux(wchar_t*, wchar_t*,
const wchar_t&), __fill_n_aux(wchar_t*, _Size, const wchar_t&)): New.
(fill(signed char*, signed char*, const signed char&),
fill(unsigned char*, unsigned char*, const unsigned char&),
fill(char*, char*, char&), fill_n(signed char*, _Size,
const signed char&), fill_n(unsigned char*, _Size,
const unsigned char&), fill_n(char*, _Size, char&)): Rename to
__*_aux.
(__fill_normal, __fill_n_normal): New, call the latter.
(fill, fill_n): Adjust, call the latter.
* testsuite/25_algorithms/fill/4.cc: New.
* testsuite/25_algorithms/fill/5.cc: New.
From-SVN: r121027
2007-01-21 09:57:42 +00:00
Paolo Carlini
30beae0c6e
stl_algobase.h (fill_n(char*, _Size, const signed char&)): Fix signature.
...
2007-01-14 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill_n(char*, _Size,
const signed char&)): Fix signature.
* testsuite/25_algorithms/fill/3.cc: New.
From-SVN: r120778
2007-01-14 18:29:58 +00:00
Paolo Carlini
6bd70157d7
re PR libstdc++/29989 (missed #undef min/max in <limits>)
...
2006-12-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29989
* include/bits/stl_algobase.h: Remove min and max #undefs.
From-SVN: r119467
2006-12-03 17:15:46 +00:00
Benjamin Kosnik
105c6331b2
type_traits.h: New.
...
2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
Peter Doerfler <gcc@pdoerfler.com>
Paolo Carlini <pcarlini@suse.de>
* include/ext/type_traits.h: New.
(__conditional_type): New.
(__numeric_traits): New.
(__add_unsigned): New.
(__remove_unsigned): New.
(__enable_if): New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
remove duplicates.
* include/tr1/hashtable_policy.h (IF): Use __conditional_type.
(_Max_digits10): Same.
(identity): Use _Identity.
(extract1st): Use _Select1st.
* include/tr1/random (_Select): Use __conditional_type.
(_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
* include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
__add_unsigned.
* include/tr1/random.tcc: Fixups as above.
* include/tr1/unordered_map: Same.
* include/tr1/hashtable: Same.
* include/tr1/unordered_set: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
standard_policies.hpp: Same.
* include/ext/pb_ds/detail/standard_policies.hpp: Same.
* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
* include/ext/pb_ds/detail/type_utils.hpp: Same.
* include/ext/pb_ds/trie_policy.hpp: Same.
* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
* include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
boolean argument first.
* include/bits/locale_facets.h: Fixups for __enable_if argument
and namespace switch.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/streambuf_iterator.h: Same.
* include/debug/safe_iterator.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cmath: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.
* include/std/std_streambuf.h: Same.
* include/c_std/std_cmath.h: Same.
* testsuite/util/testsuite_tr1.h: Same.
* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>
From-SVN: r117024
2006-09-18 13:30:56 +00:00
Paolo Carlini
62c7a041bb
stl_algobase.h (fill(const _Deque_iterator<>&, const _Deque_iterator<>&, const _Tp&)): Move...
...
2006-08-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
const _Deque_iterator<>&, const _Tp&)): Move...
* include/bits/deque.tcc: ... here.
* include/bits/stl_deque.h: Declare.
From-SVN: r116034
2006-08-09 09:56:15 +00:00
Paolo Carlini
0002d5d2bc
re PR libstdc++/25482 (Specialize (overload) std::copy/find for streambuf iterators)
...
2006-03-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/25482
* include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
* include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT)): Likewise.
* include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
__copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
__copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
_CharT)): Define.
(class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
friends.
* include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
* include/bits/cpp_type_traits.h (struct __is_char<>): Add.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
* testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
* testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.
From-SVN: r112247
2006-03-21 12:25:11 +00:00
Paolo Carlini
5f5c25d99d
stl_algobase.h (fill(const _Deque_iterator&, const _Deque_iterator&, const _Tp&)): Deal, correctly, only with iterators (leave const_iterators alone).
...
2005-12-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill(const _Deque_iterator&,
const _Deque_iterator&, const _Tp&)): Deal, correctly, only
with iterators (leave const_iterators alone).
2005-12-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
const _Deque_iterator<>&, const _Tp&)): Add.
* testsuite/23_containers/deque/cons/assign/1.cc: New.
From-SVN: r109038
2005-12-24 10:01:45 +00:00
Benjamin Kosnik
3cbc7af037
c++config: Add in revised namespace associations.
...
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Add in revised namespace associations.
_GLIBCXX_BEGIN_NAMESPACE: New macro.
_GLIBCXX_END_NAMESPACE: Same.
_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
_GLIBCXX_END_NESTED_NAMESPACE: Same.
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
* configure: Regenerated.
* config.h.in: Same.
* config/abi/pre/gnu-versioned-namespace.ver: New.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
debug mode items.
* include/Makefile.am (${host_builddir}/c++config.h): Fill in
values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
* include/Makefile.in: Regnerate.
* src/compatibility.cc: Alias new, nested definitions to exported
symbols from non-nested __gnu_debug.
* src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
* src/Makefile.in: Regenerate.
* docs/html/debug_mode.html: Revise for nested design.
* docs/html/debug.html: Use debug qualifications instead of
__gnu_debug.
* docs/html/configopts.html: Revise documentation for
--enable-symvers.
* include/debug/formatter: Simplify namespace qualifications for
current, nested-only reality. Add top-level namespace alias,
namespace debug, for debug-mode containers.
* include/debug/safe_iterator.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/bitset
* include/debug/safe_sequence.h: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/functions.h: Same.
* include/debug/safe_iterator.tcc
* include/debug/hash_multiset.h: Same.
* include/debug/vector
* include/debug/map.h: Same.
* include/debug/deque
* include/debug/hash_map.h: Same.
* include/debug/string
* include/debug/macros.h: Same.
* include/debug/list
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* src/debug.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/insert/16813.cc: Same.
* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
friends.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/localefwd.h: Same.
* include/bits/valarray_array.tcc: Same.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/atomicity.h: Same.
* include/bits/stream_iterator.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/stl_raw_storage_iter.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/ostream.tcc: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/stl_iterator_base_funcs.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config
* include/bits/stl_iterator.h: Same.
* include/bits/valarray_array.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/list.tcc: Same.
* include/bits/streambuf_iterator.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_function.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/allocator.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/fstream.tcc: Same.
* include/bits/stl_relops.h: Same.
* include/bits/functexcept.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_limits.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* include/backward/iterator.h: Same.
* include/backward/set.h: Same.
* include/backward/hashtable.h: Same.
* include/backward/fstream.h: Same.
* include/backward/tempbuf.h: Same.
* include/backward/istream.h: Same.
* include/backward/bvector.h: Same.
* include/backward/stack.h: Same.
* include/backward/rope.h: Same.
* include/backward/complex.h: Same.
* include/backward/ostream.h: Same.
* include/backward/heap.h: Same.
* include/backward/iostream.h: Same.
* include/backward/function.h: Same.
* include/backward/multimap.h: Same.
* include/backward/pair.h: Same.
* include/backward/stream.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/strstream
* include/backward/slist.h: Same.
* include/backward/tree.h: Same.
* include/backward/vector.h: Same.
* include/backward/deque.h: Same.
* include/backward/multiset.h: Same.
* include/backward/list.h: Same.
* include/backward/map.h: Same.
* include/backward/algobase.h: Same.
* include/backward/hash_map.h: Same.
* include/backward/algo.h: Same.
* include/backward/queue.h: Same.
* include/backward/streambuf.h: Same.
* src/allocator-inst.cc: Same.
* src/complex_io.cc: Same.
* src/localename.cc: Same.
* src/limits.cc: Same.
* src/ios_failure.cc: Same.
* src/locale-misc-inst.cc: Same.
* src/streambuf-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ios_locale.cc: Same.
* src/pool_allocator.cc: Same.
* src/fstream-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/string-inst.cc: Same.
* src/locale_init.cc: Same.
* src/ctype.cc: Same.
* src/strstream.cc: Same.
* src/ostream-inst.cc: Same.
* src/functexcept.cc: Same.
* src/streambuf.cc: Same.
* src/sstream-inst.cc: Same.
* src/ios.cc: Same.
* src/valarray-inst.cc: Same.
* src/locale.cc: Same.
* src/tree.cc: Same.
* src/stdexcept.cc: Same.
* src/istream.cc: Same.
* src/compatibility.cc: Same.
* src/locale-inst.cc: Same.
* src/globals_io.cc: Same.
* src/list.cc: Same.
* src/ios_init.cc: Same.
* src/locale_facets.cc: Same.
* src/codecvt.cc: Same.
* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/tuple
* include/tr1/hashtable
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/unordered_set
* include/tr1/functional
* include/tr1/ref_fwd.h: Same.
* include/tr1/utility
* include/tr1/type_traits
* include/tr1/array
* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
* include/ext/typelist.h: Same.
* include/ext/hash_map: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/iterator: Same.
* include/ext/rb_tree: Same.
* include/ext/numeric: Same.
* include/ext/vstring.tcc: Same.
* include/ext/sso_string_base.h: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/algorithm: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/new_allocator.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/vstring_util.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/ext/mt_allocator.h: Same.
* include/ext/debug_allocator.h: Same.
* include/ext/slist: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/hash_fun.h: Same.
* include/ext/malloc_allocator.h: Same.
* include/ext/functional: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/pod_char_traits.h: Same.
* include/ext/vstring.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/hash_set: Same.
* include/ext/memory: Same.
* include/ext/rope: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/atomicity.h: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/c_locale.h: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/generic/numeric_members.cc: Same.
* config/locale/generic/collate_members.cc: Same.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/c_locale.cc: Same.
* config/locale/generic/codecvt_members.cc: Same.
* config/locale/generic/messages_members.cc: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/monetary_members.cc: Same.
* config/locale/generic/time_members.cc: Same.
* config/os/aix/atomicity.h: Same.
* config/os/irix/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/io/c_io_stdio.h: Same.
* config/io/basic_file_stdio.cc: Same.
* config/io/basic_file_stdio.h: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ext-inst.cc: Same.
* src/string-inst.cc: Same.
* src/pool_allocator.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* libsupc++/exception: Same.
* libsupc++/vterminate.cc: Same.
* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
* testsuite/ext/hash_map/14648.cc: Same.
* libsupc++/eh_alloc.cc: Correct comment line spacing.
From-SVN: r108775
2005-12-19 00:56:05 +00:00
Paolo Carlini
e75ea710dd
stl_algobase.h (__copy_normal::copy_n): Uglify to __copy_n.
...
2005-12-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify
to __copy_n.
(__copy_backward::copy_b): Likewise to __copy_b.
(__copy_backward_normal::copy_b_n): Likewise to __copy_b_n.
(copy, __copy_backward_aux, copy_backward): Adjust.
2005-12-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (partial_sort_copy): Add
_BinaryPredicateConcept<_Compare, _InputValueType, _OutputValueType>
(merge, set_union, set_symmetric_difference): Add
_OutputIteratorConcept<_OutputIterator, _ValueType2>.
(binary_search): Remove redundant _BinaryPredicateConcept<_Compare,
_ValueType, _Tp>, taken care by lower_bound.
* include/bits/stl_algo.h: Cosmetic changes.
2005-12-18 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
* include/bits/stl_algo.h (merge, includes, set_union,
set_intersection, set_difference, set_symmetric_difference):
Fix concept checks.
2005-12-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (partial_sort_copy, lower_bound,
upper_bound, equal_range, binary_search): Fix concept checks.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r108758
2005-12-18 15:53:10 +00:00
Kelley Cook
83f517994d
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103192
2005-08-17 02:28:44 +00:00
Paolo Carlini
a809005264
stl_algo.h (__rotate<_RandomAccessIterator>): Don't qualify __tmp as const, _ValueType is not necessarily Assignable.
...
2005-05-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
Don't qualify __tmp as const, _ValueType is not necessarily
Assignable.
* include/bits/stl_algobase.h (swap, __iter_swap<false>):
Likewise, as an harmless extension.
From-SVN: r100011
2005-05-20 08:58:23 +00:00
Chris Jefferson
aed63147cb
re PR libstdc++/20577 (iter_swap doesn't work anymore with vector<bool>)
...
2005-03-21 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/20577
* include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
to swap when the iterator's reference_type is a reference to its
value_type.
* testsuite/25_algorithms/iter_swap/20577.cc: New.
From-SVN: r96837
2005-03-21 22:16:15 +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
3e636396c8
Makefile.in: Regenerate.
...
2005-01-10 Paolo Carlini <pcarlini@suse.de>
* Makefile.in: Regenerate.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
2005-01-10 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (lexicographical_compare):
Fix concept check.
From-SVN: r93143
2005-01-10 17:07:50 +00:00
Chris Jefferson
ab06dedc5d
stl_algobase.h (mismatch): Correct concept check.
...
2005-01-02 Chris Jefferson <chris@bubblescope.net>
* include/bits/stl_algobase.h (mismatch): Correct concept check.
From-SVN: r92808
2005-01-02 17:49:51 +00:00
Christopher Jefferson
575665ff64
stl_algobase.h (iter_swap): delegate to swap via __iter_swap when iterator's value_types are equal.
...
2004-10-05 Christopher Jefferson <caj@cs.york.ac.uk>
* include/bits/stl_algobase.h (iter_swap): delegate to swap via
__iter_swap when iterator's value_types are equal.
(struct __iter_swap): New.
From-SVN: r88549
2004-10-05 10:28:17 +00:00
Paolo Carlini
67dd4a9377
cpp_type_traits.h: Rename __is_trivially_copyable to __is_scalar...
...
2004-09-14 Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
to __is_scalar, more clear and consistent with "tr1" naming.
* include/bits/stl_algobase.h: Update consistently throughout.
From-SVN: r87497
2004-09-14 18:35:21 +00:00
Paolo Carlini
43da93a728
basic_string.h: Trivial formatting fixes and/or const-ification of some variables.
...
2004-07-04 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h: Trivial formatting fixes and/or
const-ification of some variables.
* include/bits/deque.tcc: Likewise.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_construct.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_pair.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/vector.tcc: Likewise.
From-SVN: r84090
2004-07-04 17:57:58 +00:00
Paolo Carlini
5e91e92ede
type_traits.h (_Is_normal_iterator): Move...
...
2004-07-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/type_traits.h (_Is_normal_iterator): Move...
* include/bits/cpp_type_traits.h: ... here, renamed to
__is_normal_iterator and consistent with the other traits.
* include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
to the struct __copy_normal and three specializations.
(__copy_backward_output_normal_iterator,
__copy_backward_input_normal_iterator): Likewise, convert to
the struct __copy_backward_normal and three specializations.
(copy, copy_backward): Use the latter.
(__copy_aux, __copy_backward_aux): Very minor tweaks.
From-SVN: r84019
2004-07-02 14:49:09 +00:00
Paolo Carlini
695e0fbfe0
stl_algobase.h (__copy_trivial): Remove.
...
2004-07-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__copy_trivial): Remove.
(__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
__is_trivially_copyable, __are_same and __copy::copy.
(__copy): Rewrite as a class template and two specializations.
(__copy_ni2): Simplify, just call __copy_aux.
* include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
check.
* testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
for destination value type != source value type.
From-SVN: r83991
2004-07-01 17:53:21 +00:00
Paolo Carlini
badd64ad92
[multiple changes]
...
2004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Add __is_pointer and
__is_trivially_copyable.
* include/bits/stl_algobase.h (fill, fill_n): Slightly
tweak to use the latter.
(__copy_backward_dispatch): Remove.
(__copy_backward_aux): Rewrite to use __is_pointer and
__is_trivially_copyable and __copy_backward::copy_b.
(__copy_backward): Rewrite as a class template and two
specializations.
2004-06-30 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/copy.cc: Move to...
* testsuite/25_algorithms/copy/1.cc: ... here, extend.
* testsuite/25_algorithms/copy/2.cc: New.
* testsuite/25_algorithms/copy/3.cc: New.
* testsuite/25_algorithms/copy/4.cc: New.
From-SVN: r83897
2004-06-30 09:20:18 +00:00
Paolo Carlini
07e938fc86
stl_algobase.h (fill, fill_n): Revert last change...
...
2004-06-25 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill, fill_n): Revert last
change: actually we need to copy construct an object of type
_Tp, not of type iterator_traits<>::value_type, therefore the
code is ok.
From-SVN: r83652
2004-06-25 14:17:58 +00:00
Paolo Carlini
1a277d94fe
stl_algobase.h (fill, fill_n): Tighten the dispatch: use iterator_traits<>::value_type, not _Tp.
...
2004-06-25 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill, fill_n): Tighten the
dispatch: use iterator_traits<>::value_type, not _Tp.
From-SVN: r83648
2004-06-25 10:51:45 +00:00
Paolo Carlini
6e539e2396
[multiple changes]
...
2004-06-25 Dan Nicolaescu <dann@ics.uci.edu>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (__fill, __fill_n): New helpers
for fill and fill_n, respectively: when copying is cheap, use a
temporary to avoid a memory read in each iteration.
2004-06-25 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/fill/1.cc: New.
* testsuite/25_algorithms/fill/2.cc: Likewise.
From-SVN: r83645
2004-06-25 09:25:57 +00:00
Bernardo Innocenti
ed6814f7b3
Remove trailing whitespace (see ChangeLog for longwinded description).
...
From-SVN: r77479
2004-02-08 05:46:42 +01:00
Paolo Carlini
8f7ca398ca
stl_algo.h: Minor additional reformat, add copyright year.
...
2004-01-31 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h: Minor additional reformat, add
copyright year.
* include/bits/stl_algobase.h: Add copyright year.
From-SVN: r77058
2004-01-31 23:51:44 +00:00
Paolo Carlini
ffa67767d0
stl_algo.h: Wrap overlong lines...
...
2004-01-31 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h: Wrap overlong lines, constify
a few variables, reformat according to the coding standards.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_heap.h: Likewise.
From-SVN: r77050
2004-01-31 21:37:11 +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
Jerry Quinn
119dbb1fce
stl_algo.h (includes, [...]): Document.
...
2003-07-15 Jerry Quinn <jlquinn@optonline.net>
* include/bits/stl_algo.h (includes, set_union, set_intersection,
set_difference, set_symmetric_difference, max_element, min_element,
next_permutation, prev_permutation, find_first_of, find_end):
Document.
* include/bits/stl_algobase.h (copy,copy_backward): Clarify overlap
restrictions in docs.
* include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
Document.
* docs/doxygen/doxygroups.cc (setoperations): New group.
From-SVN: r69387
2003-07-15 07:30:29 +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
Paolo Carlini
369b78b0e4
stl_heap.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
...
2003-07-04 Paolo Carlini <pcarlini@unitus.it>
* include/bits/stl_heap.h: Fully qualify standard
functions with std::, thus avoiding Koenig lookup.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* include/bits/stl_algo.h: Qualify __iterator_category too.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_algo.h: Don't qualify the pair type.
From-SVN: r68915
2003-07-04 07:22:19 +00:00