From 6f24ab3b8cd1aa740e252915c1dfbf6ec76c9d97 Mon Sep 17 00:00:00 2001 From: hubicka Date: Wed, 11 Jun 2014 08:15:34 +0000 Subject: [PATCH] * ipa-visibility.c (function_and_variable_visibility): Disable virtual table rewriting temporarily on targets not supporting ONE_ONLY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211437 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-visibility.c | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) 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; -- 2.11.4.GIT