gcc/libstdc++-v3
Jonathan Wakely d331c5f10d PR libstdc++/89416 fix __is_move_insertable trait
The common base class for __is_move_insertable and __is_copy_insertable
instantiates both the copy and move tests, when only one is needed. The
unneeded one might cause errors outside the immediate context.

The solution used in this patch is to replace them with alias templates,
which will only be instantiated as needed.

	PR libstdc++/89416
	* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Replace
	class template with class. Replace move and copy member types with
	member alias templates, so they are only instantiated when needed.
	(__is_copy_insertable, __is_move_insertable): Adjust base class.
	* testsuite/23_containers/vector/modifiers/push_back/89130.cc: Enable
	test for C++11/14/17 as well.
	* testsuite/23_containers/vector/modifiers/push_back/89416.cc: New
	test.

From-SVN: r269075
2019-02-21 20:47:43 +00:00
..
config P0482R5 char8_t: Standard library support 2019-02-19 02:54:42 +00:00
doc Update libstdc++ documentation for C++2a implementation status 2019-02-14 17:46:26 +00:00
include PR libstdc++/89416 fix __is_move_insertable trait 2019-02-21 20:47:43 +00:00
libsupc++ P0482R5 char8_t: Standard library support 2019-02-19 02:54:42 +00:00
po
python
scripts
src re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target) 2019-02-20 08:57:41 +01:00
testsuite PR libstdc++/89416 fix __is_move_insertable trait 2019-02-21 20:47:43 +00:00
acinclude.m4
aclocal.m4
ChangeLog PR libstdc++/89416 fix __is_move_insertable trait 2019-02-21 20:47:43 +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
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
config.h.in Add std::timespec and std::timespec_get for C++17 2019-02-14 14:10:25 +00:00
configure Add std::timespec and std::timespec_get for C++17 2019-02-14 14:10:25 +00:00
configure.ac Add std::timespec and std::timespec_get for C++17 2019-02-14 14:10:25 +00:00
configure.host
crossconfig.m4 Add std::timespec and std::timespec_get for C++17 2019-02-14 14:10:25 +00:00
fragment.am
linkage.m4
Makefile.am
Makefile.in
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.