Go to file
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
INSTALL
config Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
contrib dg-cmp-results: display NA->FAIL & NA->UNRESOLVED by default 2018-10-25 10:35:21 +00:00
fixincludes fixincludes: vxworks: regs.h: Fix includes in regs.h wrapper 2018-10-16 09:40:27 +00:00
gcc re PR middle-end/70359 (Code size increase for x86/ARM/others compared to gcc-5.3.0) 2018-10-31 11:57:33 +00:00
gnattools Fix mingw-w64 Ada native bootstrap (PR81878). 2018-10-29 09:45:50 +00:00
gotools Ignore chmod errors during mostlyclean-local, check-go-tool 2018-09-26 12:56:09 +00:00
include C++: simplify output from suggest_alternatives_for 2018-10-29 23:53:50 +00:00
intl libgnuintl.h (_INTL_MAY_RETURN_STRING_ARG, [...]): Backport changes from upstream gettext. 2018-09-18 22:08:49 -06:00
libada Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
libatomic Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
libbacktrace re PR libbacktrace/87529 (libbacktrace API forces users to have memory leaks) 2018-10-05 14:09:07 +00:00
libcc1 PR c++/69560 - wrong alignof(double) on x86. 2018-04-23 16:49:38 -04:00
libcpp Add -std=c2x, -std=gnu2x, -Wc11-c2x-compat, C2X _Static_assert support. 2018-10-18 00:58:54 +01:00
libdecnumber Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
libffi Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
libgcc [ARC] Remove non standard funcions calls. 2018-10-31 12:27:07 +01:00
libgfortran re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=) 2018-10-28 11:05:05 +00:00
libgo libgo: simplify gotest script to avoid sed substitution to \n 2018-10-26 18:36:44 +00:00
libgomp [OpenACC] Support C++ "this" in OpenACC directives 2018-10-29 14:31:20 +00:00
libhsail-rt [BRIGFE] phsa-specific optimizations 2018-05-04 19:43:57 +00:00
libiberty [libiberty] Use pipe inside pex_run 2018-10-01 18:46:51 +00:00
libitm Add PR marker 2018-10-30 09:14:39 -06:00
libobjc Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
liboffloadmic re PR jit/85384 (libgccjit does not work if --with-gcc-major-version is used) 2018-04-18 11:46:58 +02:00
libphobos re PR d/87788 (Support D on x86_64-apple-darwin*) 2018-10-31 09:44:31 +00:00
libquadmath Regenerate configure of target libraries 2018-04-24 09:45:26 -07:00
libsanitizer Update LOCAL_PATCHES after libsanitizer merge. 2018-10-31 11:27:16 +00:00
libssp Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
libstdc++-v3 PR libstdc++/87822 fix layout change for nested std::pair 2018-10-31 12:29:02 +00:00
libvtv Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
lto-plugin Replace 8 spaces with a tabular in ChangeLog files. 2018-08-27 14:04:23 +00:00
maintainer-scripts update_version_svn (IGNORE_BRANCHES): Add gcc-6-branch. 2018-10-26 12:29:15 +02:00
zlib Allow building of the zlib component when the building takes place in the source directory. 2018-06-19 11:49:08 +00:00
.dir-locals.el
.gitattributes
.gitignore
ABOUT-NLS
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
ChangeLog re PR d/87788 (Support D on x86_64-apple-darwin*) 2018-10-31 09:44:31 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
MAINTAINERS Add myself to MAINTAINERS 2018-10-24 12:10:58 +00:00
Makefile.def Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
Makefile.in Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
Makefile.tpl Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
README
compile
config-ml.in Add D front-end, libphobos library, and D2 testsuite. 2018-10-28 19:51:47 +00:00
config.guess Update config.guess and config.sub 2018-07-06 05:57:35 +00:00
config.rpath
config.sub Update config.sub 2018-07-06 06:22:08 +00:00
configure re PR d/87788 (Support D on x86_64-apple-darwin*) 2018-10-31 09:44:31 +00:00
configure.ac re PR d/87788 (Support D on x86_64-apple-darwin*) 2018-10-31 09:44:31 +00:00
depcomp
install-sh
libtool-ldflags
libtool.m4 libtool.m4: Sort output of 'find' to enable deterministic builds. 2018-07-05 13:13:45 -06:00
ltgcc.m4
ltmain.sh libtool.m4: Sort output of 'find' to enable deterministic builds. 2018-07-05 13:13:45 -06:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing
mkdep
mkinstalldirs
move-if-change
symlink-tree
ylwrap

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.