summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/bits
Commit message (Collapse)AuthorAgeFilesLines
...
* 2012-05-29 François Dumont <fdumont@gcc.gnu.org>fdumont2012-05-291-20/+19
| | | | | | | | | | * include/bits/stl_tempbuf.h (__uninitialized_construct_buf) (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work with iterator returning rvalue. * testsuite/25_algorithms/stable_sort/3.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187985 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunuseddodji2012-05-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the audit trail of this shows, -Wunused-local-typedefs is not turned on by -Wunused after all. Sigh. Now that we have the EnabledBy construct for the *.opt files, it's more precise and concise to use that to make -Wunused-local-typedefs be triggered by -Wunused. I have changed the gcc+.dg/warn/Wunused-local-typedefs.C test case to make it use -Wunused instead of -Wunused-local-typedefs. I had to adjust it to avoid the warnings due to the other -W* options triggered by -Wunused there. While testing the compiler, it turned out that some local typedefs were not being used when the experimental "Concepts" support is turned off, in the libstdc++ test suite. I also had to remove some obvious useless local typedef usage in the fortran front-end. Fixed thus. Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. gcc/c-family/ PR c++/53322 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused). libstdc++-v3/ PR c++/53322 * include/bits/stl_algobase.h (lower_bound) (lexicographical_compare): Do not declare unused local typedefs here when Concepts are turned off. gcc/fortran/ PR c++/53322 * f95-lang.c (gfc_init_builtin_functions): Remove the unused typedef builtin_type. gcc/testsuite/ PR c++/53322 * g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused instead of -Wunused-local-typedefs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187757 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-05-155-39/+44
| | | | | | | | | | | | | | | | | | | | | | PR libstdc++/53339 * include/bits/hashtable_policy.h (__detail::_Identity, __detail::_Select1st): Add. (_Map_base, _Hashtable_base): Use the latter, adjust parameters. * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust. * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable): Likewise. * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable): Likewise. * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd) Unconditionally derive from unary_function. * include/ext/functional (identity, select1st, select2nd): Remove #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits. * testsuite/23_containers/unordered_map/requirements/53339.cc: New. * testsuite/23_containers/unordered_multimap/requirements/ 53339.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187515 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/random.tcc (seed_seq::generate): Cast max()dj2012-05-101-1/+1
| | | | | | | | | operands to size_t to ensure a template match. * include/std/bitset (_M_copy_from_ptr): Cast min() operands to size_t to ensure a template match. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187376 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-02 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-05-0216-24/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/44015 * include/bits/basic_ios.h: Add tparam markup for * doxygen. include/bits/basic_string.h: Same. * include/bits/forward_list.h: 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_pair.h: Same. * include/bits/stl_queue.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_stack.h: Same. * include/bits/stl_vector.h: Same. * include/bits/unordered_map.h: Same. * include/bits/unordered_set.h: Same. include/std/array: * Same. include/std/atomic: Same. include/std/fstream: * Same. include/std/istream: Same. include/std/ostream: * Same. include/std/sstream: Same. * include/std/streambuf: Same. * testsuite/23_containers/deque/requirements/dr438/*: Adjust line numbers. * testsuite/23_containers/list/requirements/dr438/*: Same. * testsuite/23_containers/vector/requirements/dr438/*: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187066 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-02 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-05-021-0/+4
| | | | | | | * include/bits/hashtable_policy.h: Correct namepace nesting for _Hashtable forward declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187052 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-01 François Dumont <fdumont@gcc.gnu.org>fdumont2012-05-011-37/+35
| | | | | | | | | | | | PR libstdc++/53115 * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets after insertion of several equivalent elements. * testsuite/23_containers/unordered_multiset/insert/53115.cc: New. * testsuite/23_containers/unordered_multimap/insert/53115.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187025 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-29 Marc Glisse <marc.glisse@inria.fr>paolo2012-04-293-73/+105
| | | | | | | | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/51795 * include/bits/stl_algobase.h (__lg<>(_Size)): Remove. (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long), __lg(long long), __lg(unsigned long long)): Define constexpr. * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm limitations. (__mod): Adjust. (linear_congruential): Remove FIXME static_assert. * include/bits/random.tcc (_Mod<>): Adjust. * testsuite/26_numerics/random/linear_congruential_engine/operators/ 51795.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186948 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-04-262-13/+25
| | | | | | | * include/bits/hashtable.h: Adjust doxygen markup for base classes. * include/bits/hashtable_policy.h: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186856 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-22 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-04-221-14/+22
| | | | | | | | | | PR libstdc++/53067 * include/bits/hashtable_policy.h: Change inheritances to public. * testsuite/23_containers/unordered_map/requirements/53067.cc: New. * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186676 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.redi2012-04-221-6/+0
| | | | | | | * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check rebind works. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186670 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-14 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-04-142-22/+58
| | | | | | | | | | | | | | | | | | PR libstdc++/52699 * include/bits/random.tcc (independent_bits_engine<>::operator()()) Avoid various overflows; use common_type on result_type and _RandomNumberEngine::result_type; avoid floating point computations; other smaller tweaks. * include/bits/random.tcc (uniform_int_distribution<>::operator()) Use common_type; assume _UniformRandomNumberGenerator::result_type unsigned; tidy. * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long), __lg(unsigned long long)): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186456 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-12 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-04-134-1468/+1584
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/unordered_map.h (__unordered_map): Remove. (__unordered_multimap): Remove. Add aliases for __umap_traits, __umap_hashtable, __ummap_traits, __ummap_hashtable. (unordered_map): Derive from __umap_hashtable. (unordered_multimap): Derive from __ummap_hashtable. * include/bits/unordered_set.h (__unordered_set): Remove. (__unordered_multiset): Remove. Add aliases for __uset_traits, __uset_hashtable, __umset_traits, __umset_hashtable. (unordered_set): Derive from __uset_hashtable. (unordered_multiset): Derive from __umset_hashtable. * include/bits/hashtable.h (__cache_default): New, consolidated cache defaults for _Hashtable. Adjust comments for doxygen. (_Hashtable): Consolidate bool template parameters into new, _Traits class. Inherited base classes synthesize _Hashtable in CRTP via original 10 parameters. Prefer using declarations to typedefs, add __node_type, __bucket_type, etc. Push many nested types down hierarchy to _Hashtable_base. Add constructors necessary for top-level unordered_containers. Consolidate insert member functions and logic in new base class, __detail::_Insert and __detail::_Insert_base. (_Hashtable::operator=(initializer_list)): Add. * include/bits/hashtable_policy.h: Convert to doxygen markup. (_Hashtable_traits) New. Consolidate bool template parameters here. (_Insert, _Insert_base): New, consolidated insert member functions. (_Map_base, _Equality, _Rehash_base): Adjust template parameters, use base types. (_Hashtable_base): Move type declarations useful to other base classes into this class. * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust traits, line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186403 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR52822 (stable_partition move-assigns object to itself) byjyasskin2012-04-121-26/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | scanning for the first value that doesn't match the predicate before starting to rearrange values. 2012-04-03 Jeffrey Yasskin <jyasskin@google.com> PR libstdc++/52822 * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode. (__find_if_not_n): Like __find_if_not, but works on and updates a counted range instead of a bounded range. (stable_partition): Guarantee !__pred(*__first) in call to __stable_partition_adaptive() or __inplace_stable_partition(). (__stable_partition_adaptive): Use new precondition to avoid moving/copying objects onto themselves. Guarantee new precondition to recursive calls. (__inplace_stable_partition): Use new precondition to simplify base case, remove __last parameter. Guarantee new precondition to recursive calls. * testsuite/25_algorithms/stable_partition/moveable.cc (test02): Test a sequence that starts with a value matching the predicate. * testsuite/25_algorithms/stable_partition/pr52822.cc: Test vectors, which have a destructive self-move-assignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-04-121-6/+16
| | | | | | | | | | | | PR libstdc++/52942 * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd): In C++11 mode do not derive from std::unary_function. * include/ext/functional (identity, select1st, select2nd): Adjust. * testsuite/23_containers/unordered_map/requirements/52942.cc: New. * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186375 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/52924redi2012-04-111-0/+4
| | | | | | | | | | | * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add user-defined destructor. (_Sp_counted_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/52924.cc: New. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186363 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-04-112-47/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/forward_list.h (splice_after(const_iterator, forward_list&), splice_after(const_iterator, forward_list&, consst_iterator), splice_after(const_iterator, forward_list&, const_iterator, const_iterator), merge(forward_list&), merge(forward_list&, _Comp)): Add per C++11 as published (and LWG 1310). * include/debug/forward_list: Adjust. * include/bits/forward_list.h (splice_after(const_iterator, forward_list&&, const_iterator)): Only declare. (_M_transfer_after): Remove. (_M_splice_after(const_iterator, forward_list&&)): Change signature. (splice_after(const_iterator, forward_list&&, const_iterator, const_iterator)): Use the latter. * include/bits/forward_list.tcc (splice_after(const_iterator, forward_list&&, const_iterator)): Define here. (_M_splice_after): Define, use throughout. * include/bits/forward_list.h (insert_after(const_iterator, std::initializer_list<_Tp>)): Forward to insert_after(const_iterator, _InputIterator, _InputIterator). * include/bits/forward_list.tcc: Remove definition. * testsuite/23_containers/forward_list/modifiers/6.cc: New. * testsuite/23_containers/forward_list/operations/1.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186338 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-04-111-7/+3
| | | | | | | | | PR libstdc++/52931 * include/bits/functional_hash.h (struct hash): Remove definition. * testsuite/20_util/hash/52931.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186310 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/52591redi2012-04-011-25/+40
| | | | | | | | | | | | | | | | | * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch to _M_move_assign depending on whether allocator is moved. (vector::_M_move_assign): Add overloaded functions. * testsuite/23_containers/vector/52591.cc: New. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186057 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Jeffrey Yasskin <jyasskin@gcc.gnu.org>paolo2012-03-311-3/+3
| | | | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/52799 * include/bits/deque.tcc (emplace): Fix thinko, replace push_front -> emplace_front, and likewise for *_back. * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New. * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise. * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186035 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-23 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-03-231-3/+2
| | | | | | | * include/bits/forward_list.h: Slightly tweak two comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185737 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/stl_list.h (list::_M_size): Use NSDMI.redi2012-03-201-8/+2
| | | | | | | | | | | | | * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust line numbers. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185580 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-19 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-03-191-8/+10
| | | | | | | | | | | | | | | | * include/bits/allocator.h (std::allocator): Base class is __allocator_base. (uses_allocator): Add to sub-grouping. * include/ext/new_allocator.h: Doxygen markup for tparm. * config/allocator/bitmap_allocator_base.h: Use __allocator_base template alias in C++11. * config/allocator/malloc_allocator_base.h: Same. * config/allocator/mt_allocator_base.h: Same. * config/allocator/new_allocator_base.h: Same. * config/allocator/pool_allocator_base.h: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185544 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-15 François Dumont <fdumont@gcc.gnu.org>fdumont2012-03-161-25/+135
| | | | | | | | | | | PR libstdc++/52476 * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add. (_Hashtable<>::_M_rehash): Use the latter. * testsuite/23_containers/unordered_multimap/insert/52476.cc: New. * testsuite/23_containers/unordered_multiset/insert/52476.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185476 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-14 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-03-141-21/+23
| | | | | | | * include/bits/forward_list.h: Fix comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185382 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-08 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-03-081-43/+46
| | | | | | | | | | | | | | * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0. * include/bits/locale_facets.h: Adjust markup to avoid warnings. * include/ext/pb_ds/assoc_container.hpp: Same. * include/ext/pb_ds/priority_queue.hpp: Same. * include/std/fstream: Same. * include/std/ratio: Same. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line numbers. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185094 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-05 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-03-052-6/+39
| | | | | | | | | | | | * include/bits/stl_algobase.h (iter_swap): In C++11 mode just call swap. * include/bits/stl_bvector.h (swap(_Bit_reference, _Bit_reference), swap(_Bit_reference, bool&), swap(bool&, _Bit_reference)): Add. * testsuite/23_containers/vector/bool/swap.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184939 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-04 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-03-057-31/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/43813 * include/bits/stl_iterator_base_types.h (_RequireInputIter): New. * include/ext/vstring.h (__versa_string<>::__versa_string (_InputIterator, _InputIterator, const _Alloc&), __versa_string<>::append(_InputIterator, _InputIterator), __versa_string<>::assign(_InputIterator, _InputIterator), __versa_string<>::insert(iterator, _InputIterator, _InputIterator), __versa_string<>::replace(iterator, iterator, _InputIterator, _InputIterator)): Use it. * include/bits/stl_list.h (list<>::list(_InputIterator, _InputIterator, const allocator_type&), list<>::assign(_InputIterator, _InputIterator), list<>::insert(iterator, _InputIterator, _InputIterator)): Likewise. * include/bits/stl_vector.h (vector<>::vector(_InputIterator, _InputIterator, const allocator_type&), vector<>::assign(_InputIterator, _InputIterator), vectort<>::insert(iterator, _InputIterator, _InputIterator)): Likewise. * include/bits/stl_deque.h (deque<>::deque(_InputIterator, _InputIterator, const allocator_type&), deque<>::deque(_InputIterator, _InputIterator), deque<>::insert(iterator, _InputIterator, _InputIterator)): Likewise. * include/bits/stl_bvector.h (vector<>::vector(_InputIterator, _InputIterator, const allocator_type&), vector<>::deque(_InputIterator, _InputIterator), vector<>::insert(iterator, _InputIterator, _InputIterator)): Likewise. * include/bits/forward_list.h (forward_list<>::forward_list (_InputIterator, _InputIterator, const allocator_type&), forward_list<>::assign(_InputIterator, _InputIterator), forward_list<>::insert_after(const_iterator, _InputIterator, _InputIterator)): Likewise. (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove. (forward_list<>::_M_range_initialize): Add, adjust everywhere. * include/bits/forward_list.tcc: Adjust. * include/debug/forward_list: Adjust. * include/debug/vector: Likewise. * include/debug/deque: Likewise. * include/debug/list: Likewise. * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New. * testsuite/23_containers/forward_list/requirements/ do_the_right_thing.cc: Likewise. * testsuite/23_containers/vector/requirements/ do_the_right_thing.cc: Likewise. * testsuite/23_containers/deque/requirements/ do_the_right_thing.cc: Likewise. * testsuite/23_containers/list/requirements/ do_the_right_thing.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184911 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/locale_facets.h (class num_get): Undo reordering ofjason2012-02-231-3/+3
| | | | | | do_get virtual functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184530 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-02-20 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-02-201-2/+2
| | | | | | | | | | | PR libstdc++/52309 * include/bits/hashtable_policy.h (_Equality_base<, true,>:: _M_equal(const _Hashtable&)): Compare values with operator==. * testsuite/23_containers/unordered_set/operators/52309.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184388 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/51798 continuedrth2012-02-131-3/+1
| | | | | | | | | | | | | | * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load outside compare_exchange loop. * include/tr1/shared_ptr.h: Same. * include/parallel/compatibility.h (__compare_and_swap_32): Use strong version of compare_exchange. (__compare_and_swap_64): Same. * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same. * libsupc++/guard.cc (__cxa_guard_acquire): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184171 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-02-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-02-101-4/+6
| | | | | | | | | | | | | | | | | | | | Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/51798 continued. * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_* builtins instead of __sync_* builtins for atomic functionality. * include/bits/shared_ptr_base.h: Same. * include/parallel/compatibility.h: Same. * include/profile/impl/profiler_state.h: Same. * include/tr1/shared_ptr.h: Same. * libsupc++/eh_ptr.cc: Same. * libsupc++/eh_throw.cc: Same. * libsupc++/eh_tm.cc: Same. * libsupc++/guard.cc: Same. * configure: Regenerated. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184110 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-02-03 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-02-031-15/+30
| | | | | | | | | PR libstdc++/51811 * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets. * testsuite/29_atomics/atomic/operators/51811.cc: New. * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183875 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2012-01-272-6/+13
| | | | | | | | | | | | PR libstdc++/51795 * include/bits/random.h (linear_congruential_generator): Add static_assert preventing instantiation for values of 'a' and 'm' currently handled incorrectly but _Mod::__calc. * include/bits/random.tcc (seed_seq::generate): Avoid unsafe uses of _Mod::__calc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183655 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++: Use __GCC_ATOMIC_TEST_AND_SET in atomic_flag.rth2012-01-261-2/+9
| | | | | | | | | * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL. (ATOMIC_FLAG_INIT): Initialize with 0, not false. (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183582 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/51845jakub2012-01-191-1/+1
| | | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::erase(const_iterator, const_iterator)): Also update _M_buckets[__n_bkt] if __is_bucket_begin. * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183300 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-18 François Dumont <fdumont@gcc.gnu.org>fdumont2012-01-181-8/+11
| | | | | | | | | | | | | Roman Kononov <roman@binarylife.net> PR libstdc++/51866 * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)): Do not keep a reference to a potentially moved instance. * testsuite/23_containers/unordered_multiset/insert/51866.cc: New. * testsuite/23_containers/unordered_multimap/insert/51866.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183285 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.redi2012-01-141-26/+33
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183182 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-13 François Dumont <fdumont@gcc.gnu.org>fdumont2012-01-132-323/+221
| | | | | | | | | | | | * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as base class of ... (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those. * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index by _M_before_begin. Review implementation so that we do not need to look for previous non-empty bucket when inserting nodes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183164 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-05 François Dumont <fdumont@gcc.gnu.org>fdumont2012-01-052-2/+2
| | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()): protected rather than private, use it... * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here. * testsuite/23_containers/unordered_set/observers.cc: New. * testsuite/23_containers/unordered_multiset/observers.cc: New. * testsuite/23_containers/unordered_map/observers.cc: New. * testsuite/23_containers/unordered_multimap/observers.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182928 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-01-03 François Dumont <fdumont@gcc.gnu.org>fdumont2012-01-031-34/+41
| | | | | | | | | * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more specific _Hashtable_ebo_helper. Hide this implementation detail thanks to private inheritance. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182857 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-12-301-1/+1
| | | | | | | | | | | PR libstdc++/51711 * include/bits/regex.h (regex_replace): Fix thinko. * testsuite/28_regex/algorithms/regex_replace/char/51711.cc: New. * testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182740 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-29 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-12-291-21/+21
| | | | | | | | * include/bits/hashtable_policy.h (struct _Ebo_helper<>): Don't use _N, badname on Solaris; minor stylistic changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182734 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-29 François Dumont <fdumont@gcc.gnu.org>fdumont2011-12-294-179/+529
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/51608 * include/bits/hashtable_policy.h (_Equal_helper<>): New, change the way the _Equal functor is used depending on whether hash code is cached or not. (_Ebo_helper<>): New helper type to introduce EBO when possible. (_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move _Equal functor management... (_Hashtable_base): ...here, new, use _Equal_helper. (_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>): New, use _Hash_code_base, implementation of... * include/bits/hashtable.h (_Hashtable<>::local_iterator, _Hashtable<>::const_local_iterator): ...those. Add static assertions checking that some functors are empty depending on whether hash code is cache or not. (_Hashtable<>::_M_bucket_index): New overloads using current bucket count, use through out the _Hastable<> implementation. * include/bits/unordered_set.h (__unordered_set<>, __unordered_multiset<>): Cache hash code iff hash functor is not empty and not final. * include/bits/unordered_map.h (__unordered_map<>, __unordered_multimap<>): Likewise. * include/debug/unordered_map (unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local): Adapt to match new local iterator implementation. * include/debug/unordered_set (unordered_set<>::_S_to_local, unordered_multiset<>::_S_to_local): Likewise. * include/profile/unordered_map (unordered_map<>::_M_profile_destruct, unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of local iterators. * include/profile/unordered_set (unordered_set<>::_M_profile_destruct, unordered_multiset<>::_M_profile_destruct): Likewise. * testsuite_files/23_containers/unordered_set/instantiation_neg.cc: Fix error line. * testsuite_files/23_containers/unordered_set/final_hash.cc: New. * testsuite_files/23_containers/unordered_multiset/final_hash.cc: New. * testsuite_files/23_containers/unordered_map/final_hash.cc: New. * testsuite_files/23_containers/unordered_multimap/final_hash.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182727 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/regex.h (match_results::size_type): Useredi2011-12-231-2/+2
| | | | | | | allocator_traits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182645 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-15 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-12-151-2/+3
| | | | | | | | | | | | | | | Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/51558 * include/bits/functional_hash.h (struct hash): Add static_assert. * src/compatibility-c++0x.cc: Adjust compatibility definitions. * testsuite/23_containers/unordered_map/erase/51142.cc: Adjust. * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182392 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/51540redi2011-12-151-8/+9
| | | | | | | * include/bits/stl_numeric.h (partial_sum): Adjust doxygen comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182359 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-12-106-119/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/doxygen/user.cfg.in: Add macros, directories. * include/bits/locale_classes.h: Remove doxygen warnings, fix markup. * include/bits/locale_classes.tcc: Same. * include/bits/shared_ptr.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stl_list.h: Same. * include/bits/stl_numeric.h: Same. * include/debug/safe_base.h: Same. * include/parallel/equally_split.h: Same. * include/std/bitset: Same. * include/std/complex: Same. * include/std/fstream: Same. * include/std/istream: Same. * include/std/ostream: Same. * include/tr2/dynamic_bitset: Same. * scripts/run_doxygen: Remove munging for names that no longer exist. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust line numbers. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182189 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-09 François Dumont <fdumont@gcc.gnu.org>fdumont2011-12-091-2/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/hashtable.h (_Hashtable<>::emplace, _Hashtable<>::emplace_hint): Add. * include/debug/unordered_set (unordered_set<>::emplace, unordered_set<>::emplace_hint, unordered_multiset<>::emplace, unordered_multiset<>::emplace_hint): Add. * include/profile/unordered_set: Likewise. * include/debug/unordered_map (unordered_map<>::emplace, unordered_map<>::emplace_hint, unordered_multimap<>::emplace, unordered_multimap<>::emplace_hint): Add. * include/profile/unordered_map: Likewise. * testsuite/23_containers/unordered_map/modifiers/emplace.cc: New. * testsuite/23_containers/unordered_multimap/modifiers/emplace.cc: New. * testsuite/23_containers/unordered_set/modifiers/emplace.cc: New. * testsuite/23_containers/unordered_multiset/modifiers/emplace.cc: New. * testsuite/util/testsuite_container_traits.h (traits_base::has_emplace): Add and defined as std::true_type for unordered containers. * testsuite/util/exception/safety.h (emplace, emplace_hint): Add and use them in basic_safety exception test case. * doc/xml/manual/status_cxx2011.xml: Update unordered containers status. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182174 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/atomic_base.h (__calculate_memory_order): Rename to...redi2011-12-081-11/+9
| | | | | | | | | | (__cmpexch_failure_order): This, and rewrite as constexpr function. (compare_exchange_strong, compare_exchange_weak): Use it. * include/std/atomic (compare_exchange_strong, compare_exchange_weak): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182105 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud