sammccall accepted this revision. sammccall added a comment. A little sad it's not possible to just 64-bit align the typeoffsets array, but 32 seems to be the magic number.
================ Comment at: clang/include/clang/Serialization/ASTBitCodes.h:225 + /// Offset in the AST file. Split 64-bit integer into low/high parts + /// to keep structure alignment 32-bit and don't have padding gap. + /// This structure is serialized "as is" to the AST file and undefined ---------------- may be worth mentioning that blobs in bitstream are specifically 32-bit aligned as part of the motivation here. ================ Comment at: clang/include/clang/Serialization/ASTBitCodes.h:228 + /// value in the padding affects AST hash. + uint32_t BitOffsetLow = 0; + uint32_t BitOffsetHigh = 0; ---------------- consider making this a class and these members private ================ Comment at: clang/include/clang/Serialization/ASTBitCodes.h:256 + /// Helper structure for storing type offsets. + struct TypeOffset { + /// Offset in the AST file. Split 64-bit integer into low/high parts ---------------- Alternatively you could factor this as a class UnderalignedInt64, use that for type-offsets, and embed it in DeclOffset... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76594/new/ https://reviews.llvm.org/D76594 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits