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
This commit is contained in:
Richard Guenther 2011-04-08 13:10:27 +00:00 committed by Richard Biener
parent 9bfc434b7a
commit 5e5a425e73
2 changed files with 26 additions and 15 deletions

View File

@ -1,3 +1,10 @@
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.

View File

@ -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)