forked from OSchip/llvm-project
Fix bug in RefCountedBase/RefCountedBaseVPTR where the reference count was accidentally copied as part of the copy constructor. This could result in objects getting leaked because there reference count was too high.
llvm-svn: 144931
This commit is contained in:
parent
8cf47df72f
commit
b42cfa0015
|
@ -46,6 +46,7 @@ namespace llvm {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RefCountedBase() : ref_cnt(0) {}
|
RefCountedBase() : ref_cnt(0) {}
|
||||||
|
RefCountedBase(const RefCountedBase &) : ref_cnt(0) {}
|
||||||
|
|
||||||
void Retain() const { ++ref_cnt; }
|
void Retain() const { ++ref_cnt; }
|
||||||
void Release() const {
|
void Release() const {
|
||||||
|
@ -67,6 +68,8 @@ namespace llvm {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
RefCountedBaseVPTR() : ref_cnt(0) {}
|
RefCountedBaseVPTR() : ref_cnt(0) {}
|
||||||
|
RefCountedBaseVPTR(const RefCountedBaseVPTR &) : ref_cnt(0) {}
|
||||||
|
|
||||||
virtual ~RefCountedBaseVPTR() {}
|
virtual ~RefCountedBaseVPTR() {}
|
||||||
|
|
||||||
void Retain() const { ++ref_cnt; }
|
void Retain() const { ++ref_cnt; }
|
||||||
|
|
Loading…
Reference in New Issue