diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e61b75d886b..89fcc091568 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-06-11 Jan Hubicka + + * ipa-visibility.c (function_and_variable_visibility): Disable + virtual table rewriting temporarily on targets not supporting + ONE_ONLY. + 2014-06-11 Richard Biener PR middle-end/61437 diff --git a/gcc/ipa-visibility.c b/gcc/ipa-visibility.c index 2d634416226..4e0fd9e0b40 100644 --- a/gcc/ipa-visibility.c +++ b/gcc/ipa-visibility.c @@ -666,9 +666,12 @@ function_and_variable_visibility (bool whole_program) } update_visibility_by_resolution_info (vnode); - /* Update virutal tables to point to local aliases where possible. */ + /* Update virtual tables to point to local aliases where possible. */ if (DECL_VIRTUAL_P (vnode->decl) - && !DECL_EXTERNAL (vnode->decl)) + && !DECL_EXTERNAL (vnode->decl) + /* FIXME: currently this optimization breaks on AIX. Disable it for targets + without comdat support for now. */ + && SUPPORTS_ONE_ONLY) { int i; struct ipa_ref *ref;