lto.c (partition_cgraph_node_p, [...]): Handle COMDATs required by the linker.

* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
	COMDATs required by the linker.

From-SVN: r165058
This commit is contained in:
Jan Hubicka 2010-10-06 19:28:13 +02:00 committed by Jan Hubicka
parent 0e9ea52bfc
commit 06ed016f03
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2010-10-06 Jan Hubicka <jh@suse.cz>
* lto.c (partition_cgraph_node_p, partition_varpool_node_p): Handle
COMDATs required by the linker.
2010-10-05 Ian Lance Taylor <iant@google.com>
* lto.c (lto_section_with_id): Make s a const pointer.

View File

@ -839,7 +839,8 @@ partition_cgraph_node_p (struct cgraph_node *node)
return false;
/* Extern inlines and comdat are always only in partitions they are needed. */
if (DECL_EXTERNAL (node->decl)
|| DECL_COMDAT (node->decl))
|| (DECL_COMDAT (node->decl)
&& !cgraph_used_from_object_file_p (node)))
return false;
return true;
}
@ -854,7 +855,8 @@ partition_varpool_node_p (struct varpool_node *vnode)
return false;
/* Constant pool and comdat are always only in partitions they are needed. */
if (DECL_IN_CONSTANT_POOL (vnode->decl)
|| DECL_COMDAT (vnode->decl))
|| (DECL_COMDAT (vnode->decl)
&& !varpool_used_from_object_file_p (vnode)))
return false;
return true;
}