gcc/libstdc++-v3
Jonathan Wakely 0db78d0a5e PR libstdc++/87822 fix layout change for nested std::pair
The introduction of the empty __pair_base base class for PR 86751
changed the layout of std::pair<std::pair<...>, ...>. The outer pair and
its first member both have a base class of the same type, which cannot
exist at the same address. This causes the first member to be at a
non-zero offset.

The solution is to make the base class depend on the template
parameters, so that each pair type has a different base class type,
which allows the base classes of the outer pair and its first member to
have the same address.

	PR libstdc++/87822
	* include/bits/stl_pair.h (__pair_base): Change to class template.
	(pair): Make base class type depend on template parameters.
	* testsuite/20_util/pair/87822.cc: New test.

From-SVN: r265678
2018-10-31 12:29:02 +00:00
..
config testsuite_containers.h (forward_members_unordered<>::forward_members_unordered (const value_type&)): Add local_iterator pre and post increment checks. 2018-10-20 20:00:45 +00:00
doc allocator.xml: Adjust link to "Reconsidering Custom Memory Allocation". 2018-10-01 15:17:15 +00:00
include PR libstdc++/87822 fix layout change for nested std::pair 2018-10-31 12:29:02 +00:00
libsupc++ * libsupc++/cxxabi.h (__cxa_demangle): Clarify doxygen comment. 2018-09-05 16:18:16 +01:00
po PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
python Define std::string and related typedefs outside __cxx11 namespace 2018-10-09 14:06:46 +01:00
scripts Fix comments in testsuite script 2018-08-23 16:10:35 +01:00
src PR libstdc++/87641 correctly initialize accumulator in valarray::sum() 2018-10-18 16:38:50 +01:00
testsuite PR libstdc++/87822 fix layout change for nested std::pair 2018-10-31 12:29:02 +00:00
ChangeLog PR libstdc++/87822 fix layout change for nested std::pair 2018-10-31 12:29:02 +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 Update copyright years. 2017-01-01 13:07:43 +01:00
ChangeLog-2017 Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.am Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
README
acinclude.m4 Define _GLIBCXX_USE_DEV_RANDOM as replacement for _GLIBCXX_USE_RANDOM_TR1 2018-10-16 15:49:29 +01:00
aclocal.m4 Build libgo with -Wa,-nH if possible (PR go/78978) [non-libgo parts] 2017-01-06 14:33:47 +00:00
config.h.in Use autoconf to check for features needed by Networking TS 2018-10-16 17:12:32 +01:00
configure Use autoconf to check for features needed by Networking TS 2018-10-16 17:12:32 +01:00
configure.ac Use autoconf to check for features needed by Networking TS 2018-10-16 17:12:32 +01:00
configure.host Don't force visibility to hidden for Darwin > 8. 2018-08-25 09:02:28 +00:00
crossconfig.m4 Define _GLIBCXX_USE_DEV_RANDOM as replacement for _GLIBCXX_USE_RANDOM_TR1 2018-10-16 15:49:29 +01:00
fragment.am PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
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.