[clang] Write original source langaue when writing and reading AST (PR #208115)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 7 17:19:18 PDT 2026
https://github.com/Ariel-Burton updated https://github.com/llvm/llvm-project/pull/208115
>From bdc5f3f6030bbd3c4bcaa2e20152c7cb024ab715 Mon Sep 17 00:00:00 2001
From: Ariel Burton <ariel.burton at ibm.com>
Date: Tue, 7 Jul 2026 17:47:53 -0500
Subject: [PATCH] Write original source langaue when writing and reading AST
FAIL: Clang :: Frontend/ast-main.c
FAIL: Clang :: Frontend/ast-main.cpp
were failing on z/OS; this change fixes these lit failures.
---
clang/lib/Serialization/ASTReader.cpp | 1 +
clang/lib/Serialization/ASTWriter.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index b01b18fe3e0ec..bc871d2ccf960 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/lib/Serialization/ASTReader.cpp
@@ -6660,6 +6660,7 @@ bool ASTReader::ParseLanguageOptions(const RecordData &Record,
bool AllowCompatibleDifferences) {
LangOptions LangOpts;
unsigned Idx = 0;
+ LangOpts.LangStd = static_cast<LangStandard::Kind>(Record[Idx++]);
#define LANGOPT(Name, Bits, Default, Compatibility, Description) \
LangOpts.Name = Record[Idx++];
#define ENUM_LANGOPT(Name, Type, Bits, Default, Compatibility, Description) \
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index ecf935e3b3548..71f53df810c78 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -1608,6 +1608,7 @@ void ASTWriter::WriteControlBlock(Preprocessor &PP, StringRef isysroot) {
// Language options.
Record.clear();
const LangOptions &LangOpts = PP.getLangOpts();
+ Record.push_back(static_cast<unsigned>(LangOpts.LangStd));
const uint64_t LanguageOptionValues[] = {
#define LANGOPT(Name, Bits, Default, Compatibility, Description) LangOpts.Name,
#define ENUM_LANGOPT(Name, Type, Bits, Default, Compatibility, Description) \
More information about the cfe-commits
mailing list