summaryrefslogtreecommitdiffstats
path: root/clang/lib/Tooling/Tooling.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-08-10 01:40:10 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-08-10 01:40:10 +0000
commitc7367ffdab078477e97e9d3ba5d69e818e0b41f1 (patch)
tree19de96081d47dcd59ac4d35f1bbb67d7b5baabc5 /clang/lib/Tooling/Tooling.cpp
parent7964ab5a434ab38b188bb315437150858fa57026 (diff)
downloadbcm5719-llvm-c7367ffdab078477e97e9d3ba5d69e818e0b41f1.tar.gz
bcm5719-llvm-c7367ffdab078477e97e9d3ba5d69e818e0b41f1.zip
Simplify now that llvm::sys::current_path checks $PWD.
llvm-svn: 188128
Diffstat (limited to 'clang/lib/Tooling/Tooling.cpp')
-rw-r--r--clang/lib/Tooling/Tooling.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp
index cd4fbc6b5d5..c5fec683844 100644
--- a/clang/lib/Tooling/Tooling.cpp
+++ b/clang/lib/Tooling/Tooling.cpp
@@ -124,23 +124,16 @@ bool runToolOnCodeWithArgs(clang::FrontendAction *ToolAction, const Twine &Code,
}
std::string getAbsolutePath(StringRef File) {
- SmallString<1024> BaseDirectory;
- if (const char *PWD = ::getenv("PWD"))
- BaseDirectory = PWD;
- else
- llvm::sys::fs::current_path(BaseDirectory);
- SmallString<1024> PathStorage;
- if (llvm::sys::path::is_absolute(File)) {
- llvm::sys::path::native(File, PathStorage);
- return PathStorage.str();
- }
StringRef RelativePath(File);
// FIXME: Should '.\\' be accepted on Win32?
if (RelativePath.startswith("./")) {
RelativePath = RelativePath.substr(strlen("./"));
}
- SmallString<1024> AbsolutePath(BaseDirectory);
- llvm::sys::path::append(AbsolutePath, RelativePath);
+
+ SmallString<1024> AbsolutePath = RelativePath;
+ llvm::error_code EC = llvm::sys::fs::make_absolute(AbsolutePath);
+ assert(!EC);
+ SmallString<1024> PathStorage;
llvm::sys::path::native(Twine(AbsolutePath), PathStorage);
return PathStorage.str();
}
OpenPOWER on IntegriCloud