[clang] cb372bd - Revert "[NFC] [C++20] [Modules] Adjust the implementation of wasDeclEmitted to make it more clear"
Chuanqi Xu via cfe-commits
cfe-commits at lists.llvm.org
Sun Aug 11 23:53:32 PDT 2024
Author: Chuanqi Xu
Date: 2024-08-12T14:50:32+08:00
New Revision: cb372bd5e789a7d5f1945b476e643d4abfd18f35
URL: https://github.com/llvm/llvm-project/commit/cb372bd5e789a7d5f1945b476e643d4abfd18f35
DIFF: https://github.com/llvm/llvm-project/commit/cb372bd5e789a7d5f1945b476e643d4abfd18f35.diff
LOG: Revert "[NFC] [C++20] [Modules] Adjust the implementation of wasDeclEmitted to make it more clear"
This reverts commit 4399f2a5ef38df381c2b65052621131890194d59.
This fails with Modules/aarch64-sme-keywords.cppm
Added:
Modified:
clang/lib/Serialization/ASTWriter.cpp
Removed:
################################################################################
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index 87ceee172c66f1..b5d487465541b8 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -5704,12 +5704,6 @@ void ASTWriter::WriteDeclAndTypes(ASTContext &Context) {
if (D->isFromASTFile())
continue;
- // Skip writing implicit declarations not owning by the current module.
- // See the implementation of PrepareWritingSpecialDecls for example.
- if (isWritingStdCXXNamedModules() && !D->getOwningModule() &&
- D->isImplicit())
- continue;
-
// In reduced BMI, skip unreached declarations.
if (!wasDeclEmitted(D))
continue;
@@ -6288,7 +6282,8 @@ bool ASTWriter::wasDeclEmitted(const Decl *D) const {
return true;
bool Emitted = DeclIDs.contains(D);
- assert((Emitted || GeneratingReducedBMI) &&
+ assert((Emitted || (!D->getOwningModule() && isWritingStdCXXNamedModules()) ||
+ GeneratingReducedBMI) &&
"The declaration within modules can only be omitted in reduced BMI.");
return Emitted;
}
More information about the cfe-commits
mailing list