[clang] Write original source langaue when writing and reading AST (PR #208115)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 7 15:55:48 PDT 2026
https://github.com/Ariel-Burton created https://github.com/llvm/llvm-project/pull/208115
FAIL: Clang :: Frontend/ast-main.c
FAIL: Clang :: Frontend/ast-main.cpp
were failing on z/OS; this change fixes these lit failures.
>From 64f418283eb074b1bfec9ae2983748a31d989702 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 74a7b51368c28..eb525cda76659 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 074b0fccdb65d..e1feb7428a8a5 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -1621,6 +1621,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));
#define LANGOPT(Name, Bits, Default, Compatibility, Description) \
Record.push_back(LangOpts.Name);
#define ENUM_LANGOPT(Name, Type, Bits, Default, Compatibility, Description) \
More information about the cfe-commits
mailing list