diff options
author | Richard Guenther <rguenther@suse.de> | 2011-04-08 13:10:27 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-04-08 13:10:27 +0000 |
commit | 5e5a425e73a86f3edbbc1339760e3d8153966389 (patch) | |
tree | db899d0de395c4d01616e8938519ce3f2e8617b3 /gcc/toplev.c | |
parent | 9bfc434b7aa052e8d9175d3eca8fc355618e6fab (diff) | |
download | gcc-5e5a425e73a86f3edbbc1339760e3d8153966389.zip gcc-5e5a425e73a86f3edbbc1339760e3d8153966389.tar.gz gcc-5e5a425e73a86f3edbbc1339760e3d8153966389.tar.bz2 |
re PR lto/48467 ([LTO] Anomalous behavior of -save-temps)
2011-04-08 Richard Guenther <rguenther@suse.de>
PR lto/48467
* toplev.c (lang_dependent_init): Do not open asm_out_file
in WPA mode, nor perform debug machinery initialization.
(finalize): Do not unlink asm_out_file in WPA mode.
From-SVN: r172181
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 3b154a6..c0f6ee3 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) |