OSDN Git Service

* jvspec.c (lang_specific_driver): Fix -C handling.
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Mar 2001 04:32:05 +0000 (04:32 +0000)
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Mar 2001 04:32:05 +0000 (04:32 +0000)
Check -save-temps to see if temp @FILE should be deleted.
Follow-up to/fix for February 16 patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40530 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/jvspec.c

index 80e2102..ebc9592 100644 (file)
@@ -1,5 +1,9 @@
 2001-03-13  Per Bothner  <per@bothner.com>
 
+       * jvspec.c (lang_specific_driver):  Fix -C handling.
+       Check -save-temps to see if temp @FILE should be deleted.
+       Follow-up to/fix for February 16 patch.
+
        * verify.c (verify_jvm_instructions):  Better error msgs for dup.
        (type_stack_dup):  Remove no-longer neded error check.
 
index 684811a..f1d55c6 100644 (file)
@@ -101,6 +101,8 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
   /* If non-zero, the user gave us the `-v' flag.  */ 
   int saw_verbose_flag = 0;
 
+  int saw_save_temps = 0;
+
   /* This will be 0 if we encounter a situation where we should not
      link in libgcj.  */
   int library = 1;
@@ -302,6 +304,8 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
              will_link = 0;
              continue;
            }
+          else if (strcmp (argv[i], "-save-temps") == 0)
+           saw_save_temps = 1;
           else if (strcmp (argv[i], "-static-libgcc") == 0
                    || strcmp (argv[i], "-static") == 0)
            shared_libgcc = 0;
@@ -363,7 +367,8 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
       if (saw_o)
        fatal ("cannot specify both -C and -o");
     }
-  if (saw_o && java_files_count + (saw_C ? 0 : class_files_count) > 1)
+  if ((saw_o && java_files_count + class_files_count > 1)
+      || (saw_C && java_files_count > 1))
     combine_inputs = 1;
   if (class_files_count > 1)
     combine_inputs = 1;
@@ -373,7 +378,7 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
       filelist_filename = make_temp_file ("jx");
       if (filelist_filename == NULL)
        fatal ("cannot create temporary file");
-      record_temp_file (filelist_filename, 1, 0);
+      record_temp_file (filelist_filename, ! saw_save_temps, 0);
       filelist_file = fopen (filelist_filename, "w");
       if (filelist_file == NULL)
        pfatal_with_name (filelist_filename);