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
+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>
PR tree-optimization/79803
nodes.safe_push (target_node);
}
}
- else if (completep
- && (!type_in_anonymous_namespace_p
- (DECL_CONTEXT (target))
- || flag_ltrans))
+ else if (!completep)
+ ;
+ /* We have definition of __cxa_pure_virtual that is not accessible (it is
+ 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;
}