toplev.c (compile_file): Set up the output file before we call the various initialize...
authorJeffrey A Law <law@cygnus.com>
Mon, 7 May 2001 15:51:21 +0000 (15:51 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 7 May 2001 15:51:21 +0000 (09:51 -0600)
        * toplev.c (compile_file): Set up the output file before we call
        the various initializers for the compiler.

From-SVN: r41897

gcc/ChangeLog
gcc/toplev.c

index dd27cd5a150e31c4e433d985ae354bc78cb5bee1..5d36475c150fccdb22fd965089916115f50689eb 100644 (file)
@@ -1,5 +1,8 @@
 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
 
+       * toplev.c (compile_file): Set up the output file before we call
+       the various initializers for the compiler.
+
        * except.c (sjlj_mark_call_sites): Do not search for assignments to
        non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
 
index 9c0fcf49fab1b6f0722b41019b99db433884b023..31e6387f1175114a2e436f71b9350d7d42f53b55 100644 (file)
@@ -2149,6 +2149,27 @@ compile_file (name)
   init_timevar ();
   timevar_start (TV_TOTAL);
 
+  if (! name_specified && asm_file_name == 0)
+    asm_out_file = stdout;
+  else
+    {
+      if (asm_file_name == 0)
+        {
+          int len = strlen (dump_base_name);
+          char *dumpname = (char *) xmalloc (len + 6);
+          memcpy (dumpname, dump_base_name, len + 1);
+          strip_off_ending (dumpname, len);
+          strcat (dumpname, ".s");
+          asm_file_name = dumpname;
+        }
+      if (!strcmp (asm_file_name, "-"))
+        asm_out_file = stdout;
+      else
+        asm_out_file = fopen (asm_file_name, "w");
+      if (asm_out_file == 0)
+       fatal_io_error ("can't open %s for writing", asm_file_name);
+    }
+
   /* Initialize data in various passes.  */
 
   init_obstacks ();
@@ -2193,27 +2214,6 @@ compile_file (name)
      because then the driver will have provided the name of a temporary
      file or bit bucket for us.  */
 
-  if (! name_specified && asm_file_name == 0)
-    asm_out_file = stdout;
-  else
-    {
-      if (asm_file_name == 0)
-        {
-          int len = strlen (dump_base_name);
-          char *dumpname = (char *) xmalloc (len + 6);
-          memcpy (dumpname, dump_base_name, len + 1);
-          strip_off_ending (dumpname, len);
-          strcat (dumpname, ".s");
-          asm_file_name = dumpname;
-        }
-      if (!strcmp (asm_file_name, "-"))
-        asm_out_file = stdout;
-      else
-        asm_out_file = fopen (asm_file_name, "w");
-      if (asm_out_file == 0)
-       fatal_io_error ("can't open %s for writing", asm_file_name);
-    }
-
 #ifdef IO_BUFFER_SIZE
   setvbuf (asm_out_file, (char *) xmalloc (IO_BUFFER_SIZE),
            _IOFBF, IO_BUFFER_SIZE);