llvm-project/clang/tools
Michael Spencer d816d9bdc5 [clang][ScanDeps] Fix issue with multiple commands with the same input.
Previously, given a CompilationDatabase with two commands for the same
source file we would report that file twice with the union of the
dependencies for each command both times.

This was due to the way `ClangTool` runs actions given an input source
file (see the comment in `DependencyScanningTool.cpp`). This commit adds
a `SingleCommandCompilationDatabase` that is created with each
`CompileCommand` in the original CDB, which is then used for each
`ClangTool` invocation. This gives us a single run of
`DependencyScanningAction` per `CompileCommand`.

I looked at using `AllTUsToolExecutor` which is a parallel tool
executor, but I'm not sure it's suitable for `clang-scan-deps` as it
does a lot more sharing of state than `AllTUsToolExecutor` expects.

Differential Revision: https://reviews.llvm.org/D69643
2019-10-31 14:22:01 -07:00
..
arcmt-test ArrayRef'ized CompilerInvocation::CreateFromArgs 2019-08-27 22:13:31 +00:00
c-arcmt-test [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
c-index-test [clang][Index] Replace CodegenNameGenerator with ASTNameGenerator 2019-09-05 20:33:52 +00:00
clang-check [clang] [cmake] Use add_clang_tool() to install all tools 2019-10-04 20:28:59 +00:00
clang-diff [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
clang-extdef-mapping [clang] [cmake] Use add_clang_tool() to install all tools 2019-10-04 20:28:59 +00:00
clang-format Revert "[clang-format] Remove the dependency on frontend" 2019-10-29 10:48:03 -07:00
clang-format-vs clang-format extension: Widen the supported versions range 2019-06-13 07:07:24 +00:00
clang-fuzzer [clang-fuzzer] Update proto fuzzer example for r375453. 2019-10-22 07:51:37 +00:00
clang-import-test [clang][lldb][NFC] Encapsulate ExternalASTMerger::ImporterSource 2019-10-01 09:02:05 +00:00
clang-offload-bundler Reland "[Clang][Bundler] Error reporting improvements" 2019-10-25 19:00:06 -07:00
clang-offload-wrapper [Clang][OpenMP Offload] Move offload registration code to the wrapper 2019-10-15 18:42:47 +00:00
clang-refactor Changed FrontendActionFactory::create to return a std::unique_ptr 2019-08-29 16:38:36 +00:00
clang-rename Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
clang-scan-deps [clang][ScanDeps] Fix issue with multiple commands with the same input. 2019-10-31 14:22:01 -07:00
clang-shlib [CMake] Clang: Don't use object libraries with Xcode 2019-10-04 18:17:58 +00:00
diag-build
diagtool [diagtool] Use `operator<<(Colors)` to print out colored output. 2019-08-08 07:04:01 +00:00
driver Revert "[NFC] Rename LLVM_NO_DEAD_STRIP" 2019-10-30 14:56:20 -04:00
libclang [OPENMP50]Add support for parallel master taskloop simd directive. 2019-10-30 10:23:33 -04:00
scan-build [clang] [cmake] Add distribution install targets for remaining components 2019-10-04 05:43:20 +00:00
scan-build-py [tools] Fix python DeprecationWarning: invalid escape sequence 2019-02-11 15:03:17 +00:00
scan-view [clang] [cmake] Add distribution install targets for remaining components 2019-10-04 05:43:20 +00:00
CMakeLists.txt [Clang][OpenMP Offload] Add new tool for wrapping offload device binaries 2019-10-09 20:42:58 +00:00