clang: include/clang/DependencyScanning/DependencyScanningService.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNINGSERVICE_H
10#define LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNINGSERVICE_H
11
14#include "llvm/ADT/BitmaskEnum.h"
15#include "llvm/Support/Chrono.h"
16
19
20
21
32
33
35
36
37
39
40
41
43
44
45
47};
48
49#define DSS_LAST_BITMASK_ENUM(Id) \
50 LLVM_MARK_AS_BITMASK_ENUM(Id), All = llvm::NextPowerOf2(Id) - 1
51
54
55
57
58
60
61
63
64
66
67
69
71
72
73
74
76};
77
78#undef DSS_LAST_BITMASK_ENUM
79
80
81
83public:
87 bool EagerLoadModules = false, bool TraceVFS = false,
88 std::time_t BuildSessionTimestamp =
89 llvm::sys::toTimeT(std::chrono::system_clock::now()));
90
92
94
96
98
100
102 return SharedCache;
103 }
104
106
108
109private:
112
114
115 const bool EagerLoadModules;
116
117 const bool TraceVFS;
118
120
122
123 std::time_t BuildSessionTimestamp;
124};
125
126}
127}
128
129#endif
ModuleCacheEntries & getModuleCacheEntries()
Definition DependencyScanningService.h:105
std::time_t getBuildSessionTimestamp() const
Definition DependencyScanningService.h:107
DependencyScanningService(ScanningMode Mode, ScanningOutputFormat Format, ScanningOptimizations OptimizeArgs=ScanningOptimizations::Default, bool EagerLoadModules=false, bool TraceVFS=false, std::time_t BuildSessionTimestamp=llvm::sys::toTimeT(std::chrono::system_clock::now()))
bool shouldTraceVFS() const
Definition DependencyScanningService.h:99
ScanningOptimizations getOptimizeArgs() const
Definition DependencyScanningService.h:95
DependencyScanningFilesystemSharedCache & getSharedCache()
Definition DependencyScanningService.h:101
ScanningMode getMode() const
Definition DependencyScanningService.h:91
ScanningOutputFormat getFormat() const
Definition DependencyScanningService.h:93
bool shouldEagerLoadModules() const
Definition DependencyScanningService.h:97
ScanningOptimizations
Definition DependencyScanningService.h:52
@ DSS_LAST_BITMASK_ENUM
Definition DependencyScanningService.h:70
@ VFS
Remove unused -ivfsoverlay arguments.
Definition DependencyScanningService.h:62
@ IgnoreCWD
Ignore the compiler's working directory if it is safe.
Definition DependencyScanningService.h:68
@ None
Definition DependencyScanningService.h:53
@ Default
Definition DependencyScanningService.h:75
@ SystemWarnings
Remove warnings from system modules.
Definition DependencyScanningService.h:59
@ Macros
Canonicalize -D and -U options.
Definition DependencyScanningService.h:65
@ HeaderSearch
Remove unused header search paths including header maps.
Definition DependencyScanningService.h:56
ScanningOutputFormat
The format that is output by the dependency scanner.
Definition DependencyScanningService.h:34
@ Make
This is the Makefile compatible dep format.
Definition DependencyScanningService.h:38
@ Full
This outputs the full clang module dependency graph suitable for use for explicitly building modules.
Definition DependencyScanningService.h:42
@ P1689
This outputs the dependency graph for standard c++ modules in P1689R5 format.
Definition DependencyScanningService.h:46
ScanningMode
The mode in which the dependency scanner will operate to find the dependencies.
Definition DependencyScanningService.h:22
@ DependencyDirectivesScan
This mode is used to compute the dependencies by running the preprocessor with special kind of lexing...
Definition DependencyScanningService.h:30
@ CanonicalPreprocessing
This mode is used to compute the dependencies by running the preprocessor over the source files.
Definition DependencyScanningService.h:25
The JSON file list parser is used to communicate input to InstallAPI.