[PATCH] D50631: [AST] Stuff more data into FunctionTypeBitfields

Bruno Ricci via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 13 06:16:52 PDT 2018


riccibruno added inline comments.


================
Comment at: include/clang/AST/Type.h:1530
+    /// The number of types in the exception spec, if any.
+    unsigned NumExceptions : 9;
+
----------------
erichkeane wrote:
> IMO (and @rsmith should respond here instead), if we were looking to steal bits from anywhere, this would be it.  Exception-specifications that use types ares are deprecated in the language and I'm not sure anyone ever used them anyway.
Yes this seems a good idea. We could steal 2 bits (or more) from
here to restore the 14 bits in NumParams. I can't imagine that
someone will miss not being able to specify > 512 types
in an exception specification.


================
Comment at: lib/AST/Type.cpp:2863
   auto *argSlot = reinterpret_cast<QualType *>(this+1);
-  for (unsigned i = 0; i != NumParams; ++i) {
+  for (unsigned i = 0, N = getNumParams(); i != N; ++i) {
     if (params[i]->isDependentType())
----------------
erichkeane wrote:
> I would be unbelievably surprised if this change is worth-while.  I can't see a situation where this getNumParams call doesn't get inlined.
It was just for consistency with the other changes,
but perhaps it do not belongs to this patch.


Repository:
  rC Clang

https://reviews.llvm.org/D50631





More information about the cfe-commits mailing list