gcc/libstdc++-v3
Jeffrey Yasskin 2fc9b37dd0 Fix PR52822 (stable_partition move-assigns object to itself) by scanning for...
Fix PR52822 (stable_partition move-assigns object to itself) by
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.

From-SVN: r186391
2012-04-12 20:59:09 +00:00
..
config Update sparc-linux-gnu libstdc++ ABI baseline. 2012-03-23 11:29:39 -07:00
doc debug.xml (Debug Versions of Library Binary Files): Re-arrange text slightly. 2012-04-11 23:20:59 +01:00
include Fix PR52822 (stable_partition move-assigns object to itself) by scanning for... 2012-04-12 20:59:09 +00:00
libsupc++ re PR libstdc++/52689 (static linking with libstdc++ fails) 2012-03-29 06:14:32 +00:00
po re PR libstdc++/47058 ("--enable-maintainer-mode --disable-werror" wrongly upgrades warnings to errors in libstdc++) 2012-02-17 20:26:32 +00:00
python re PR libstdc++/52317 (incorrect FSF address) 2012-02-21 10:55:54 +00:00
scripts testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2. 2012-03-23 16:17:49 +00:00
src Export std::_List_node_base for non-PIC code 2012-04-05 09:10:38 +00:00
testsuite Fix PR52822 (stable_partition move-assigns object to itself) by scanning for... 2012-04-12 20:59:09 +00:00
acinclude.m4 Remove obsolete Solaris 8 support 2012-03-14 17:08:03 +00:00
aclocal.m4
ChangeLog Fix PR52822 (stable_partition move-assigns object to itself) by scanning for... 2012-04-12 20:59:09 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
config.h.in Remove obsolete Solaris 8 support 2012-03-14 17:08:03 +00:00
configure crossconfig.m4 (*-*-*vms*): Add. 2012-04-02 07:59:27 +00:00
configure.ac Remove obsolete Solaris 8 support 2012-03-14 17:08:03 +00:00
configure.host Remove obsolete Solaris 8 support 2012-03-14 17:08:03 +00:00
crossconfig.m4 crossconfig.m4 (*-*-*vms*): Add. 2012-04-02 07:59:27 +00:00
fragment.am re PR libstdc++/47058 ("--enable-maintainer-mode --disable-werror" wrongly upgrades warnings to errors in libstdc++) 2012-02-17 20:26:32 +00:00
linkage.m4
Makefile.am
Makefile.in re PR libstdc++/47058 ("--enable-maintainer-mode --disable-werror" wrongly upgrades warnings to errors in libstdc++) 2012-02-17 20:26:32 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.