Mordante marked 6 inline comments as done.
Mordante added a comment.

Thanks for the feedback!



================
Comment at: clang/include/clang/AST/Decl.h:903
     /// declared.
-    unsigned ScopeDepthOrObjCQuals : NumScopeDepthOrObjCQualsBits;
+    unsigned ScopeDepthOrObjCQuals : IQ::NumScopeDepthOrObjCQualsBits;
 
----------------
rsmith wrote:
> rsmith wrote:
> > These bitfields are assumed to fit into an `unsigned`, and this can no 
> > longer be verified locally (changes to the `.td` file can break this 
> > assumption). Please add a `static_assert(sizeof(ParmVarDeclBitfields) <= 
> > sizeof(unsigned), "...")` next to the `union` below (and likewise for 
> > `NonParmVarDeclBitfields`).
> I think `IQ` is too terse. We don't need a really short name for this; how 
> about `ImpLimits::` or similar?
I feared ImpLimits would be considered too verbose, but I'll change it in the 
next revision.


================
Comment at: clang/include/clang/AST/Decl.h:903
     /// declared.
-    unsigned ScopeDepthOrObjCQuals : NumScopeDepthOrObjCQualsBits;
+    unsigned ScopeDepthOrObjCQuals : IQ::NumScopeDepthOrObjCQualsBits;
 
----------------
Mordante wrote:
> rsmith wrote:
> > rsmith wrote:
> > > These bitfields are assumed to fit into an `unsigned`, and this can no 
> > > longer be verified locally (changes to the `.td` file can break this 
> > > assumption). Please add a `static_assert(sizeof(ParmVarDeclBitfields) <= 
> > > sizeof(unsigned), "...")` next to the `union` below (and likewise for 
> > > `NonParmVarDeclBitfields`).
> > I think `IQ` is too terse. We don't need a really short name for this; how 
> > about `ImpLimits::` or similar?
> I feared ImpLimits would be considered too verbose, but I'll change it in the 
> next revision.
I'm not too fond to use the `static_assert(sizeof(ParamVarDeclBitFields <= 
sizeof(unsigned), "...");` here and use a hardcoded value and a  
`static_assert` in other places. If it's important to see the size of bit-field 
directly I prefer the style you suggested later: "Please keep the hard-coded 15 
here and add an adjacent `static_assert(IQ::BitFieldBits <= 15, "...")` 
instead, or use some similar strategy so that the bit-field allocation and 
layout remains locally obvious."

I'll give it some more thoughts before updating the proposal.


================
Comment at: clang/include/clang/Basic/ImplementationQuantities.td:107-111
+  bit isBitLimit = 0;
+  bit isValueLimit = 0;
+  bit isCompilerFlagLimit = 0;
+  bit isDescriptionLimit = 0;
+  bit hasRemark = 0;
----------------
rsmith wrote:
> Switching between upper- and lower-case names for these fields seems 
> surprising. Please pick a consistent capitalization scheme.
This style is used in other .td files. But I'll switch to capitalize the is/has 
in the next revision. 


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

https://reviews.llvm.org/D72053



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

Reply via email to