X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FBitcode%2FSerialization.h;h=6b64f5ecb5d6f5b0dccc11b911d0d384372b5dc2;hb=5eca075b74d62c621b160aa216b4cd50829a2cc7;hp=1923bb4bd3601a1ea39504ac5e04fe871fdb84c7;hpb=6a13dfdc6da8afa6eec20627e8315a9d77905d61;p=oota-llvm.git diff --git a/include/llvm/Bitcode/Serialization.h b/include/llvm/Bitcode/Serialization.h index 1923bb4bd36..6b64f5ecb5d 100644 --- a/include/llvm/Bitcode/Serialization.h +++ b/include/llvm/Bitcode/Serialization.h @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Ted Kremenek and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -37,21 +37,29 @@ template struct SerializeTrait { static inline void Emit(Serializer& S, const T& X) { X.Emit(S); } static inline void Read(Deserializer& D, T& X) { X.Read(D); } - static inline T ReadVal(Deserializer& D) { T::ReadVal(D); } - static inline T* Materialize(Deserializer& D) { T::Materialize(D); } + static inline T* Create(Deserializer& D) { return T::Create(D); } + + template + static inline T* Create(Deserializer& D, Arg1& arg1) { + return T::Create(D, arg1); + } }; #define SERIALIZE_INT_TRAIT(TYPE)\ template <> struct SerializeTrait {\ static void Emit(Serializer& S, TYPE X);\ - static void Read(Deserializer& S, TYPE& X);\ - static TYPE ReadVal(Deserializer& S); }; + static void Read(Deserializer& S, TYPE& X); }; 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(signed char) +SERIALIZE_INT_TRAIT(signed short) +SERIALIZE_INT_TRAIT(signed int) +SERIALIZE_INT_TRAIT(signed long) #undef SERIALIZE_INT_TRAIT