diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-26 19:24:55 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-26 19:24:55 +0000 |
commit | 9dc893080e67ff964558998fed680925a7cb4b70 (patch) | |
tree | fc3d4528a3fabd42ccd7df7a292bffb8b965dfd1 /gcc/cp/g++spec.c | |
parent | fe4306df6d38038dcd6d9f04a2981f58c77a83c2 (diff) | |
download | gcc-9dc893080e67ff964558998fed680925a7cb4b70.tar.gz |
* g++spec.c (LIBSTDCXX_PROFILE): Default to LIBSTDCXX.
(lang_specific_driver): If the C++ or math library options don't
start with '-l', don't count them as added libraries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85201 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/g++spec.c')
-rw-r--r-- | gcc/cp/g++spec.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index 69cf1864cf8..286134b0e97 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c @@ -43,7 +43,7 @@ Boston, MA 02111-1307, USA. */ #define LIBSTDCXX "-lstdc++" #endif #ifndef LIBSTDCXX_PROFILE -#define LIBSTDCXX_PROFILE "-lstdc++" +#define LIBSTDCXX_PROFILE LIBSTDCXX #endif void @@ -297,15 +297,19 @@ lang_specific_driver (int *in_argc, const char *const **in_argv, /* Add `-lstdc++' if we haven't already done so. */ if (library > 0) { - arglist[j++] = saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX; - added_libraries++; + arglist[j] = saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX; + if (arglist[j][0] != '-' || arglist[j][1] == 'l') + added_libraries++; + j++; } if (saw_math) arglist[j++] = saw_math; else if (library > 0 && need_math) { - arglist[j++] = saw_profile_flag ? MATH_LIBRARY_PROFILE : MATH_LIBRARY; - added_libraries++; + arglist[j] = saw_profile_flag ? MATH_LIBRARY_PROFILE : MATH_LIBRARY; + if (arglist[j][0] != '-' || arglist[j][1] == 'l') + added_libraries++; + j++; } if (saw_libc) arglist[j++] = saw_libc; |