summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2013-03-23 05:17:59 +0000
committerBob Wilson <bob.wilson@apple.com>2013-03-23 05:17:59 +0000
commita20a1dad7f820b1771b988689a75f6421cd3632f (patch)
tree8d8626d57d298fdbe93422b18b35a6b515efc1a5 /clang/lib/Driver/Driver.cpp
parentfc306d39873497e1900e22fb40658cf71c11cd2b (diff)
downloadbcm5719-llvm-a20a1dad7f820b1771b988689a75f6421cd3632f.tar.gz
bcm5719-llvm-a20a1dad7f820b1771b988689a75f6421cd3632f.zip
Revert svn r176894 and r177658.
Changing -ccc-install-dir to affect cc1's resource-dir setting broke our internal LNT tests. After discussing the situation with Jim, we've decided to pursue an alternate approach. We really want the resource-dir to be located relative to clang, even when using -ccc-install-dir, but we're going to add a fallback setting for the libc++ headers if they don't exist alongside the compiler. llvm-svn: 177815
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r--clang/lib/Driver/Driver.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 3167e03ca44..689ecbcd794 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -59,6 +59,15 @@ Driver::Driver(StringRef ClangExecutable,
Name = llvm::sys::path::stem(ClangExecutable);
Dir = llvm::sys::path::parent_path(ClangExecutable);
+
+ // Compute the path to the resource directory.
+ StringRef ClangResourceDir(CLANG_RESOURCE_DIR);
+ SmallString<128> P(Dir);
+ if (ClangResourceDir != "")
+ llvm::sys::path::append(P, ClangResourceDir);
+ else
+ llvm::sys::path::append(P, "..", "lib", "clang", CLANG_VERSION_STRING);
+ ResourceDir = P.str();
}
Driver::~Driver() {
@@ -282,18 +291,8 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
if (Args->hasArg(options::OPT_nostdlib))
UseStdLib = false;
- // Compute the path to the resource directory. We used to do this in
- // Driver::Driver(), but that's not right, as command line args (such as
- // ccc-install-dir) can change 'Dir'.
- StringRef ClangResourceDir(CLANG_RESOURCE_DIR);
- SmallString<128> P(Dir);
if (const Arg *A = Args->getLastArg(options::OPT_resource_dir))
- P = A->getValue();
- else if (!ClangResourceDir.empty())
- llvm::sys::path::append(P, ClangResourceDir);
- else
- llvm::sys::path::append(P, "..", "lib", "clang", CLANG_VERSION_STRING);
- ResourceDir = P.str();
+ ResourceDir = A->getValue();
// Perform the default argument translations.
DerivedArgList *TranslatedArgs = TranslateInputArgs(*Args);
OpenPOWER on IntegriCloud