diff options
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 3b154a6255e..c0f6ee3681e 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1743,11 +1743,14 @@ lang_dependent_init (const char *name) return 0; input_location = save_loc; - init_asm_output (name); + if (!flag_wpa) + { + init_asm_output (name); - /* If stack usage information is desired, open the output file. */ - if (flag_stack_usage) - stack_usage_file = open_auxiliary_file ("su"); + /* If stack usage information is desired, open the output file. */ + if (flag_stack_usage) + stack_usage_file = open_auxiliary_file ("su"); + } /* This creates various _DECL nodes, so needs to be called after the front end is initialized. */ @@ -1756,20 +1759,23 @@ lang_dependent_init (const char *name) /* Do the target-specific parts of the initialization. */ lang_dependent_init_target (); - /* If dbx symbol table desired, initialize writing it and output the - predefined types. */ - timevar_push (TV_SYMOUT); + if (!flag_wpa) + { + /* If dbx symbol table desired, initialize writing it and output the + predefined types. */ + timevar_push (TV_SYMOUT); #if defined DWARF2_DEBUGGING_INFO || defined DWARF2_UNWIND_INFO - if (dwarf2out_do_frame ()) - dwarf2out_frame_init (); + if (dwarf2out_do_frame ()) + dwarf2out_frame_init (); #endif - /* Now we have the correct original filename, we can initialize - debug output. */ - (*debug_hooks->init) (name); + /* Now we have the correct original filename, we can initialize + debug output. */ + (*debug_hooks->init) (name); - timevar_pop (TV_SYMOUT); + timevar_pop (TV_SYMOUT); + } return 1; } @@ -1848,8 +1854,6 @@ finalize (bool no_backend) fatal_error ("error writing to %s: %m", asm_file_name); if (fclose (asm_out_file) != 0) fatal_error ("error closing %s: %m", asm_file_name); - if (flag_wpa) - unlink_if_ordinary (asm_file_name); } if (stack_usage_file) |