gcc/libstdc++-v3
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
..
config re PR c++/42317 (Issues with comdat virtual dtors) 2009-12-10 22:58:49 +01:00
doc Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
include PR libstdc++/42261 (take 2) 2009-12-10 19:17:27 +00:00
libsupc++ Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
po Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
python Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
scripts [multiple changes] 2009-10-05 17:42:00 +00:00
src Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
testsuite PR libstdc++/42261 (take 2) 2009-12-10 19:17:27 +00:00
acinclude.m4 configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers. 2009-11-30 23:22:04 +00:00
aclocal.m4 Regenerate tree using Autoconf 2.64 and Automake 1.11. 2009-08-22 13:22:20 +00:00
ChangeLog re PR c++/42317 (Issues with comdat virtual dtors) 2009-12-10 22:58:49 +01:00
ChangeLog-1998
ChangeLog-1999 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2000 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2001
ChangeLog-2002 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2003 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2004 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2005 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2006 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2007 ChangeLog: Remove spurious white spaces and tabs. 2009-12-04 16:29:26 +00:00
ChangeLog-2008
config.h.in [multiple changes] 2009-10-05 17:42:00 +00:00
configure Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
configure.ac [multiple changes] 2009-10-05 17:42:00 +00:00
configure.host configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers. 2009-11-30 23:22:04 +00:00
crossconfig.m4
fragment.am
linkage.m4
Makefile.am Cleanups after the update to Autoconf 2.64, Automake 1.11. 2009-08-22 13:41:50 +00:00
Makefile.in Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
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.