+Sat Apr 18 15:26:57 1998 Jim Wilson <wilson@cygnus.com>
+
+ * g77spec.c (lang_specific_driver): New argument in_added_libraries.
+ New local added_libraries. Increment count when add library to
+ arglist.
+
Tue Apr 14 15:51:37 1998 Dave Brolley <brolley@cygnus.com>
* com.c (init_parse): Now returns char* containing filename;
extern char *xmalloc PROTO((size_t));
void
-lang_specific_driver (fn, in_argc, in_argv)
+lang_specific_driver (fn, in_argc, in_argv, in_added_libraries)
void (*fn)();
int *in_argc;
char ***in_argv;
+ int *in_added_libraries;
{
int i, j;
/* The argument list. */
char **argv;
+ /* The number of libraries added in. */
+ int added_libraries;
+
/* The total number of arguments with the new stuff. */
int num_args = 1;
argc = *in_argc;
argv = *in_argv;
+ added_libraries = *in_added_libraries;
args = (int *) xmalloc (argc * sizeof (int));
bzero ((char *) args, argc * sizeof (int));
/* Add `-lf2c' if we haven't already done so. */
if (library)
- arglist[j++] = FORTRAN_LIBRARY;
+ {
+ arglist[j++] = FORTRAN_LIBRARY;
+ added_libraries++;
+ }
if (saw_math)
arglist[j++] = saw_math;
else if (library)
- arglist[j++] = MATH_LIBRARY;
+ {
+ arglist[j++] = MATH_LIBRARY;
+ added_libraries++;
+ }
if (saw_libc)
arglist[j++] = saw_libc;
*in_argc = j;
*in_argv = arglist;
+ *in_added_libraries = added_libraries;
}