================
@@ -76,6 +80,43 @@ class VoidType : public Type {
   static bool classof(const Type *T) { return T->getKind() == TypeKind::Void; }
 };
 
+class ComplexType : public Type {
+public:
+  ComplexType(const Type *ElementType, uint64_t SizeInBits, Align Alignment)
+      : Type(TypeKind::Complex, TypeSize::getFixed(SizeInBits), Alignment),
+        ElementType(ElementType) {}
+
+  const Type *getElementType() const { return ElementType; }
+
+  static bool classof(const Type *T) {
+    return T->getKind() == TypeKind::Complex;
+  }
+
+private:
+  const Type *ElementType;
+};
+
+class MemberPointerType : public Type {
+public:
+  MemberPointerType(bool IsFunctionPointer, bool Has64BitPointers,
----------------
nikic wrote:

I feel like Has64BitPointers doesn't belong on MemberPointerType, it's a 
property of the target / ABIInfo.

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

Reply via email to