diff options
author | Bob Wilson <bob.wilson@apple.com> | 2013-03-23 05:17:59 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2013-03-23 05:17:59 +0000 |
commit | a20a1dad7f820b1771b988689a75f6421cd3632f (patch) | |
tree | 8d8626d57d298fdbe93422b18b35a6b515efc1a5 /clang/lib/Driver/Driver.cpp | |
parent | fc306d39873497e1900e22fb40658cf71c11cd2b (diff) | |
download | bcm5719-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.cpp | 21 |
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); |