[llvm-commits] [llvm] r43565 - in /llvm/trunk: include/llvm/Bitcode/Serialize.h lib/Bitcode/Writer/Serialize.cpp
Ted Kremenek
kremenek at apple.com
Wed Oct 31 11:23:21 PDT 2007
Author: kremenek
Date: Wed Oct 31 13:23:21 2007
New Revision: 43565
URL: http://llvm.org/viewvc/llvm-project?rev=43565&view=rev
Log:
Added Serializer::EmitRef to deal with emitting arbitrary references.
Modified Serializer::EmitPtr to handle const pointers.
Modified:
llvm/trunk/include/llvm/Bitcode/Serialize.h
llvm/trunk/lib/Bitcode/Writer/Serialize.cpp
Modified: llvm/trunk/include/llvm/Bitcode/Serialize.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Bitcode/Serialize.h?rev=43565&r1=43564&r2=43565&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Bitcode/Serialize.h (original)
+++ llvm/trunk/include/llvm/Bitcode/Serialize.h Wed Oct 31 13:23:21 2007
@@ -27,7 +27,7 @@
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 @@
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 @@
private:
void EmitRecord();
inline bool inRecord() { return Record.size() > 0; }
- unsigned getPtrId(void* ptr);
+ unsigned getPtrId(const void* ptr);
};
} // end namespace llvm
Modified: llvm/trunk/lib/Bitcode/Writer/Serialize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Writer/Serialize.cpp?rev=43565&r1=43564&r2=43565&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Writer/Serialize.cpp (original)
+++ llvm/trunk/lib/Bitcode/Writer/Serialize.cpp Wed Oct 31 13:23:21 2007
@@ -57,7 +57,7 @@
EmitCStr(s,s+strlen(s));
}
-unsigned Serializer::getPtrId(void* ptr) {
+unsigned Serializer::getPtrId(const void* ptr) {
if (!ptr)
return 0;
More information about the llvm-commits
mailing list