r336910 - [Tooling] Get working directory properly without assuming real file system.

Eric Liu via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 12 07:54:25 PDT 2018


Author: ioeric
Date: Thu Jul 12 07:54:25 2018
New Revision: 336910

URL: http://llvm.org/viewvc/llvm-project?rev=336910&view=rev
Log:
[Tooling] Get working directory properly without assuming real file system.

Modified:
    cfe/trunk/lib/Tooling/Tooling.cpp

Modified: cfe/trunk/lib/Tooling/Tooling.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Tooling.cpp?rev=336910&r1=336909&r2=336910&view=diff
==============================================================================
--- cfe/trunk/lib/Tooling/Tooling.cpp (original)
+++ cfe/trunk/lib/Tooling/Tooling.cpp Thu Jul 12 07:54:25 2018
@@ -411,10 +411,14 @@ int ClangTool::run(ToolAction *Action) {
   // This just needs to be some symbol in the binary.
   static int StaticSymbol;
 
-  llvm::SmallString<128> InitialDirectory;
-  if (std::error_code EC = llvm::sys::fs::current_path(InitialDirectory))
+  std::string InitialDirectory;
+  if (llvm::ErrorOr<std::string> CWD =
+          OverlayFileSystem->getCurrentWorkingDirectory()) {
+    InitialDirectory = std::move(*CWD);
+  } else {
     llvm::report_fatal_error("Cannot detect current path: " +
-                             Twine(EC.message()));
+                             Twine(CWD.getError().message()));
+  }
 
   // First insert all absolute paths into the in-memory VFS. These are global
   // for all compile commands.




More information about the cfe-commits mailing list