This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/49559] [C++0x] stable_sort calls self-move-assignment operator
- From: "paolo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 11 Jul 2011 18:39:48 +0000
- Subject: [Bug libstdc++/49559] [C++0x] stable_sort calls self-move-assignment operator
- Auto-submitted: auto-generated
- References: <bug-49559-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49559
--- Comment #20 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2011-07-11 18:39:03 UTC ---
Author: paolo
Date: Mon Jul 11 18:38:54 2011
New Revision: 176174
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176174
Log:
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.
Added:
trunk/libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc
trunk/libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/stl_algo.h
trunk/libstdc++-v3/include/bits/stl_algobase.h
trunk/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc
trunk/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc
trunk/libstdc++-v3/testsuite/util/testsuite_rvalref.h