diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-04-15 04:56:29 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-04-15 04:56:29 +0000 |
commit | a8ae0ad11fe5e8e649e3add7585a6ad235a27fad (patch) | |
tree | b92c20303e568f2421aadf40938d4d7ad1243a99 /lib/MC/MCFunction.cpp | |
parent | 508bd630466f9625ba07a3f601435e1ff824b768 (diff) | |
download | llvm-a8ae0ad11fe5e8e649e3add7585a6ad235a27fad.tar.gz llvm-a8ae0ad11fe5e8e649e3add7585a6ad235a27fad.tar.bz2 llvm-a8ae0ad11fe5e8e649e3add7585a6ad235a27fad.tar.xz |
Use std::unique_ptr to manage MCBasicBlocks in MCFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206242 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCFunction.cpp')
-rw-r--r-- | lib/MC/MCFunction.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/MC/MCFunction.cpp b/lib/MC/MCFunction.cpp index 9066d31a40..1ddc2505f0 100644 --- a/lib/MC/MCFunction.cpp +++ b/lib/MC/MCFunction.cpp @@ -20,21 +20,16 @@ MCFunction::MCFunction(StringRef Name, MCModule *Parent) : Name(Name), ParentModule(Parent) {} -MCFunction::~MCFunction() { - for (iterator I = begin(), E = end(); I != E; ++I) - delete *I; -} - MCBasicBlock &MCFunction::createBlock(const MCTextAtom &TA) { - MCBasicBlock *MCBB = new MCBasicBlock(TA, this); - Blocks.push_back(MCBB); - return *MCBB; + std::unique_ptr<MCBasicBlock> MCBB(new MCBasicBlock(TA, this)); + Blocks.push_back(std::move(MCBB)); + return *Blocks.back(); } MCBasicBlock *MCFunction::find(uint64_t StartAddr) { for (const_iterator I = begin(), E = end(); I != E; ++I) if ((*I)->getInsts()->getBeginAddr() == StartAddr) - return *I; + return I->get(); return nullptr; } |