@@ -70,11 +70,13 @@ class HeaderSearchOptions {
70
70
struct Entry {
71
71
std::string Path;
72
72
frontend::IncludeDirGroup Group;
73
+ LLVM_PREFERRED_TYPE (bool )
73
74
unsigned IsFramework : 1 ;
74
75
75
76
// / IgnoreSysRoot - This is false if an absolute path should be treated
76
77
// / relative to the sysroot, or true if it should always be the absolute
77
78
// / path.
79
+ LLVM_PREFERRED_TYPE (bool )
78
80
unsigned IgnoreSysRoot : 1 ;
79
81
80
82
Entry (StringRef path, frontend::IncludeDirGroup group, bool isFramework,
@@ -128,10 +130,12 @@ class HeaderSearchOptions {
128
130
// / module cache.
129
131
// /
130
132
// / Note: Only used for testing!
133
+ LLVM_PREFERRED_TYPE (bool )
131
134
unsigned DisableModuleHash : 1;
132
135
133
136
// / Implicit module maps. This option is enabld by default when
134
137
// / modules is enabled.
138
+ LLVM_PREFERRED_TYPE (bool )
135
139
unsigned ImplicitModuleMaps : 1;
136
140
137
141
// / Set the 'home directory' of a module map file to the current
@@ -141,16 +145,19 @@ class HeaderSearchOptions {
141
145
//
142
146
// / The home directory is where we look for files named in the module map
143
147
// / file.
148
+ LLVM_PREFERRED_TYPE (bool )
144
149
unsigned ModuleMapFileHomeIsCwd : 1;
145
150
146
151
// / Set the base path of a built module file to be the current working
147
152
// / directory. This is useful for sharing module files across machines
148
153
// / that build with different paths without having to rewrite all
149
154
// / modulemap files to have working directory relative paths.
155
+ LLVM_PREFERRED_TYPE (bool )
150
156
unsigned ModuleFileHomeIsCwd : 1;
151
157
152
158
// / Also search for prebuilt implicit modules in the prebuilt module cache
153
159
// / path.
160
+ LLVM_PREFERRED_TYPE (bool )
154
161
unsigned EnablePrebuiltImplicitModules : 1;
155
162
156
163
// / The interval (in seconds) between pruning operations.
@@ -185,55 +192,70 @@ class HeaderSearchOptions {
185
192
std::vector<std::string> VFSOverlayFiles;
186
193
187
194
// / Include the compiler builtin includes.
195
+ LLVM_PREFERRED_TYPE (bool )
188
196
unsigned UseBuiltinIncludes : 1;
189
197
190
198
// / Include the system standard include search directories.
199
+ LLVM_PREFERRED_TYPE (bool )
191
200
unsigned UseStandardSystemIncludes : 1;
192
201
193
202
// / Include the system standard C++ library include search directories.
203
+ LLVM_PREFERRED_TYPE (bool )
194
204
unsigned UseStandardCXXIncludes : 1;
195
205
196
206
// / Use libc++ instead of the default libstdc++.
207
+ LLVM_PREFERRED_TYPE (bool )
197
208
unsigned UseLibcxx : 1;
198
209
199
210
// / Whether header search information should be output as for -v.
211
+ LLVM_PREFERRED_TYPE (bool )
200
212
unsigned Verbose : 1;
201
213
202
214
// / If true, skip verifying input files used by modules if the
203
215
// / module was already verified during this build session (see
204
216
// / \c BuildSessionTimestamp).
217
+ LLVM_PREFERRED_TYPE (bool )
205
218
unsigned ModulesValidateOncePerBuildSession : 1;
206
219
207
220
// / Whether to validate system input files when a module is loaded.
221
+ LLVM_PREFERRED_TYPE (bool )
208
222
unsigned ModulesValidateSystemHeaders : 1;
209
223
210
224
// Whether the content of input files should be hashed and used to
211
225
// validate consistency.
226
+ LLVM_PREFERRED_TYPE (bool )
212
227
unsigned ValidateASTInputFilesContent : 1;
213
228
214
229
// Whether the input files from C++20 Modules should be checked.
230
+ LLVM_PREFERRED_TYPE (bool )
215
231
unsigned ForceCheckCXX20ModulesInputFiles : 1;
216
232
217
233
// / Whether the module includes debug information (-gmodules).
234
+ LLVM_PREFERRED_TYPE (bool )
218
235
unsigned UseDebugInfo : 1;
219
236
237
+ LLVM_PREFERRED_TYPE (bool )
220
238
unsigned ModulesValidateDiagnosticOptions : 1;
221
239
222
240
// / Whether to entirely skip writing diagnostic options.
223
241
// / Primarily used to speed up deserialization during dependency scanning.
242
+ LLVM_PREFERRED_TYPE (bool )
224
243
unsigned ModulesSkipDiagnosticOptions : 1;
225
244
226
245
// / Whether to entirely skip writing header search paths.
227
246
// / Primarily used to speed up deserialization during dependency scanning.
247
+ LLVM_PREFERRED_TYPE (bool )
228
248
unsigned ModulesSkipHeaderSearchPaths : 1;
229
249
250
+ LLVM_PREFERRED_TYPE (bool )
230
251
unsigned ModulesHashContent : 1;
231
252
232
253
// / Whether we should include all things that could impact the module in the
233
254
// / hash.
234
255
// /
235
256
// / This includes things like the full header search path, and enabled
236
257
// / diagnostics.
258
+ LLVM_PREFERRED_TYPE (bool )
237
259
unsigned ModulesStrictContextHash : 1;
238
260
239
261
HeaderSearchOptions (StringRef _Sysroot = " /" )
0 commit comments