]> granicus.if.org Git - clang/commitdiff
Implemented serialization for VectorType.
authorTed Kremenek <kremenek@apple.com>
Sat, 27 Oct 2007 19:05:09 +0000 (19:05 +0000)
committerTed Kremenek <kremenek@apple.com>
Sat, 27 Oct 2007 19:05:09 +0000 (19:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43417 91177308-0d34-0410-b5e6-96231b3b80d8

AST/TypeSerialization.cpp
include/clang/AST/Type.h

index 02b9f8803b4ac46ec5bb56db56de2650fd3b640a..0ffdb99f83f420ce2ebf0146564192ab78bab90c 100644 (file)
@@ -139,3 +139,17 @@ ConstantArrayType* ConstantArrayType::Materialize(llvm::Deserializer& D) {
 
   return T;
 }
+
+void VectorType::Emit(llvm::Serializer& S) const {
+  EmitTypeInternal(S);
+  S.Emit(ElementType);
+  S.EmitInt(NumElements);
+}
+
+VectorType* VectorType::Materialize(llvm::Deserializer& D) {
+  VectorType* T = new VectorType(QualType(),0,QualType());
+  T->ReadTypeInternal(D);
+  D.Read(T->ElementType);
+  T->NumElements = D.ReadInt();
+  return T;
+}
index b3832019cac32647c8c8a628020d76d49396e638..cc4d544f524b17908ac879744331f3e18953717a 100644 (file)
@@ -625,6 +625,9 @@ public:
     return T->getTypeClass() == Vector || T->getTypeClass() == OCUVector; 
   }
   static bool classof(const VectorType *) { return true; }
+  
+  void Emit(llvm::Serializer& S) const;
+  static VectorType* Materialize(llvm::Deserializer& D);
 };
 
 /// OCUVectorType - Extended vector type. This type is created using