[clang] 4a73c99 - [clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (#133500)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 1 12:55:20 PDT 2025
Author: Qiongsi Wu
Date: 2025-04-01T12:55:17-07:00
New Revision: 4a73c99329ed36712a6faa8e37aa895cfeac23ce
URL: https://github.com/llvm/llvm-project/commit/4a73c99329ed36712a6faa8e37aa895cfeac23ce
DIFF: https://github.com/llvm/llvm-project/commit/4a73c99329ed36712a6faa8e37aa895cfeac23ce.diff
LOG: [clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (#133500)
https://github.com/llvm/llvm-project/pull/102040/files#diff-125f472e690aa3d973bc42aa3c5d580226c5c47661551aca2889f960681aa64dR2477
added 1 bit to `RecordDecl`'s serialization format, but did not
increment its abbreviation size.
This can lead to rare cases where a record may overflow if the
`RecordDecl`'s `getArgPassingRestrictions()` returns something bigger
than 1 (see
[here](https://github.com/llvm/llvm-project/blob/b3f01a6aa45b00240cec1c64286b85d7ba87e2af/clang/lib/Serialization/ASTWriterDecl.cpp#L688)).
rdar://143763558
Added:
Modified:
clang/lib/Serialization/ASTWriterDecl.cpp
Removed:
################################################################################
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp
index a14b8cf201bba..f377c145a4204 100644
--- a/clang/lib/Serialization/ASTWriterDecl.cpp
+++ b/clang/lib/Serialization/ASTWriterDecl.cpp
@@ -2579,7 +2579,7 @@ void ASTWriter::WriteDeclAbbrevs() {
// RecordDecl
Abv->Add(BitCodeAbbrevOp(
BitCodeAbbrevOp::Fixed,
- 13)); // Packed Record Decl Bits: FlexibleArrayMember,
+ 14)); // Packed Record Decl Bits: FlexibleArrayMember,
// AnonymousStructUnion, hasObjectMember, hasVolatileMember,
// isNonTrivialToPrimitiveDefaultInitialize,
// isNonTrivialToPrimitiveCopy, isNonTrivialToPrimitiveDestroy,
More information about the cfe-commits
mailing list