Author: kousikk
Date: Wed Oct 16 19:14:44 2019
New Revision: 375074

URL: http://llvm.org/viewvc/llvm-project?rev=375074&view=rev
Log:
Include sanitize blacklist and other extra deps as part of scan-deps output

Summary:
Clang's -M mode includes these extra dependencies in its output and 
clang-scan-deps
should have equivalent behavior, so adding these extradeps to output just like
how its being done for ".d" file generation mode.

Reviewers: arphaman, dexonsmith, Bigcheese, jkorous

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D69017

Added:
    cfe/trunk/test/ClangScanDeps/Inputs/non-header-dependency.json
    cfe/trunk/test/ClangScanDeps/Inputs/sanitize-blacklist.txt
    cfe/trunk/test/ClangScanDeps/non-header-dependency.cpp
Modified:
    cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp

Modified: cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp?rev=375074&r1=375073&r2=375074&view=diff
==============================================================================
--- cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp 
(original)
+++ cfe/trunk/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp Wed 
Oct 16 19:14:44 2019
@@ -36,6 +36,8 @@ public:
       llvm::sys::path::remove_dots(CanonPath, /*remove_dot_dot=*/true);
       C.handleFileDependency(*Opts, CanonPath);
     }
+    for (const auto& ExtraDep : Opts->ExtraDeps)
+      C.handleFileDependency(*Opts, ExtraDep);
   }
 
 private:

Added: cfe/trunk/test/ClangScanDeps/Inputs/non-header-dependency.json
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ClangScanDeps/Inputs/non-header-dependency.json?rev=375074&view=auto
==============================================================================
--- cfe/trunk/test/ClangScanDeps/Inputs/non-header-dependency.json (added)
+++ cfe/trunk/test/ClangScanDeps/Inputs/non-header-dependency.json Wed Oct 16 
19:14:44 2019
@@ -0,0 +1,7 @@
+[
+    {
+      "directory": "DIR",
+      "command": "clang -E DIR/non-header-dependency_input.cpp 
-fsanitize=bounds -fsanitize-blacklist=DIR/Inputs/sanitize-blacklist.txt",
+      "file": "DIR/non-header-dependency_input.cpp"
+    }
+]

Added: cfe/trunk/test/ClangScanDeps/Inputs/sanitize-blacklist.txt
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ClangScanDeps/Inputs/sanitize-blacklist.txt?rev=375074&view=auto
==============================================================================
--- cfe/trunk/test/ClangScanDeps/Inputs/sanitize-blacklist.txt (added)
+++ cfe/trunk/test/ClangScanDeps/Inputs/sanitize-blacklist.txt Wed Oct 16 
19:14:44 2019
@@ -0,0 +1 @@
+fun:*

Added: cfe/trunk/test/ClangScanDeps/non-header-dependency.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ClangScanDeps/non-header-dependency.cpp?rev=375074&view=auto
==============================================================================
--- cfe/trunk/test/ClangScanDeps/non-header-dependency.cpp (added)
+++ cfe/trunk/test/ClangScanDeps/non-header-dependency.cpp Wed Oct 16 19:14:44 
2019
@@ -0,0 +1,14 @@
+// RUN: rm -rf %t.dir
+// RUN: rm -rf %t.cdb
+// RUN: mkdir -p %t.dir
+// RUN: cp %s %t.dir/non-header-dependency_input.cpp
+// RUN: mkdir %t.dir/Inputs
+// RUN: cp %S/Inputs/sanitize-blacklist.txt 
%t.dir/Inputs/sanitize-blacklist.txt
+// RUN: sed -e "s|DIR|%/t.dir|g" %S/Inputs/non-header-dependency.json > %t.cdb
+//
+// RUN: clang-scan-deps -compilation-database %t.cdb -j 1 | FileCheck %s
+
+#define FOO "foo"
+
+// CHECK: Inputs{{/|\\}}sanitize-blacklist.txt
+// CHECK-NEXT: non-header-dependency_input.cpp


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to