diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-10-31 18:23:21 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-10-31 18:23:21 +0000 |
commit | 8aac61cff0f4c5f66412502771dd281696114ceb (patch) | |
tree | e81d956e0980dddd32fe5015c836fc2e3d6dfc8f /include/llvm/Bitcode/Serialize.h | |
parent | 8092406e59e44633e45c3ec71a1a1d12ef0b926b (diff) |
Added Serializer::EmitRef to deal with emitting arbitrary references.
Modified Serializer::EmitPtr to handle const pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43565 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bitcode/Serialize.h')
-rw-r--r-- | include/llvm/Bitcode/Serialize.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/Bitcode/Serialize.h b/include/llvm/Bitcode/Serialize.h index 72aac9d0ba..be5adb85ea 100644 --- a/include/llvm/Bitcode/Serialize.h +++ b/include/llvm/Bitcode/Serialize.h @@ -27,7 +27,7 @@ class Serializer { SmallVector<uint64_t,10> Record; bool inBlock; - typedef DenseMap<void*,unsigned> MapTy; + typedef DenseMap<const void*,unsigned> MapTy; MapTy PtrMap; public: @@ -42,7 +42,10 @@ public: void EmitCStr(const char* beg, const char* end); void EmitCStr(const char* cstr); - void EmitPtr(void* ptr) { EmitInt(getPtrId(ptr)); } + void EmitPtr(const void* ptr) { EmitInt(getPtrId(ptr)); } + + template <typename T> + void EmitRef(const T& ref) { EmitPtr(&ref); } template <typename T> void EmitOwnedPtr(T* ptr) { @@ -55,7 +58,7 @@ public: private: void EmitRecord(); inline bool inRecord() { return Record.size() > 0; } - unsigned getPtrId(void* ptr); + unsigned getPtrId(const void* ptr); }; } // end namespace llvm |