[llvm-commits] [llvm] r148699 - /llvm/trunk/include/llvm/ADT/OwningPtr.h

Chris Lattner sabre at nondot.org
Mon Jan 23 07:10:41 PST 2012


Author: lattner
Date: Mon Jan 23 09:10:41 2012
New Revision: 148699

URL: http://llvm.org/viewvc/llvm-project?rev=148699&view=rev
Log:
revert r148688 too, this isn't safe for DenseMap use.  When DenseMap resizes, it will need to copy around arbitrary pointers

Modified:
    llvm/trunk/include/llvm/ADT/OwningPtr.h

Modified: llvm/trunk/include/llvm/ADT/OwningPtr.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/OwningPtr.h?rev=148699&r1=148698&r2=148699&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/OwningPtr.h (original)
+++ llvm/trunk/include/llvm/ADT/OwningPtr.h Mon Jan 23 09:10:41 2012
@@ -25,15 +25,12 @@
 /// pointee object can be taken away from OwningPtr by using the take method.
 template<class T>
 class OwningPtr {
-  OwningPtr &operator=(const OwningPtr &);  // DO NOT IMPLEMENT
+  OwningPtr(OwningPtr const &);             // DO NOT IMPLEMENT
+  OwningPtr &operator=(OwningPtr const &);  // DO NOT IMPLEMENT
   T *Ptr;
 public:
   explicit OwningPtr(T *P = 0) : Ptr(P) {}
 
-  OwningPtr(const OwningPtr &RHS) : Ptr(0) {
-    assert(RHS.Ptr == 0 && "Only null OwningPtr's are copyable!");
-  }
-
   ~OwningPtr() {
     delete Ptr;
   }





More information about the llvm-commits mailing list