mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 11:56:38 +00:00
[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](b3f01a6aa4/clang/lib/Serialization/ASTWriterDecl.cpp (L688)
)).
rdar://143763558
This commit is contained in:
parent
23fb048ce3
commit
4a73c99329
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user