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

Reply via email to