================
@@ -79,6 +79,24 @@ struct CIRRecordLowering final {
cir::ArrayType::get(cirGenTypes.convertTypeForMem(field->getType()),
0),
cir::RecordMemberKind::BitField);
}
+
+ /// A member recording that declared types reach \p excessInBits past where
+ /// it sits. An access unit's width is the compiler's choice, so it can be
+ /// narrower than the types declared in it, and the ABI reads that reach to
+ /// tell the bytes after the unit from padding. A zero-length array holds
+ /// no storage, and `isZeroWidthBitField` answers true for it as well as for
+ /// a zero-width bit-field, so the layout walks pass over both.
+ ///
+ /// The bits counted are those past the member, not past the unit: a
----------------
adams381 wrote:
I've rewritten the entire comment block to try and be more clear.
https://github.com/llvm/llvm-project/pull/220069
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits