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
This commit is contained in:
parent
5b6dad5d8f
commit
589520b621
|
@ -1,3 +1,8 @@
|
|||
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))
|
||||
|
|
Loading…
Reference in New Issue