re PR lto/48467 ([LTO] Anomalous behavior of -save-temps)
authorRichard Guenther <rguenther@suse.de>
Fri, 8 Apr 2011 13:10:27 +0000 (13:10 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 8 Apr 2011 13:10:27 +0000 (13:10 +0000)
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

gcc/ChangeLog
gcc/toplev.c

index 0372c2f1a6d89943efd4146def7a383cc9a5a545..b37d58baecf009faaf5d20c804e290713e016ab1 100644 (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.
index 3b154a6255ed06f0e90c4c03068143c6308250b0..c0f6ee3681e61e192609316a95fc639c8745049f 100644 (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)