@@ -70,11 +70,13 @@ class HeaderSearchOptions {
7070 struct Entry {
7171 std::string Path;
7272 frontend::IncludeDirGroup Group;
73+ LLVM_PREFERRED_TYPE (bool )
7374 unsigned IsFramework : 1 ;
7475
7576 // / IgnoreSysRoot - This is false if an absolute path should be treated
7677 // / relative to the sysroot, or true if it should always be the absolute
7778 // / path.
79+ LLVM_PREFERRED_TYPE (bool )
7880 unsigned IgnoreSysRoot : 1 ;
7981
8082 Entry (StringRef path, frontend::IncludeDirGroup group, bool isFramework,
@@ -128,10 +130,12 @@ class HeaderSearchOptions {
128130 // / module cache.
129131 // /
130132 // / Note: Only used for testing!
133+ LLVM_PREFERRED_TYPE (bool )
131134 unsigned DisableModuleHash : 1;
132135
133136 // / Implicit module maps. This option is enabld by default when
134137 // / modules is enabled.
138+ LLVM_PREFERRED_TYPE (bool )
135139 unsigned ImplicitModuleMaps : 1;
136140
137141 // / Set the 'home directory' of a module map file to the current
@@ -141,16 +145,19 @@ class HeaderSearchOptions {
141145 //
142146 // / The home directory is where we look for files named in the module map
143147 // / file.
148+ LLVM_PREFERRED_TYPE (bool )
144149 unsigned ModuleMapFileHomeIsCwd : 1;
145150
146151 // / Set the base path of a built module file to be the current working
147152 // / directory. This is useful for sharing module files across machines
148153 // / that build with different paths without having to rewrite all
149154 // / modulemap files to have working directory relative paths.
155+ LLVM_PREFERRED_TYPE (bool )
150156 unsigned ModuleFileHomeIsCwd : 1;
151157
152158 // / Also search for prebuilt implicit modules in the prebuilt module cache
153159 // / path.
160+ LLVM_PREFERRED_TYPE (bool )
154161 unsigned EnablePrebuiltImplicitModules : 1;
155162
156163 // / The interval (in seconds) between pruning operations.
@@ -185,55 +192,70 @@ class HeaderSearchOptions {
185192 std::vector<std::string> VFSOverlayFiles;
186193
187194 // / Include the compiler builtin includes.
195+ LLVM_PREFERRED_TYPE (bool )
188196 unsigned UseBuiltinIncludes : 1;
189197
190198 // / Include the system standard include search directories.
199+ LLVM_PREFERRED_TYPE (bool )
191200 unsigned UseStandardSystemIncludes : 1;
192201
193202 // / Include the system standard C++ library include search directories.
203+ LLVM_PREFERRED_TYPE (bool )
194204 unsigned UseStandardCXXIncludes : 1;
195205
196206 // / Use libc++ instead of the default libstdc++.
207+ LLVM_PREFERRED_TYPE (bool )
197208 unsigned UseLibcxx : 1;
198209
199210 // / Whether header search information should be output as for -v.
211+ LLVM_PREFERRED_TYPE (bool )
200212 unsigned Verbose : 1;
201213
202214 // / If true, skip verifying input files used by modules if the
203215 // / module was already verified during this build session (see
204216 // / \c BuildSessionTimestamp).
217+ LLVM_PREFERRED_TYPE (bool )
205218 unsigned ModulesValidateOncePerBuildSession : 1;
206219
207220 // / Whether to validate system input files when a module is loaded.
221+ LLVM_PREFERRED_TYPE (bool )
208222 unsigned ModulesValidateSystemHeaders : 1;
209223
210224 // Whether the content of input files should be hashed and used to
211225 // validate consistency.
226+ LLVM_PREFERRED_TYPE (bool )
212227 unsigned ValidateASTInputFilesContent : 1;
213228
214229 // Whether the input files from C++20 Modules should be checked.
230+ LLVM_PREFERRED_TYPE (bool )
215231 unsigned ForceCheckCXX20ModulesInputFiles : 1;
216232
217233 // / Whether the module includes debug information (-gmodules).
234+ LLVM_PREFERRED_TYPE (bool )
218235 unsigned UseDebugInfo : 1;
219236
237+ LLVM_PREFERRED_TYPE (bool )
220238 unsigned ModulesValidateDiagnosticOptions : 1;
221239
222240 // / Whether to entirely skip writing diagnostic options.
223241 // / Primarily used to speed up deserialization during dependency scanning.
242+ LLVM_PREFERRED_TYPE (bool )
224243 unsigned ModulesSkipDiagnosticOptions : 1;
225244
226245 // / Whether to entirely skip writing header search paths.
227246 // / Primarily used to speed up deserialization during dependency scanning.
247+ LLVM_PREFERRED_TYPE (bool )
228248 unsigned ModulesSkipHeaderSearchPaths : 1;
229249
250+ LLVM_PREFERRED_TYPE (bool )
230251 unsigned ModulesHashContent : 1;
231252
232253 // / Whether we should include all things that could impact the module in the
233254 // / hash.
234255 // /
235256 // / This includes things like the full header search path, and enabled
236257 // / diagnostics.
258+ LLVM_PREFERRED_TYPE (bool )
237259 unsigned ModulesStrictContextHash : 1;
238260
239261 HeaderSearchOptions (StringRef _Sysroot = " /" )
0 commit comments