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.