Added special version of ReadPtr() that returns a deserialized pointer
authorTed Kremenek <kremenek@apple.com>
Wed, 7 Nov 2007 00:47:33 +0000 (00:47 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 7 Nov 2007 00:47:33 +0000 (00:47 +0000)
by value.  This version prohibits backpatching of pointers, so it
useful when a pointee is always known to be deserialized beforehand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43799 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Bitcode/Deserialize.h

index 9fdbc8cd9656aa66e35bdaf897772707d01b621c..41347b5ca7fd7c4643a33208f907eeafaa698dbc 100644 (file)
@@ -141,7 +141,10 @@ public:
   template <typename T>
   void ReadPtr(const T*& PtrRef, bool AllowBackpatch = true) {
     ReadPtr(const_cast<T*&>(PtrRef), AllowBackpatch);
-  }            
+  }
+  
+  template <typename T>
+  T* ReadPtr() { T* x; ReadPtr<T>(x,false); return x; }
 
   void ReadUIntPtr(uintptr_t& PtrRef, bool AllowBackpatch = true);