diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3d8f991a4e92..3e277e232ecc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +Sat Apr 18 15:25:21 1998 Jim Wilson + + * g++spec.c (lang_specific_driver): New argument in_added_libraries. + New local added_libraries. Increment count when add library to + arglist. + Fri Apr 17 21:25:00 1998 Mark Mitchell * cp-tree.h (type_as_string_real): New function. diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index 105e03c885f3..0d1b7c054a86 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c @@ -38,10 +38,11 @@ Boston, MA 02111-1307, USA. */ 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; @@ -88,12 +89,15 @@ lang_specific_driver (fn, in_argc, in_argv) /* 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)); @@ -231,11 +235,17 @@ lang_specific_driver (fn, in_argc, in_argv) /* Add `-lstdc++' if we haven't already done so. */ if (library) - arglist[j++] = "-lstdc++"; + { + arglist[j++] = "-lstdc++"; + 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; @@ -243,4 +253,5 @@ lang_specific_driver (fn, in_argc, in_argv) *in_argc = j; *in_argv = arglist; + *in_added_libraries = added_libraries; }