[PATCH] D88790: [libTooling] Recognize sccache as a compiler wrapper in compilation database commands

Nathan Ridge via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Oct 3 22:08:31 PDT 2020


nridge created this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
nridge requested review of this revision.

sccache is a compiler caching tool similar to ccache.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D88790

Files:
  clang/lib/Tooling/JSONCompilationDatabase.cpp
  clang/unittests/Tooling/CompilationDatabaseTest.cpp


Index: clang/unittests/Tooling/CompilationDatabaseTest.cpp
===================================================================
--- clang/unittests/Tooling/CompilationDatabaseTest.cpp
+++ clang/unittests/Tooling/CompilationDatabaseTest.cpp
@@ -383,6 +383,7 @@
   std::vector<std::pair<std::string, std::string>> Cases = {
       {"distcc gcc foo.c", "gcc foo.c"},
       {"gomacc clang++ foo.c", "clang++ foo.c"},
+      {"sccache clang++ foo.c", "clang++ foo.c"},
       {"ccache gcc foo.c", "gcc foo.c"},
       {"ccache.exe gcc foo.c", "gcc foo.c"},
       {"ccache g++.exe foo.c", "g++.exe foo.c"},
Index: clang/lib/Tooling/JSONCompilationDatabase.cpp
===================================================================
--- clang/lib/Tooling/JSONCompilationDatabase.cpp
+++ clang/lib/Tooling/JSONCompilationDatabase.cpp
@@ -272,7 +272,8 @@
     return false;
   StringRef Wrapper =
       stripExecutableExtension(llvm::sys::path::filename(Args.front()));
-  if (Wrapper == "distcc" || Wrapper == "gomacc" || Wrapper == "ccache") {
+  if (Wrapper == "distcc" || Wrapper == "gomacc" || Wrapper == "ccache" ||
+      Wrapper == "sccache") {
     // Most of these wrappers support being invoked 3 ways:
     // `distcc g++ file.c` This is the mode we're trying to match.
     //                     We need to drop `distcc`.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88790.296020.patch
Type: text/x-patch
Size: 1325 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201004/36ea5906/attachment.bin>


More information about the cfe-commits mailing list