gcc/libstdc++-v3
Jonathan Wakely f3070dab7a Make std::enable_shared_from_this cope with ambiguity
* include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
	_M_enable_shared_from_this_with instead of
	__enable_shared_from_this_helper.
	* include/bits/shared_ptr.h (__enable_shared_from_this_helper):
	Remove overload for std::enable_shared_from_this..
	(__enable_shared_from_this_base): Define friend function to select a
	std::enable_shared_from_this base class.
	* include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
	Remove all overloads.
	(__shared_ptr): Change all relevant constructors to call
	_M_enable_shared_from_this_with instead of
	__enable_shared_from_this_helper.
	(__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
	to detect accessible and unambiguous enable_shared_from_this bases.
	(__shared_ptr::_M_enable_shared_from_this_with): New function to
	replace __enable_shared_from_this_helper overloads.
	(__enable_shared_from_this_helper): Remove overload for
	std::__enable_shared_from_this.
	(__enable_shared_from_this_base): Define friend function to select a
	std::__enable_shared_from_this base class.
	* include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
	Change relevant constructors to call _M_enable_shared_from_this_with.
	(experimental::shared_ptr::__efst_base_t)
	(experimental::shared_ptr::__has_efst_base): Helpers to detect
	accessible and unambiguous enable_shared_from_this bases.
	(experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
	(experimental::__enable_shared_from_this_helper): Remove overload for
	std::experimental::enable_shared_from_this.
	(experimental::__expt_enable_shared_from_this_base): Define friend
	function to select a std::experimental::enable_shared_from_this base.
	* testsuite/experimental/memory/shared_ptr/cons/
	enable_shared_from_this.cc: New test.
	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
	Adjust expected behaviour for shared_ptr<A[]>.

From-SVN: r241353
2016-10-19 21:13:14 +01:00
..
config Fix libstdc++ versioned namespace build 2016-10-03 15:35:28 +01:00
doc Implement P0084R2, Emplace return type, for C++17 2016-10-17 13:00:38 +01:00
include Make std::enable_shared_from_this cope with ambiguity 2016-10-19 21:13:14 +01:00
libsupc++ Remove 'return' from noreturn function 2016-10-12 12:20:29 +01:00
po Disable .gnu.attributes tags in compatibility-ldbl.o 2016-09-29 07:33:17 +09:30
python PR77990 refactor unique_ptr to encapsulate tuple 2016-10-19 10:34:57 +01:00
scripts testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort. 2016-10-12 16:13:06 +00:00
src Make std::bind use std::invoke 2016-10-14 20:04:56 +01:00
testsuite Make std::enable_shared_from_this cope with ambiguity 2016-10-19 21:13:14 +01:00
ChangeLog Make std::enable_shared_from_this cope with ambiguity 2016-10-19 21:13:14 +01: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
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015 Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.am Update copyright years. 2016-01-04 15:30:50 +01:00
Makefile.in Disable .gnu.attributes tags in compatibility-ldbl.o 2016-09-29 07:33:17 +09:30
README
acinclude.m4 libstdc++/77795 Only declare ::gets for C++98 and C++11 2016-09-30 19:28:53 +01:00
aclocal.m4
config.h.in libstdc++/77795 Only declare ::gets for C++98 and C++11 2016-09-30 19:28:53 +01:00
configure libstdc++/77795 Only declare ::gets for C++98 and C++11 2016-09-30 19:28:53 +01:00
configure.ac Disable .gnu.attributes tags in compatibility-ldbl.o 2016-09-29 07:33:17 +09:30
configure.host [RTEMS] Always use atomic builtins for libstdc++ 2016-09-23 06:58:00 +00:00
crossconfig.m4 remove knetbsd support 2016-06-21 21:57:30 +00:00
fragment.am
linkage.m4

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.