diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-26 05:03:40 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-26 05:03:40 +0000 |
commit | ac1db6b2bde50e9a0f3846243f654f6c13682725 (patch) | |
tree | 63876607cd633b9a02b2ddda3b39754d9f400269 /tools/driver/driver.cpp | |
parent | 48955f8119261c47cac564d1b6976c8f6441800a (diff) | |
download | clang-ac1db6b2bde50e9a0f3846243f654f6c13682725.tar.gz clang-ac1db6b2bde50e9a0f3846243f654f6c13682725.tar.bz2 clang-ac1db6b2bde50e9a0f3846243f654f6c13682725.tar.xz |
Use llvm::sys::fs::getMainExecutable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184915 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/driver/driver.cpp')
-rw-r--r-- | tools/driver/driver.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index 8b02a35387..6059571c69 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -48,14 +48,14 @@ using namespace clang; using namespace clang::driver; using namespace llvm::opt; -llvm::sys::Path GetExecutablePath(const char *Argv0, bool CanonicalPrefixes) { +std::string GetExecutablePath(const char *Argv0, bool CanonicalPrefixes) { if (!CanonicalPrefixes) - return llvm::sys::Path(Argv0); + return Argv0; // This just needs to be some symbol in the binary; C++ doesn't // allow taking the address of ::main however. void *P = (void*) (intptr_t) GetExecutablePath; - return llvm::sys::Path::GetMainExecutable(Argv0, P); + return llvm::sys::fs::getMainExecutable(Argv0, P); } static const char *SaveStringInSet(std::set<std::string> &SavedStrings, @@ -401,7 +401,7 @@ int main(int argc_, const char **argv_) { argv.insert(&argv[1], ExtraArgs.begin(), ExtraArgs.end()); } - llvm::sys::Path Path = GetExecutablePath(argv[0], CanonicalPrefixes); + std::string Path = GetExecutablePath(argv[0], CanonicalPrefixes); IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions; { @@ -419,14 +419,13 @@ int main(int argc_, const char **argv_) { // DiagnosticOptions instance. TextDiagnosticPrinter *DiagClient = new TextDiagnosticPrinter(llvm::errs(), &*DiagOpts); - DiagClient->setPrefix(llvm::sys::path::filename(Path.str())); + DiagClient->setPrefix(llvm::sys::path::filename(Path)); IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs()); DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient); ProcessWarningOptions(Diags, *DiagOpts, /*ReportDiags=*/false); - Driver TheDriver(Path.str(), llvm::sys::getDefaultTargetTriple(), - "a.out", Diags); + Driver TheDriver(Path, llvm::sys::getDefaultTargetTriple(), "a.out", Diags); // Attempt to find the original path used to invoke the driver, to determine // the installed path. We do this manually, because we want to support that |