summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2011-03-21 18:37:59 +0000
committerTed Kremenek <kremenek@apple.com>2011-03-21 18:37:59 +0000
commit47f0f1856f189e9e0d9540bd3f82b26f77088a7d (patch)
treef2ad2b6c9f032120d534eda2aea19474afcbb041 /include
parent0891d99b8758feaf3107b9a6333f1baa9450c799 (diff)
downloadllvm-47f0f1856f189e9e0d9540bd3f82b26f77088a7d.tar.gz
llvm-47f0f1856f189e9e0d9540bd3f82b26f77088a7d.tar.bz2
llvm-47f0f1856f189e9e0d9540bd3f82b26f77088a7d.tar.xz
Allow a client to clear an IntrustiveRefCntPtr (deliberately leaking the referenced object).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128007 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/ADT/IntrusiveRefCntPtr.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/ADT/IntrusiveRefCntPtr.h b/include/llvm/ADT/IntrusiveRefCntPtr.h
index e6926de413..f195fb1de8 100644
--- a/include/llvm/ADT/IntrusiveRefCntPtr.h
+++ b/include/llvm/ADT/IntrusiveRefCntPtr.h
@@ -155,6 +155,10 @@ namespace llvm {
other.Obj = Obj;
Obj = tmp;
}
+
+ void resetWithoutRelease() {
+ Obj = 0;
+ }
private:
void retain() { if (Obj) Obj->Retain(); }