From: Aaron Ballman Date: Mon, 17 Mar 2014 17:22:27 +0000 (+0000) Subject: [C++11] Replacing CallArgList writeback iterators with iterator_range writebacks... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=52fa036b2ec930e88a23db731b194ef1e53114d6;p=clang [C++11] Replacing CallArgList writeback iterators with iterator_range writebacks(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204062 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp index a550abfa9d..c068a11ad6 100644 --- a/lib/CodeGen/CGCall.cpp +++ b/lib/CodeGen/CGCall.cpp @@ -2015,9 +2015,8 @@ static void emitWriteback(CodeGenFunction &CGF, static void emitWritebacks(CodeGenFunction &CGF, const CallArgList &args) { - for (CallArgList::writeback_iterator - i = args.writeback_begin(), e = args.writeback_end(); i != e; ++i) - emitWriteback(CGF, *i); + for (const auto &I : args.writebacks()) + emitWriteback(CGF, I); } static void deactivateArgCleanupsBeforeCall(CodeGenFunction &CGF, diff --git a/lib/CodeGen/CGCall.h b/lib/CodeGen/CGCall.h index c51f06fdcd..2e43d1d67f 100644 --- a/lib/CodeGen/CGCall.h +++ b/lib/CodeGen/CGCall.h @@ -99,9 +99,12 @@ namespace CodeGen { bool hasWritebacks() const { return !Writebacks.empty(); } - typedef SmallVectorImpl::const_iterator writeback_iterator; - writeback_iterator writeback_begin() const { return Writebacks.begin(); } - writeback_iterator writeback_end() const { return Writebacks.end(); } + typedef llvm::iterator_range::const_iterator> + writeback_const_range; + + writeback_const_range writebacks() const { + return writeback_const_range(Writebacks.begin(), Writebacks.end()); + } void addArgCleanupDeactivation(EHScopeStack::stable_iterator Cleanup, llvm::Instruction *IsActiveIP) {