diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-03-17 18:10:01 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-03-17 18:10:01 +0000 |
commit | bbe3878c8894da9fb0f54286c42fba84e6da95c4 (patch) | |
tree | f7978c1ce72a355c3f3ee431519ae42222090797 /include/clang/CodeGen/CGFunctionInfo.h | |
parent | 3985a324489dc4477b803bbb72f5d853a41324d3 (diff) |
[C++11] Replacing CGFunctionInfo arg iterators with iterator_range arguments(). Updating all of the usages of the iterators with range-based for loops.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204068 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/CodeGen/CGFunctionInfo.h')
-rw-r--r-- | include/clang/CodeGen/CGFunctionInfo.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/clang/CodeGen/CGFunctionInfo.h b/include/clang/CodeGen/CGFunctionInfo.h index ec41e8bdec..e4a927292b 100644 --- a/include/clang/CodeGen/CGFunctionInfo.h +++ b/include/clang/CodeGen/CGFunctionInfo.h @@ -314,6 +314,14 @@ public: typedef const ArgInfo *const_arg_iterator; typedef ArgInfo *arg_iterator; + typedef llvm::iterator_range<arg_iterator> arg_range; + typedef llvm::iterator_range<const_arg_iterator> arg_const_range; + + arg_range arguments() { return arg_range(arg_begin(), arg_end()); } + arg_const_range arguments() const { + return arg_const_range(arg_begin(), arg_end()); + } + const_arg_iterator arg_begin() const { return getArgsBuffer() + 1; } const_arg_iterator arg_end() const { return getArgsBuffer() + 1 + NumArgs; } arg_iterator arg_begin() { return getArgsBuffer() + 1; } @@ -382,8 +390,8 @@ public: ID.AddInteger(RegParm); ID.AddInteger(Required.getOpaqueData()); getReturnType().Profile(ID); - for (arg_iterator it = arg_begin(), ie = arg_end(); it != ie; ++it) - it->type.Profile(ID); + for (const auto &I : arguments()) + I.type.Profile(ID); } static void Profile(llvm::FoldingSetNodeID &ID, bool InstanceMethod, |