aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r--lib/Driver/Tools.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 4279db59c9..70597ab913 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -9,6 +9,7 @@
#include "Tools.h"
+#include "clang/Basic/Version.h"
#include "clang/Driver/Action.h"
#include "clang/Driver/Arg.h"
#include "clang/Driver/ArgList.h"
@@ -815,7 +816,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.AddLastArg(CmdArgs, options::OPT_nostdinc);
Args.AddLastArg(CmdArgs, options::OPT_nobuiltininc);
- Args.AddLastArg(CmdArgs, options::OPT_isysroot);
+ // Pass the path to compiler resource files.
+ //
+ // FIXME: Get this from a configuration object.
+ llvm::sys::Path P(D.Dir);
+ P.eraseComponent(); // Remove /bin from foo/bin
+ P.appendComponent("lib");
+ P.appendComponent("clang");
+ P.appendComponent(CLANG_VERSION_STRING);
+ CmdArgs.push_back("-resource-dir");
+ CmdArgs.push_back(Args.MakeArgString(P.str()));
// Add preprocessing options like -I, -D, etc. if we are using the
// preprocessor.