Go to file
Jakub Jelinek b66887e4d0 re PR c++/42317 (Issues with comdat virtual dtors)
PR c++/42317
	* cgraph.h (struct cgraph_node): Add same_comdat_group field.
	* cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
	circular list.
	(cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
	node->same_comdat_group.
	* ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
	mark all its same_comdat_group nodes as also reachable.
	(cgraph_externally_visible_p): Return true even if any of
	same_comdat_group nodes has address taken.
	* lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
	(output_cgraph): Ensure other same_comdat_group nodes are also
	included.
	(input_node): Stream in same_comdat_group.
	(input_cgraph_1): Fix up same_comdat_group fields from references
	to pointers.
	* cgraphunit.c (cgraph_analyze_functions): Mark all other
	same_comdat_group nodes as reachable.
	(cgraph_mark_functions_to_output): For each node->process process
	also other same_comdat_group nodes.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
	with same_comdat_group non-NULL.
	(cgraph_mark_inline_edge): Likewise.

	* decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
	also on all other functions in the same comdat group.
	* optimize.c (maybe_clone_body): Also optimize virtual implicit
	dtors.  For virtual comdat dtors tell cgraph that base and deleting
	dtor are in the same comdat group.

	* config/abi/pre/gnu.ver: Don't export certain base dtors that
	weren't previously exported.

	* g++.dg/opt/dtor2.C: New test.
	* g++.dg/opt/dtor2.h: New file.
	* g++.dg/opt/dtor2-aux.cc: New file.

From-SVN: r155143
2009-12-10 22:58:49 +01:00
boehm-gc Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
config largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and AC_CANONICAL_TARGET. 2009-11-30 16:38:14 +00:00
contrib
fixincludes Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
gcc re PR c++/42317 (Issues with comdat virtual dtors) 2009-12-10 22:58:49 +01:00
gnattools
include Checking this in for: Jonas Maebe <jonas.maebe@elis.ugent.be> 2009-11-06 14:36:57 +00:00
INSTALL
intl
libada Makefile.in (GNATLIBCFLAGS_FOR_C): New variable. 2009-10-24 10:58:31 +00:00
libcpp zh_CN.po: Update. 2009-12-10 13:01:59 +00:00
libdecnumber sarray.c (sarray_free): Use old_buckets variable. 2009-11-28 21:31:39 +01:00
libffi re PR libffi/40700 (All amd64 libffi execution tests fail on Solaris 10/x86) 2009-12-10 10:09:17 +00:00
libgcc re PR other/39888 (TLS emutls not linked to automatically on Darwin) 2009-11-18 08:36:12 +01:00
libgfortran re PR libfortran/41711 ([F08] BOZ edit-descr does not support reading large kind reals) 2009-12-08 15:12:06 +01:00
libgomp Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
libiberty * pex-unix.c (pex_unix_exec_child): Save/restore environ. 2009-12-08 07:05:35 +00:00
libjava pa-signal.h: Do not include ucontext.h. 2009-12-09 21:31:49 +00:00
libmudflap Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
libobjc Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
libssp Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
libstdc++-v3 re PR c++/42317 (Issues with comdat virtual dtors) 2009-12-10 22:58:49 +01:00
lto-plugin re PR bootstrap/42306 (Revision 155012 breaks lto-plugin) 2009-12-05 15:57:50 -08:00
maintainer-scripts
zlib Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ABOUT-NLS
ChangeLog MAINTAINERS (Write After Approval): Add myself. 2009-12-08 02:21:04 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess * config.guess: Update from upstream sources. 2009-11-20 09:47:13 +11:00
config.rpath
config.sub * config.sub, config.guess: Update from upstream sources. 2009-11-17 05:04:53 +11:00
configure re PR middle-end/30447 (Evaluate complex math functions at compile-time) 2009-12-06 16:11:06 +00:00
configure.ac re PR middle-end/30447 (Evaluate complex math functions at compile-time) 2009-12-06 16:11:06 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags
libtool.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
lt~obsolete.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltgcc.m4
ltmain.sh Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltoptions.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltsugar.m4
ltversion.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2009-12-08 02:21:04 +00:00
Makefile.def Makefile.def: Restore host and target settings for gmp. 2009-11-16 22:56:33 +00:00
Makefile.in Makefile.def: Restore host and target settings for gmp. 2009-11-16 22:56:33 +00:00
Makefile.tpl configure.ac: Add libelf to host_libs. 2009-11-16 18:31:10 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

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.