diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-04-14 14:13:43 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-04-14 14:13:43 +0000 |
commit | 8fb9fb66d415ee40447277f649ecdb12b4964385 (patch) | |
tree | eb62575aab181e73e1a81150398f6b7eaac6908f | |
parent | a2189d7548f44cce1a7831903d2fc861d75e49bb (diff) |
Replace manual delete[] with OwningArrayPtr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154748 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/VTableBuilder.h | 12 | ||||
-rw-r--r-- | lib/AST/VTableBuilder.cpp | 10 |
2 files changed, 10 insertions, 12 deletions
diff --git a/include/clang/AST/VTableBuilder.h b/include/clang/AST/VTableBuilder.h index 2aa9a3dec9..392dad94a4 100644 --- a/include/clang/AST/VTableBuilder.h +++ b/include/clang/AST/VTableBuilder.h @@ -205,11 +205,11 @@ public: typedef llvm::DenseMap<BaseSubobject, uint64_t> AddressPointsMapTy; private: uint64_t NumVTableComponents; - VTableComponent *VTableComponents; + llvm::OwningArrayPtr<VTableComponent> VTableComponents; /// VTableThunks - Contains thunks needed by vtables. uint64_t NumVTableThunks; - VTableThunkTy *VTableThunks; + llvm::OwningArrayPtr<VTableThunkTy> VTableThunks; /// Address points - Address points for all vtables. AddressPointsMapTy AddressPoints; @@ -227,11 +227,11 @@ public: } vtable_component_iterator vtable_component_begin() const { - return VTableComponents; + return VTableComponents.get(); } vtable_component_iterator vtable_component_end() const { - return VTableComponents+NumVTableComponents; + return VTableComponents.get()+NumVTableComponents; } uint64_t getNumVTableThunks() const { @@ -239,11 +239,11 @@ public: } vtable_thunk_iterator vtable_thunk_begin() const { - return VTableThunks; + return VTableThunks.get(); } vtable_thunk_iterator vtable_thunk_end() const { - return VTableThunks+NumVTableThunks; + return VTableThunks.get()+NumVTableThunks; } uint64_t getAddressPoint(BaseSubobject Base) const { diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp index 8683d1f3cb..107d9fb78c 100644 --- a/lib/AST/VTableBuilder.cpp +++ b/lib/AST/VTableBuilder.cpp @@ -2157,14 +2157,12 @@ VTableLayout::VTableLayout(uint64_t NumVTableComponents, VTableThunks(new VTableThunkTy[NumVTableThunks]), AddressPoints(AddressPoints) { std::copy(VTableComponents, VTableComponents+NumVTableComponents, - this->VTableComponents); - std::copy(VTableThunks, VTableThunks+NumVTableThunks, this->VTableThunks); + this->VTableComponents.get()); + std::copy(VTableThunks, VTableThunks+NumVTableThunks, + this->VTableThunks.get()); } -VTableLayout::~VTableLayout() { - delete[] VTableComponents; - delete[] VTableThunks; -} +VTableLayout::~VTableLayout() { } VTableContext::~VTableContext() { llvm::DeleteContainerSeconds(VTableLayouts); |