Commit 589520b6 by Jan Hubicka Committed by Jan Hubicka

ipa.c (function_and_variable_visibility): Clear COMDAT on functions when to PUBLIC is set.


	* ipa.c (function_and_variable_visibility): Clear COMDAT on functions
	when to PUBLIC is set.

From-SVN: r154167
parent 5b6dad5d
2009-11-13 Jan Hubicka <jh@suse.cz>
* ipa.c (function_and_variable_visibility): Clear COMDAT on functions
when to PUBLIC is set.
2009-11-13 Jakub Jelinek <jakub@redhat.com>
PR middle-end/42029
......@@ -292,6 +292,12 @@ function_and_variable_visibility (bool whole_program)
for (node = cgraph_nodes; node; node = node->next)
{
/* C++ FE on lack of COMDAT support create local COMDAT functions
(that ought to be shared but can not due to object format
limitations). It is neccesary to keep the flag to make rest of C++ FE
happy. Clear the flag here to avoid confusion in middle-end. */
if (DECL_COMDAT (node->decl) && !TREE_PUBLIC (node->decl))
DECL_COMDAT (node->decl) = 0;
gcc_assert ((!DECL_WEAK (node->decl) && !DECL_COMDAT (node->decl))
|| TREE_PUBLIC (node->decl) || DECL_EXTERNAL (node->decl));
if (cgraph_externally_visible_p (node, whole_program))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment