aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/varasm.cc')
-rw-r--r--gcc/varasm.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/varasm.cc b/gcc/varasm.cc
index eddfb6a..10c1d2e 100644
--- a/gcc/varasm.cc
+++ b/gcc/varasm.cc
@@ -6525,7 +6525,12 @@ do_assemble_alias (tree decl, tree target)
IDENTIFIER_POINTER (target));
# endif
/* If symbol aliases aren't actually supported... */
- if (!TARGET_SUPPORTS_ALIASES)
+ if (!TARGET_SUPPORTS_ALIASES
+# ifdef ACCEL_COMPILER
+ /* ..., and unless special-cased... */
+ && !lookup_attribute ("symbol alias handled", DECL_ATTRIBUTES (decl))
+# endif
+ )
/* ..., 'ASM_OUTPUT_DEF{,_FROM_DECLS}' better have raised an error. */
gcc_checking_assert (seen_error ());
#elif defined (ASM_OUTPUT_WEAK_ALIAS) || defined (ASM_WEAKEN_DECL)