Implemented serialization for VectorType.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43417 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2007-10-27 19:05:09 +00:00
Родитель a4cb4525cf
Коммит 71ac846a4e
2 изменённых файлов: 17 добавлений и 0 удалений

Просмотреть файл

@ -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;
}

Просмотреть файл

@ -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