================
@@ -8054,6 +8054,41 @@ class DependentBitIntType final : public Type, public 
llvm::FoldingSetNode {
   }
 };
 
+class PredefinedSugarType final : public Type {
+public:
+  enum Kind { SizeT, SignedSizeT, PtrdiffT };
+  friend class ASTContext;
+
+private:
+  Kind K;
+  QualType Underlying;
----------------
mizvekov wrote:

1) I don't think you need to store an Underlying type, as that is going to be 
canonical for the applications we have. If we later come up with an application 
where that's not the case, we can always add it back, preferably by tail 
allocating it.

2) You can store Kind in the freespace of the type bit fields. See 
TypedefTypeBitfields and friends for an example.

https://github.com/llvm/llvm-project/pull/143653
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to