Implemented prototype serialization of pointers, including support

for backpatching.

Added Deserialize::ReadVal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43319 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek
2007-10-25 00:10:21 +00:00
parent 8eadd5a6db
commit fe2a012338
5 changed files with 139 additions and 33 deletions

View File

@ -24,14 +24,14 @@ template <typename T> struct SerializeTrait;
#define SERIALIZE_INT_TRAIT(TYPE)\
template <> struct SerializeTrait<TYPE> {\
static void Emit(Serializer& S, TYPE X);\
static void Read(Deserializer& S, TYPE& X); };
static void Read(Deserializer& S, TYPE& X);\
static TYPE ReadVal(Deserializer& S); };
SERIALIZE_INT_TRAIT(bool)
SERIALIZE_INT_TRAIT(unsigned char)
SERIALIZE_INT_TRAIT(unsigned short)
SERIALIZE_INT_TRAIT(unsigned int)
SERIALIZE_INT_TRAIT(unsigned long)
SERIALIZE_INT_TRAIT(unsigned long long)
#undef SERIALIZE_INT_TRAIT