[clang][clang-scan-deps] Add support for extracting full module dependencies.
authorMichael Spencer <bigcheesegs@gmail.com>
Wed, 16 Oct 2019 19:28:35 +0000 (12:28 -0700)
committerMichael Spencer <bigcheesegs@gmail.com>
Wed, 30 Oct 2019 21:46:17 +0000 (14:46 -0700)
commitd8a4ef0e685cec1fc73d4953b48220b649d05b40
treec03716a6caf9dd61b8bbd337589974c860cd2a5c
parentedca9ac0de3a5c10a21ef0c725501ea35791006a
[clang][clang-scan-deps] Add support for extracting full module dependencies.

This adds experimental support for extracting a Clang module dependency graph
from a compilation database. The output format is experimental and will change.
It is currently a concatenation of JSON outputs for each compilation. Future
patches will change this to deduplicate modules between compilations.

Differential Revision: https://reviews.llvm.org/D69420
clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h [new file with mode: 0644]
clang/lib/Tooling/DependencyScanning/CMakeLists.txt
clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp [new file with mode: 0644]
clang/test/ClangScanDeps/modules-full.cpp [new file with mode: 0644]
clang/tools/clang-scan-deps/ClangScanDeps.cpp