aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/Lex/HeaderSearchOptions.h1
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp8
-rw-r--r--clang/lib/Serialization/GeneratePCH.cpp7
3 files changed, 9 insertions, 7 deletions
diff --git a/clang/include/clang/Lex/HeaderSearchOptions.h b/clang/include/clang/Lex/HeaderSearchOptions.h
index 7a16926..68308f5 100644
--- a/clang/include/clang/Lex/HeaderSearchOptions.h
+++ b/clang/include/clang/Lex/HeaderSearchOptions.h
@@ -235,6 +235,7 @@ public:
/// Whether to entirely skip writing diagnostic options.
/// Primarily used to speed up deserialization during dependency scanning.
+ /// FIXME: Consider moving these into separate `SerializationOptions` class.
LLVM_PREFERRED_TYPE(bool)
unsigned ModulesSkipDiagnosticOptions : 1;
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index b2d8d12..756ae10 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -4971,6 +4971,14 @@ bool CompilerInvocation::CreateFromArgsImpl(
llvm::Triple T(Res.getTargetOpts().Triple);
ParseHeaderSearchArgs(Res.getHeaderSearchOpts(), Args, Diags,
Res.getFileSystemOpts().WorkingDir);
+ if (Res.getFrontendOpts().GenReducedBMI ||
+ Res.getFrontendOpts().ProgramAction ==
+ frontend::GenerateReducedModuleInterface ||
+ Res.getFrontendOpts().ProgramAction ==
+ frontend::GenerateModuleInterface) {
+ Res.getHeaderSearchOpts().ModulesSkipDiagnosticOptions = true;
+ Res.getHeaderSearchOpts().ModulesSkipHeaderSearchPaths = true;
+ }
ParseAPINotesArgs(Res.getAPINotesOpts(), Args, Diags);
ParsePointerAuthArgs(LangOpts, Args, Diags);
diff --git a/clang/lib/Serialization/GeneratePCH.cpp b/clang/lib/Serialization/GeneratePCH.cpp
index 46ab1be..77317f0 100644
--- a/clang/lib/Serialization/GeneratePCH.cpp
+++ b/clang/lib/Serialization/GeneratePCH.cpp
@@ -120,13 +120,6 @@ Module *CXX20ModulesGenerator::getEmittingModule(ASTContext &Ctx) {
}
void CXX20ModulesGenerator::HandleTranslationUnit(ASTContext &Ctx) {
- // FIMXE: We'd better to wrap such options to a new class ASTWriterOptions
- // since this is not about searching header really.
- HeaderSearchOptions &HSOpts =
- getPreprocessor().getHeaderSearchInfo().getHeaderSearchOpts();
- HSOpts.ModulesSkipDiagnosticOptions = true;
- HSOpts.ModulesSkipHeaderSearchPaths = true;
-
PCHGenerator::HandleTranslationUnit(Ctx);
if (!isComplete())