mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
d2f2a98e09
Deserializer. There were issues with Visual C++ barfing when instantiating SerializeTrait<T> when "T" was an abstract class AND SerializeTrait<T>::ReadVal was *never* called: template <typename T> struct SerializeTrait { <SNIP> static inline T ReadVal(Deserializer& D) { T::ReadVal(D); } <SNIP> }; Visual C++ would complain about "T" being an abstract class, even though ReadVal was never instantiated (although one of the other member functions were). Removing this from the trait is not a big deal. It was used hardly ever, and users who want "read-by-value" deserialization can simply call the appropriate methods directly instead of relying on trait-based-dispatch. The trait dispatch for serialization/deserialization is simply sugar in many cases (like this one). llvm-svn: 43624 |
||
---|---|---|
.. | ||
Archive.h | ||
BitCodes.h | ||
BitstreamReader.h | ||
BitstreamWriter.h | ||
Deserialize.h | ||
LLVMBitCodes.h | ||
ReaderWriter.h | ||
Serialization.h | ||
SerializationFwd.h | ||
Serialize.h |