Skip to content

Commit 7606f67

Browse files
authored
[clang] NFCI: Mutate HeaderSearchOptions earlier (#130823)
1 parent 900be71 commit 7606f67

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

clang/include/clang/Lex/HeaderSearchOptions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ class HeaderSearchOptions {
235235

236236
/// Whether to entirely skip writing diagnostic options.
237237
/// Primarily used to speed up deserialization during dependency scanning.
238+
/// FIXME: Consider moving these into separate `SerializationOptions` class.
238239
LLVM_PREFERRED_TYPE(bool)
239240
unsigned ModulesSkipDiagnosticOptions : 1;
240241

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4971,6 +4971,14 @@ bool CompilerInvocation::CreateFromArgsImpl(
49714971
llvm::Triple T(Res.getTargetOpts().Triple);
49724972
ParseHeaderSearchArgs(Res.getHeaderSearchOpts(), Args, Diags,
49734973
Res.getFileSystemOpts().WorkingDir);
4974+
if (Res.getFrontendOpts().GenReducedBMI ||
4975+
Res.getFrontendOpts().ProgramAction ==
4976+
frontend::GenerateReducedModuleInterface ||
4977+
Res.getFrontendOpts().ProgramAction ==
4978+
frontend::GenerateModuleInterface) {
4979+
Res.getHeaderSearchOpts().ModulesSkipDiagnosticOptions = true;
4980+
Res.getHeaderSearchOpts().ModulesSkipHeaderSearchPaths = true;
4981+
}
49744982
ParseAPINotesArgs(Res.getAPINotesOpts(), Args, Diags);
49754983

49764984
ParsePointerAuthArgs(LangOpts, Args, Diags);

clang/lib/Serialization/GeneratePCH.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,6 @@ Module *CXX20ModulesGenerator::getEmittingModule(ASTContext &Ctx) {
120120
}
121121

122122
void CXX20ModulesGenerator::HandleTranslationUnit(ASTContext &Ctx) {
123-
// FIMXE: We'd better to wrap such options to a new class ASTWriterOptions
124-
// since this is not about searching header really.
125-
HeaderSearchOptions &HSOpts =
126-
getPreprocessor().getHeaderSearchInfo().getHeaderSearchOpts();
127-
HSOpts.ModulesSkipDiagnosticOptions = true;
128-
HSOpts.ModulesSkipHeaderSearchPaths = true;
129-
130123
PCHGenerator::HandleTranslationUnit(Ctx);
131124

132125
if (!isComplete())

0 commit comments

Comments
 (0)