diff options
Diffstat (limited to 'gcc/cgraphunit.cc')
-rw-r--r-- | gcc/cgraphunit.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/cgraphunit.cc b/gcc/cgraphunit.cc index 82f2054..9f4af63 100644 --- a/gcc/cgraphunit.cc +++ b/gcc/cgraphunit.cc @@ -63,7 +63,7 @@ along with GCC; see the file COPYING3. If not see final assembler is generated. This is done in the following way. Note that with link time optimization the process is split into three stages (compile time, linktime analysis and parallel linktime as - indicated bellow). + indicated below). Compile time: @@ -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)); } @@ -2588,6 +2589,8 @@ symbol_table::finalize_compilation_unit (void) if (!seen_error ()) { + timevar_push (TV_SYMOUT); + /* Give the frontends the chance to emit early debug based on what is still reachable in the TU. */ (*lang_hooks.finalize_early_debug) (); @@ -2597,6 +2600,8 @@ symbol_table::finalize_compilation_unit (void) debuginfo_early_start (); (*debug_hooks->early_finish) (main_input_filename); debuginfo_early_stop (); + + timevar_pop (TV_SYMOUT); } /* Finally drive the pass manager. */ |