diff options
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r-- | clang/tools/driver/driver.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index 31990a8f2aa..ad6c8073272 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/tools/driver/driver.cpp @@ -18,13 +18,20 @@ #include "clang/Driver/Options.h" #include "llvm/ADT/OwningPtr.h" +#include "llvm/System/Path.h" #include "llvm/System/Signals.h" using namespace clang::driver; int main(int argc, const char **argv) { llvm::sys::PrintStackTraceOnErrorSignal(); - llvm::OwningPtr<Driver> TheDriver(new Driver()); + // FIXME: We should use GetMainExecutable here, probably, but we may + // want to handle symbolic links slightly differently. The problem + // is that the path derived from this will influence search paths. + llvm::sys::Path Path(argv[0]); + + llvm::OwningPtr<Driver> TheDriver(new Driver(Path.getBasename().c_str(), + Path.getDirname().c_str())); llvm::OwningPtr<Compilation> C(TheDriver->BuildCompilation(argc, argv)); |