aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-04-08 13:10:27 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-04-08 13:10:27 +0000
commit5e5a425e73a86f3edbbc1339760e3d8153966389 (patch)
treedb899d0de395c4d01616e8938519ce3f2e8617b3
parent9bfc434b7aa052e8d9175d3eca8fc355618e6fab (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/toplev.c34
2 files changed, 26 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0372c2f..b37d58b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
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.
+
+2011-04-08 Richard Guenther <rguenther@suse.de>
+
* gimple.h (gimple_call_fntype): New function.
(gimple_call_return_type): Use it.
* expr.c (expand_expr_real_1): Use gimple_call_fntype.
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)