aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-06-11 10:15:34 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-06-11 08:15:34 +0000
commit862b3da6a46799de1c1f4a84ef949e52d69fa3ff (patch)
treebbd51b37e9251d273abf5f3a9528e067111beebe
parent96a3f4dfb60bb315496e00297b9f9b852482dea8 (diff)
downloadgcc-862b3da6a46799de1c1f4a84ef949e52d69fa3ff.zip
gcc-862b3da6a46799de1c1f4a84ef949e52d69fa3ff.tar.gz
gcc-862b3da6a46799de1c1f4a84ef949e52d69fa3ff.tar.bz2
ipa-visibility.c (function_and_variable_visibility): Disable virtual table rewriting temporarily on targets not supporting ONE_ONLY.
* ipa-visibility.c (function_and_variable_visibility): Disable virtual table rewriting temporarily on targets not supporting ONE_ONLY. From-SVN: r211437
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-visibility.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e61b75d..89fcc09 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-06-11 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-visibility.c (function_and_variable_visibility): Disable
+ virtual table rewriting temporarily on targets not supporting
+ ONE_ONLY.
+
2014-06-11 Richard Biener <rguenther@suse.de>
PR middle-end/61437
diff --git a/gcc/ipa-visibility.c b/gcc/ipa-visibility.c
index 2d63441..4e0fd9e 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;