diff options
author | Kousik Kumar <kousikk@google.com> | 2019-10-17 02:14:44 +0000 |
---|---|---|
committer | Kousik Kumar <kousikk@google.com> | 2019-10-17 02:14:44 +0000 |
commit | 5ab89ea40b058a1e68a38e711db3013a9a057daf (patch) | |
tree | 06ef83693d5817ef7a5b7e476ac464b0209b019d | |
parent | b18fc6c363618bd0022635bb1d48203d9a9a03dd (diff) | |
download | clang-5ab89ea40b058a1e68a38e711db3013a9a057daf.tar.gz |
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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@375074 91177308-0d34-0410-b5e6-96231b3b80d8
4 files changed, 24 insertions, 0 deletions
diff --git a/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp b/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp index f382c202f8..70c8b5a082 100644 --- a/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ b/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -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: diff --git a/test/ClangScanDeps/Inputs/non-header-dependency.json b/test/ClangScanDeps/Inputs/non-header-dependency.json new file mode 100644 index 0000000000..65ffa2c5ee --- /dev/null +++ b/test/ClangScanDeps/Inputs/non-header-dependency.json @@ -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" + } +] diff --git a/test/ClangScanDeps/Inputs/sanitize-blacklist.txt b/test/ClangScanDeps/Inputs/sanitize-blacklist.txt new file mode 100644 index 0000000000..67375d823d --- /dev/null +++ b/test/ClangScanDeps/Inputs/sanitize-blacklist.txt @@ -0,0 +1 @@ +fun:* diff --git a/test/ClangScanDeps/non-header-dependency.cpp b/test/ClangScanDeps/non-header-dependency.cpp new file mode 100644 index 0000000000..a43826375d --- /dev/null +++ b/test/ClangScanDeps/non-header-dependency.cpp @@ -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 |