aaron.ballman added inline comments.

================
Comment at: clang/include/clang/AST/Stmt.h:596-597
 
-    // These don't need to be particularly wide, because they're
-    // strictly limited by the forms of expressions we permit.
-    unsigned NumSubExprs : 8;
-    unsigned ResultIndex : 32 - 8 - NumExprBits;
+    unsigned NumSubExprs : 16;
+    unsigned ResultIndex : 16;
   };
----------------
dblaikie wrote:
> Could/should we add some error checking in the ctor to assert that we don't 
> overflow these longer values/just hit the bug later on?
> 
> (& could we use `unsigned short` here rather than bitfields?)
We've already got them packed in with other bit-fields from the expression 
bits, so I think it's reasonable to continue the pattern of using bit-fields 
(that way we don't accidentally end up with padding between the unnamed bits at 
the start and the named bits in this object).

I think adding some assertions would not be a bad idea as a follow-up.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154784/new/

https://reviews.llvm.org/D154784

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to