[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