]> granicus.if.org Git - clang/commit
[clang-scan-deps] reuse the file manager across invocations of
authorAlex Lorenz <arphaman@gmail.com>
Thu, 29 Aug 2019 22:56:38 +0000 (22:56 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Thu, 29 Aug 2019 22:56:38 +0000 (22:56 +0000)
commit6dae4ca453a79d710b66138df19b6f8a352450da
tree636a9bac44d27da96a60a7dfa5a9959d8c0851ec
parentbc562eec6767f39fa0ffac8308a9d09ec4df68d5
[clang-scan-deps] reuse the file manager across invocations of
the dependency scanner on a single worker thread

This behavior can be controlled using the new `-reuse-filemanager` clang-scan-deps
option. By default the file manager is reused.

The added test/ClangScanDeps/symlink.cpp is able to pass with
the reused filemanager after the related FileEntryRef changes
landed earlier. The test test/ClangScanDeps/subframework_header_dir_symlink.m
still fails when the file manager is reused (I run the FileCheck with not to
make it PASS). I will address this in a follow-up patch that improves
the DirectoryEntry name modelling in the FileManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@370420 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Tooling/DependencyScanning/DependencyScanningService.h
include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
include/clang/Tooling/Tooling.h
lib/Tooling/DependencyScanning/DependencyScanningService.cpp
lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
lib/Tooling/Tooling.cpp
test/ClangScanDeps/Inputs/subframework_header_dir_symlink_cdb.json [new file with mode: 0644]
test/ClangScanDeps/Inputs/symlink_cdb.json [new file with mode: 0644]
test/ClangScanDeps/subframework_header_dir_symlink.m [new file with mode: 0644]
test/ClangScanDeps/symlink.cpp [new file with mode: 0644]
tools/clang-scan-deps/ClangScanDeps.cpp