diff options
author | Geoffrey Keating <geoffk@apple.com> | 2004-08-06 00:29:17 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2004-08-06 00:29:17 +0000 |
commit | 01e054665da8e46a14bb326cee073e48ee0366ef (patch) | |
tree | 37cc52232a5277dce067e69468a3becdb3f3d874 | |
parent | 78701d2aadcd404b7e67fb8f9ef4070a1d10eaa8 (diff) | |
download | gcc-01e054665da8e46a14bb326cee073e48ee0366ef.zip gcc-01e054665da8e46a14bb326cee073e48ee0366ef.tar.gz gcc-01e054665da8e46a14bb326cee073e48ee0366ef.tar.bz2 |
g++spec.c (lang_specific_driver): An -Xlinker or -Wl, option means that libstdc++ is needed.
* g++spec.c (lang_specific_driver): An -Xlinker or -Wl, option
means that libstdc++ is needed.
From-SVN: r85620
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/g++spec.c | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 43ba649..09f6718 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2004-08-05 Geoffrey Keating <geoffk@apple.com> + + * g++spec.c (lang_specific_driver): An -Xlinker or -Wl, option + means that libstdc++ is needed. + 2004-08-05 Nathan Sidwell <nathan@codesourcery.com> * cvt.c (cp_convert_to_pointer): Adjust force_fit_type call. diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index 286134b..ec31d81 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c @@ -164,9 +164,18 @@ lang_specific_driver (int *in_argc, const char *const **in_argv, } saw_speclang = 1; } + /* Arguments that go directly to the linker might be .o files, + or something, and so might cause libstdc++ to be needed. */ + else if (strcmp (argv[i], "-Xlinker") == 0) + { + quote = argv[i]; + if (library == 0) + library = 1; + } + else if (strncmp (argv[i], "-Wl,", 4) == 0) + library = (library == 0) ? 1 : library; else if (((argv[i][2] == '\0' && strchr ("bBVDUoeTuIYmLiA", argv[i][1]) != NULL) - || strcmp (argv[i], "-Xlinker") == 0 || strcmp (argv[i], "-Tdata") == 0)) quote = argv[i]; else if ((argv[i][2] == '\0' |