gcc/libstdc++-v3/include/bits
Paolo Carlini 848ca96f30 re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator)
2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49559
	* include/bits/stl_algo.h (__move_merge_backward): Remove.
	(__move_merge_adaptive, __move_merge_adaptive_backward): New.
	(__merge_adaptive): Use the latter two.
	(__rotate_adaptive): Avoid self move-assignment.
	* include/bits/stl_algobase.h (move_backward): Fix comment.
	* testsuite/25_algorithms/stable_sort/49559.cc: New.
	* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
	* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
	* testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
	(rvalstruct&&)): Check for self move-assignment.

From-SVN: r176174
2011-07-11 18:38:54 +00:00
..
algorithmfwd.h move.h (__is_nothrow_swappable): Add. 2011-06-21 23:01:03 +00:00
alloc_traits.h Makefile.am: Add alloc_traits.h headers. 2011-06-22 20:57:12 +01:00
allocator.h Makefile.am: Add alloc_traits.h headers. 2011-06-22 20:57:12 +01:00
atomic_0.h atomic: Remove atomic_address, uplift to N3225. 2011-02-16 19:01:51 +00:00
atomic_2.h atomic: Remove atomic_address, uplift to N3225. 2011-02-16 19:01:51 +00:00
atomic_base.h atomic: Remove atomic_address, uplift to N3225. 2011-02-16 19:01:51 +00:00
basic_ios.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
basic_ios.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
basic_string.h allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix. 2011-06-12 15:51:36 +00:00
basic_string.tcc basic_string.h: Use noexcept per the FDIS (minus compare(const string&)... 2011-05-31 12:50:31 +00:00
boost_concept_check.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
c++0x_warning.h *: Use headername alias to associate private includes to public includes. 2010-12-19 09:21:16 +00:00
c++config c++config (_GLIBCXX_NOTHROW): Update for noexcept. 2011-05-24 10:28:13 +00:00
char_traits.h char_traits.h: Use noexcept throughout. 2011-05-21 00:05:03 +00:00
codecvt.h Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
concept_check.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
cpp_type_traits.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
deque.tcc allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix. 2011-06-12 15:51:36 +00:00
forward_list.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
forward_list.tcc PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
fstream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
functexcept.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
functional_hash.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
gslice.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
gslice_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
hashtable.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
hashtable_policy.h list.cc: Use noexcept per the FDIS. 2011-05-26 15:35:02 +00:00
indirect_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
ios_base.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
istream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
list.tcc PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
locale_classes.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
locale_classes.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
locale_facets.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
locale_facets.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
locale_facets_nonio.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
locale_facets_nonio.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
localefwd.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
mask_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
move.h move.h (__is_nothrow_swappable): Add. 2011-06-21 23:01:03 +00:00
ostream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
ostream_insert.h Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
postypes.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
ptr_traits.h ptr_traits.h (pointer_traits<T*>::pointer_to): Use noexcept. 2011-06-14 23:08:24 +01:00
random.h random.h (random_device::min, max): Specify constexpr. 2011-05-25 17:55:40 +00:00
random.tcc random.h (negative_binomial_distribution<>:: negative_binomial_distribution(_IntType, double), [...]): Tweak construction of _M_gd. 2011-03-25 10:06:33 +00:00
range_access.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
regex.h regex_compiler.h: Nest namespace versioning. 2011-03-15 02:55:19 +00:00
regex_compiler.h Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_constants.h regex.h (sub_match::sub_match): Add. 2011-02-14 23:35:22 +00:00
regex_cursor.h Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_error.h Makefile.am (sources): Add regex.cc. 2011-02-11 01:23:10 +00:00
regex_grep_matcher.h regex_compiler.h: Nest namespace versioning. 2011-03-15 02:55:19 +00:00
regex_grep_matcher.tcc Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_nfa.h Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_nfa.tcc Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
shared_ptr.h shared_ptr_base.h: Use noexcept. 2011-05-18 23:59:17 +01:00
shared_ptr_base.h shared_ptr_base.h: Use noexcept. 2011-05-18 23:59:17 +01:00
slice_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
sstream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
stl_algo.h re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator) 2011-07-11 18:38:54 +00:00
stl_algobase.h re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator) 2011-07-11 18:38:54 +00:00
stl_bvector.h allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix. 2011-06-12 15:51:36 +00:00
stl_construct.h stl_construct.h: Update Copyright years. 2011-06-22 20:27:21 +00:00
stl_deque.h allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix. 2011-06-12 15:51:36 +00:00
stl_function.h c++config (_GLIBCXX_DEPRECATED): To _GLIBCXX_USE_DEPRECATED. 2011-01-31 20:46:43 +00:00
stl_heap.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_iterator.h move.h (struct __move_if_noexcept_cond): Add. 2011-06-07 16:11:36 +00:00
stl_iterator_base_funcs.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_iterator_base_types.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_list.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
stl_map.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
stl_multimap.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
stl_multiset.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
stl_numeric.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_pair.h type_traits (__or_, __and_): Add trivial definitions for a single element. 2011-05-31 02:29:22 +00:00
stl_queue.h stl_queue.h: Use noexcept per the FDIS. 2011-05-26 00:36:35 +00:00
stl_raw_storage_iter.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_relops.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_set.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
stl_stack.h stl_queue.h: Use noexcept per the FDIS. 2011-05-26 00:36:35 +00:00
stl_tempbuf.h functional: Use noexcept. 2011-06-14 15:09:14 +00:00
stl_tree.h hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept. 2011-06-01 14:16:19 +00:00
stl_uninitialized.h stl_construct.h: Update Copyright years. 2011-06-22 20:27:21 +00:00
stl_vector.h stl_vector.h: Use new allocator model in C++0x mode. 2011-07-09 14:06:29 +01:00
stream_iterator.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
streambuf.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
streambuf_iterator.h streambuf_iterator.h: Use noexcept per the FDIS. 2011-05-23 23:03:42 +00:00
stringfwd.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
unique_ptr.h valarray (~valarray): Use noexcept. 2011-06-14 17:48:29 +00:00
unordered_map.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
unordered_set.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
uses_allocator.h tuple: Implement uses-allocator construction. 2011-05-30 17:31:17 +01:00
valarray_after.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
valarray_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
valarray_array.tcc PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
valarray_before.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
vector.tcc stl_vector.h: Use new allocator model in C++0x mode. 2011-07-09 14:06:29 +01:00