From 37d3cb08cc94c3648045ca9b07404b97b6c9ab77 Mon Sep 17 00:00:00 2001
From: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 13 Jul 2005 16:44:37 +0000
Subject: [PATCH] 	* jvspec.c (lang_specific_driver): Put
 filelist_filename first on 	command line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101977 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/java/ChangeLog |  5 +++++
 gcc/java/jvspec.c  | 25 ++++++++++++++++---------
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index c45a7918ede4..26459dfabda7 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-12  Tom Tromey  <tromey@redhat.com>
+
+	* jvspec.c (lang_specific_driver): Put filelist_filename first on
+	command line.
+
 2005-07-12  Tom Tromey  <tromey@redhat.com>
 
 	PR java/19674:
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c
index e4f4d1838de6..4661d6cdad11 100644
--- a/gcc/java/jvspec.c
+++ b/gcc/java/jvspec.c
@@ -1,6 +1,6 @@
 /* Specific flags and argument handling of the front-end of the 
    GNU compiler for the Java(TM) language.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -458,7 +458,7 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
       if (filelist_file == NULL)
 	pfatal_with_name (filelist_filename);
       num_args -= java_files_count + class_files_count + zip_files_count;
-      num_args += 2;  /* for the combined arg and "-xjava" */
+      num_args += 3;  /* for the combined arg "-xjava", and "-xnone" */
     }
   /* If we know we don't have to do anything, bail now.  */
 #if 0
@@ -493,11 +493,23 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
   arglist = xmalloc ((num_args + 1) * sizeof (char *));
   j = 0;
 
-  for (i = 0; i < argc; i++, j++)
+  arglist[j++] = argv[0];
+
+  if (combine_inputs || indirect_files_count > 0)
+    arglist[j++] = "-ffilelist-file";
+
+  if (combine_inputs)
+    {
+      arglist[j++] = "-xjava";
+      arglist[j++] = filelist_filename;
+      arglist[j++] = "-xnone";
+    }
+
+  for (i = 1; i < argc; i++, j++)
     {
       arglist[j] = argv[i];
 
-      if ((args[i] & PARAM_ARG) || i == 0)
+      if ((args[i] & PARAM_ARG))
 	continue;
 
       if ((args[i] & RESOURCE_FILE_ARG) != 0)
@@ -559,15 +571,10 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
 	}
   }
 
-  if (combine_inputs || indirect_files_count > 0)
-    arglist[j++] = "-ffilelist-file";
-
   if (combine_inputs)
     {
       if (fclose (filelist_file))
 	pfatal_with_name (filelist_filename);
-      arglist[j++] = "-xjava";
-      arglist[j++] = filelist_filename;
     }
 
   /* If we saw no -O or -g option, default to -g1, for javac compatibility. */
-- 
GitLab