diff options
Diffstat (limited to 'gcc/cgraphunit.cc')
-rw-r--r-- | gcc/cgraphunit.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc index 8e8d855..9f4af63 100644 --- a/gcc/cgraphunit.cc +++ b/gcc/cgraphunit.cc @@ -2400,9 +2400,10 @@ symbol_table::compile (void) if (node->alias && lookup_attribute ("weakref", DECL_ATTRIBUTES (node->decl))) { - IDENTIFIER_TRANSPARENT_ALIAS - (DECL_ASSEMBLER_NAME (node->decl)) = 1; - TREE_CHAIN (DECL_ASSEMBLER_NAME (node->decl)) + tree id = DECL_ASSEMBLER_NAME (node->decl); + gcc_assert (!IDENTIFIER_INTERNAL_P (id)); + IDENTIFIER_TRANSPARENT_ALIAS (id) = 1; + TREE_CHAIN (id) = (node->alias_target ? node->alias_target : DECL_ASSEMBLER_NAME (node->get_alias_target ()->decl)); } |