summaryrefslogtreecommitdiff
path: root/tools/driver/driver.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-26 05:03:40 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-26 05:03:40 +0000
commitac1db6b2bde50e9a0f3846243f654f6c13682725 (patch)
tree63876607cd633b9a02b2ddda3b39754d9f400269 /tools/driver/driver.cpp
parent48955f8119261c47cac564d1b6976c8f6441800a (diff)
downloadclang-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.cpp13
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