diff --git a/include/llvm/Bitcode/Serialization.h b/include/llvm/Bitcode/Serialization.h index 02db2230534..76aadb23427 100644 --- a/include/llvm/Bitcode/Serialization.h +++ b/include/llvm/Bitcode/Serialization.h @@ -7,19 +7,17 @@ // //===----------------------------------------------------------------------===// // -// This file defines the interface for generic object serialization to -// LLVM bitcode. +// This file defines traits for primitive types used for both object +// serialization and deserialization. // //===----------------------------------------------------------------------===// #ifndef LLVM_BITCODE_SERIALIZE #define LLVM_BITCODE_SERIALIZE -namespace llvm { +#include "llvm/Bitcode/SerializationFwd.h" -class Serializer; -class Deserializer; -template struct SerializeTrait; +namespace llvm { #define SERIALIZE_INT_TRAIT(TYPE)\ template <> struct SerializeTrait {\ diff --git a/include/llvm/Bitcode/SerializationFwd.h b/include/llvm/Bitcode/SerializationFwd.h new file mode 100644 index 00000000000..6569267ad90 --- /dev/null +++ b/include/llvm/Bitcode/SerializationFwd.h @@ -0,0 +1,25 @@ +//==- SerializationFwd.h - Forward references for Serialization ---*- C++ -*-=// +// +// 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 provides forward references for bitcode object serialization. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_BITCODE_SERIALIZE_FWD +#define LLVM_BITCODE_SERIALIZE_FWD + +namespace llvm { + +class Serializer; +class Deserializer; +template struct SerializeTrait; + +} // end namespace llvm + +#endif