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 Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
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 Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
include Checking this in for: Jonas Maebe <jonas.maebe@elis.ugent.be> 2009-11-06 14:36:57 +00:00
INSTALL
intl 2009-10-15 Jim Blandy <jimb@red-bean.com> 2009-10-15 08:56:02 +00:00
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 * update_web_docs_svn: Update BUGURL to http://gcc.gnu.org/bugs/. 2009-10-10 20:43:15 +00:00
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 Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
config-ml.in config-ml.in: don't handle --enable-shared and --enable-static. 2008-05-14 17:15:51 +00:00
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 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
depcomp Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
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 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
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 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
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 Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
move-if-change
README README: Refer to the various COPYING* files instead of just COPYING. 2009-10-10 20:59:49 +00:00
symlink-tree
ylwrap Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00

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.