summaryrefslogtreecommitdiff
path: root/gcc/ipa-visibility.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-21 02:39:49 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-21 02:39:49 +0000
commit4696e459f6134e163783ea70a3bd9f8d5b2d5d0b (patch)
tree8ba8fcd6632c9c6760ff6d8527c1b70179fb50b7 /gcc/ipa-visibility.c
parent9e6b15b71856977e7dc99217054bf8e556f05cdd (diff)
downloadgcc-4696e459f6134e163783ea70a3bd9f8d5b2d5d0b.tar.gz
* gcc.dg/localalias.c: New testcase.
* gcc.dg/localalias-2.c: New testcase. * gcc.dg/globalalias.c: New testcase. * gcc.dg/globalalias-2.c: New testcase. * ipa-visibility.c (function_and_variable_visibility): Disable temporarily local aliases for some targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211864 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-visibility.c')
-rw-r--r--gcc/ipa-visibility.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ipa-visibility.c b/gcc/ipa-visibility.c
index 4e0fd9e0b40..9e4d8c38f4b 100644
--- a/gcc/ipa-visibility.c
+++ b/gcc/ipa-visibility.c
@@ -566,7 +566,11 @@ function_and_variable_visibility (bool whole_program)
cheaper and enable more optimization.
TODO: We can also update virtual tables. */
- if (node->callers && can_replace_by_local_alias (node))
+ if (node->callers
+ /* FIXME: currently this optimization breaks on AIX. Disable it for targets
+ without comdat support for now. */
+ && SUPPORTS_ONE_ONLY
+ && can_replace_by_local_alias (node))
{
struct cgraph_node *alias = cgraph (symtab_nonoverwritable_alias (node));