summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-10-17 22:14:51 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-10-17 22:14:51 +0000
commit70b8d76e645c0f4de557fde27467eac578909af7 (patch)
treeabb0b041ec8776f8b2fe99cd613fd7dea4e18108 /clang/lib
parent317ebfe18e16375f5fb8be43a19899276893806e (diff)
downloadbcm5719-llvm-70b8d76e645c0f4de557fde27467eac578909af7.tar.gz
bcm5719-llvm-70b8d76e645c0f4de557fde27467eac578909af7.zip
Implement -static-libstdc++ for linux.
llvm-svn: 142290
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/Tools.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index a71015307dd..20b02f541e5 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -4375,7 +4375,13 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA,
AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
if (D.CCCIsCXX && !Args.hasArg(options::OPT_nostdlib)) {
+ bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx) &&
+ !Args.hasArg(options::OPT_static);
+ if (OnlyLibstdcxxStatic)
+ CmdArgs.push_back("-Bstatic");
ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
+ if (OnlyLibstdcxxStatic)
+ CmdArgs.push_back("-Bdynamic");
CmdArgs.push_back("-lm");
}
OpenPOWER on IntegriCloud