aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Bitcode/Serialization.h10
-rw-r--r--include/llvm/Bitcode/SerializationFwd.h25
2 files changed, 29 insertions, 6 deletions
diff --git a/include/llvm/Bitcode/Serialization.h b/include/llvm/Bitcode/Serialization.h
index 02db223053..76aadb2342 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 <typename T> struct SerializeTrait;
+namespace llvm {
#define SERIALIZE_INT_TRAIT(TYPE)\
template <> struct SerializeTrait<TYPE> {\
diff --git a/include/llvm/Bitcode/SerializationFwd.h b/include/llvm/Bitcode/SerializationFwd.h
new file mode 100644
index 0000000000..6569267ad9
--- /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 <typename T> struct SerializeTrait;
+
+} // end namespace llvm
+
+#endif