PATCH: correctly handle no-gc case

Tom Tromey tromey@cygnus.com
Thu Nov 12 08:49:00 GMT 1998


I'm checking in the appended patch.  It changes gcj to correctly
handle the case where no GC library is used.  It also cleans up space
allocation for the arguments.

1998-11-12  Tom Tromey  <tromey@cygnus.com>

	* jvspec.c (lang_specific_driver): Correctly handle case where
	GC_NAME not defined.

Tom

Index: jvspec.c
===================================================================
RCS file: /cvs/egcs/egcs/gcc/java/jvspec.c,v
retrieving revision 1.4
diff -u -r1.4 jvspec.c
--- jvspec.c	1998/11/11 22:48:27	1.4
+++ jvspec.c	1998/11/12 16:46:44
@@ -172,6 +172,9 @@
    */
   int need_thread = 1;
 
+  /* By default, we throw in the gc library (if one is required).  */
+  int need_gc = 1;
+
   /* The total number of arguments with the new stuff.  */
   int argc;
 
@@ -235,8 +238,13 @@
 	    saw_libjava = 1;
 	  else if (strcmp (argv[i], "-lc") == 0)
 	    args[i] |= WITHLIBC;
+#ifdef GC_NAME
 	  else if (strcmp (argv[i], GC_NAME) == 0)
-	    args[i] |= GCLIB;
+	    {
+	      args[i] |= GCLIB;
+	      need_gc = 0;
+	    }
+#endif
 #ifdef THREAD_NAME
 	  else if (strcmp (argv[i], THREAD_NAME) == 0)
 	    {
@@ -333,7 +341,7 @@
 
   num_args = argc + added;
   if (will_link)
-    num_args += need_math + need_thread;
+    num_args += need_math + need_thread + need_gc;
   if (saw_C)
     {
       num_args += 3;
@@ -376,7 +384,7 @@
     {
       lang_specific_extra_outfiles++;
     }
-  arglist = (char **) xmalloc ((num_args + 4) * sizeof (char *));
+  arglist = (char **) xmalloc ((num_args + 1) * sizeof (char *));
 
   for (i = 0, j = 0; i < argc; i++, j++)
     {



More information about the Gcc-patches mailing list