diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-04-14 22:45:02 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-04-14 22:45:02 +0000 |
commit | b818418689020297e7c634c183ac2e4f020383f0 (patch) | |
tree | d1f9f6c2c4272ecf1cae2cf2f42955a63d5302ba /llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp | |
parent | 646621e6a8d777da3193287102a6f374165723e2 (diff) | |
download | bcm5719-llvm-b818418689020297e7c634c183ac2e4f020383f0.tar.gz bcm5719-llvm-b818418689020297e7c634c183ac2e4f020383f0.zip |
Use std::unique_ptr for DIE children
Got bored, removed some manual memory management.
Pushed references (rather than pointers) through a few APIs rather than
replacing *x with x.get().
llvm-svn: 206222
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp b/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp index 74beec1c955..4cf57040e6d 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp @@ -463,20 +463,18 @@ void DIEHash::computeHash(const DIE &Die) { addAttributes(Die); // Then hash each of the children of the DIE. - for (std::vector<DIE *>::const_iterator I = Die.getChildren().begin(), - E = Die.getChildren().end(); - I != E; ++I) { + for (auto &C : Die.getChildren()) { // 7.27 Step 7 // If C is a nested type entry or a member function entry, ... - if (isType((*I)->getTag()) || (*I)->getTag() == dwarf::DW_TAG_subprogram) { - StringRef Name = getDIEStringAttr(**I, dwarf::DW_AT_name); + if (isType(C->getTag()) || C->getTag() == dwarf::DW_TAG_subprogram) { + StringRef Name = getDIEStringAttr(*C, dwarf::DW_AT_name); // ... and has a DW_AT_name attribute if (!Name.empty()) { - hashNestedType(**I, Name); + hashNestedType(*C, Name); continue; } } - computeHash(**I); + computeHash(*C); } // Following the last (or if there are no children), append a zero byte. |