]> granicus.if.org Git - clang/commitdiff
Tooling.cpp: Don't refer to $ENV{PWD}. Use llvm::sys::fs instead.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Wed, 4 Apr 2012 13:59:36 +0000 (13:59 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Wed, 4 Apr 2012 13:59:36 +0000 (13:59 +0000)
$ENV{PWD} is not expected to be set on all hosts.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154015 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Tooling/Tooling.cpp

index 20284daaba9e0e6b67405878ede59fe79b19bee2..6c9c32d0ce51d1ce0604326119bef3e375795736 100644 (file)
@@ -24,6 +24,7 @@
 #include "clang/Frontend/FrontendAction.h"
 #include "clang/Frontend/FrontendDiagnostic.h"
 #include "clang/Frontend/TextDiagnosticPrinter.h"
+#include "llvm/Support/FileSystem.h"
 
 namespace clang {
 namespace tooling {
@@ -235,7 +236,8 @@ void ToolInvocation::addFileMappingsTo(SourceManager &Sources) {
 ClangTool::ClangTool(const CompilationDatabase &Compilations,
                      ArrayRef<std::string> SourcePaths)
     : Files((FileSystemOptions())) {
-  StringRef BaseDirectory(::getenv("PWD"));
+  llvm::SmallString<1024> BaseDirectory;
+  llvm::sys::fs::current_path(BaseDirectory);
   for (unsigned I = 0, E = SourcePaths.size(); I != E; ++I) {
     llvm::SmallString<1024> File(getAbsolutePath(
         SourcePaths[I], BaseDirectory));