Commit 8479ed2c by Jan Hubicka Committed by Martin Liska

Properly handle __cxa_pure_virtual visibility (PR lto/79760).

2017-03-03  Jan Hubicka  <jh@suse.cz>

	PR lto/79760
	* ipa-devirt.c (maybe_record_node): Properly handle
	__cxa_pure_virtual visibility.

From-SVN: r245870
parent d78a1c01
2017-03-03 Jan Hubicka <jh@suse.cz>
PR lto/79760
* ipa-devirt.c (maybe_record_node): Properly handle
__cxa_pure_virtual visibility.
2017-03-03 Martin Liska <mliska@suse.cz> 2017-03-03 Martin Liska <mliska@suse.cz>
PR tree-optimization/79803 PR tree-optimization/79803
......
...@@ -2462,10 +2462,19 @@ maybe_record_node (vec <cgraph_node *> &nodes, ...@@ -2462,10 +2462,19 @@ maybe_record_node (vec <cgraph_node *> &nodes,
nodes.safe_push (target_node); nodes.safe_push (target_node);
} }
} }
else if (completep else if (!completep)
&& (!type_in_anonymous_namespace_p ;
(DECL_CONTEXT (target)) /* We have definition of __cxa_pure_virtual that is not accessible (it is
|| flag_ltrans)) optimized out or partitioned to other unit) so we can not add it. When
not sanitizing, there is nothing to do.
Otherwise declare the list incomplete. */
else if (pure_virtual)
{
if (flag_sanitize & SANITIZE_UNREACHABLE)
*completep = false;
}
else if (flag_ltrans
|| !type_in_anonymous_namespace_p (DECL_CONTEXT (target)))
*completep = false; *completep = false;
} }
......
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