diff options
author | Jim Wilson <wilson@cygnus.com> | 1998-04-18 15:26:22 +0000 |
---|---|---|
committer | Jim Wilson <wilson@cygnus.com> | 1998-04-18 15:26:22 +0000 |
commit | 848e081c0e4edb30bb340162533cfb5b513bba4a (patch) | |
tree | 5c395652a6c5a355ad2cd0134e95c2e36bd6a37f /gcc/cp/g++spec.c | |
parent | 030c6e58fa00eb62762dfd87a74ec44b5b423240 (diff) |
Patches to give useful error when no files specified.
* g++spec.c (lang_specific_driver): New argument in_added_libraries.
New local added_libraries. Increment count when add library to
arglist.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@19279 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/g++spec.c')
-rw-r--r-- | gcc/cp/g++spec.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index 105e03c885f..0d1b7c054a8 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; } |