aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/FrontendAction.cpp
diff options
context:
space:
mode:
authorJan Svoboda <jan_svoboda@apple.com>2025-07-15 12:45:09 -0700
committerGitHub <noreply@github.com>2025-07-15 12:45:09 -0700
commitc592b61fc82c79366216ae12b25b0130359b0a26 (patch)
tree66b671ae5fdaaf321a94a9378b1af3b957586060 /clang/lib/Frontend/FrontendAction.cpp
parentfccae859bc949ba390184614e07234267a734b86 (diff)
downloadllvm-c592b61fc82c79366216ae12b25b0130359b0a26.zip
llvm-c592b61fc82c79366216ae12b25b0130359b0a26.tar.gz
llvm-c592b61fc82c79366216ae12b25b0130359b0a26.tar.bz2
[clang][modules] Serialize `CodeGenOptions` (#146422)
Some `LangOptions` duplicate their `CodeGenOptions` counterparts. My understanding is that this was done solely because some infrastructure (like preprocessor initialization, serialization, module compatibility checks, etc.) were only possible/convenient for `LangOptions`. This PR implements the missing support for `CodeGenOptions`, which makes it possible to remove some duplicate `LangOptions` fields and simplify the logic. Motivated by https://github.com/llvm/llvm-project/pull/146342.
Diffstat (limited to 'clang/lib/Frontend/FrontendAction.cpp')
-rw-r--r--clang/lib/Frontend/FrontendAction.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Frontend/FrontendAction.cpp b/clang/lib/Frontend/FrontendAction.cpp
index f5996a8..1d82fc7 100644
--- a/clang/lib/Frontend/FrontendAction.cpp
+++ b/clang/lib/Frontend/FrontendAction.cpp
@@ -947,8 +947,9 @@ bool FrontendAction::BeginSourceFile(CompilerInstance &CI,
if (ASTReader::isAcceptableASTFile(
Dir->path(), FileMgr, CI.getModuleCache(),
CI.getPCHContainerReader(), CI.getLangOpts(),
- CI.getTargetOpts(), CI.getPreprocessorOpts(),
- SpecificModuleCachePath, /*RequireStrictOptionMatches=*/true)) {
+ CI.getCodeGenOpts(), CI.getTargetOpts(),
+ CI.getPreprocessorOpts(), SpecificModuleCachePath,
+ /*RequireStrictOptionMatches=*/true)) {
PPOpts.ImplicitPCHInclude = std::string(Dir->path());
Found = true;
break;