summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/VTableBuilder.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-12-17 23:52:45 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-12-17 23:52:45 +0000
commitacfa339e15855e90b748fdb1c5081c8a6a49cdbb (patch)
tree06eb95bc52bb23a0d8b310099556e5c293e70a2b /clang/lib/AST/VTableBuilder.cpp
parent3603de2fa22288e5d9237277ead132ca07e3c0a6 (diff)
downloadbcm5719-llvm-acfa339e15855e90b748fdb1c5081c8a6a49cdbb.tar.gz
bcm5719-llvm-acfa339e15855e90b748fdb1c5081c8a6a49cdbb.zip
Refactor overridden methods iteration to avoid double lookups.
Convert most uses to range-for loops. No functionality change intended. llvm-svn: 320954
Diffstat (limited to 'clang/lib/AST/VTableBuilder.cpp')
-rw-r--r--clang/lib/AST/VTableBuilder.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/clang/lib/AST/VTableBuilder.cpp b/clang/lib/AST/VTableBuilder.cpp
index ae8f6309fc6..347c516ef6a 100644
--- a/clang/lib/AST/VTableBuilder.cpp
+++ b/clang/lib/AST/VTableBuilder.cpp
@@ -1079,9 +1079,7 @@ static void
visitAllOverriddenMethods(const CXXMethodDecl *MD, VisitorTy &Visitor) {
assert(MD->isVirtual() && "Method is not virtual!");
- for (CXXMethodDecl::method_iterator I = MD->begin_overridden_methods(),
- E = MD->end_overridden_methods(); I != E; ++I) {
- const CXXMethodDecl *OverriddenMD = *I;
+ for (const CXXMethodDecl *OverriddenMD : MD->overridden_methods()) {
if (!Visitor(OverriddenMD))
continue;
visitAllOverriddenMethods(OverriddenMD, Visitor);
@@ -1329,11 +1327,8 @@ static bool OverridesIndirectMethodInBases(
ItaniumVTableBuilder::PrimaryBasesSetVectorTy &Bases) {
if (Bases.count(MD->getParent()))
return true;
-
- for (CXXMethodDecl::method_iterator I = MD->begin_overridden_methods(),
- E = MD->end_overridden_methods(); I != E; ++I) {
- const CXXMethodDecl *OverriddenMD = *I;
-
+
+ for (const CXXMethodDecl *OverriddenMD : MD->overridden_methods()) {
// Check "indirect overriders".
if (OverridesIndirectMethodInBases(OverriddenMD, Bases))
return true;
OpenPOWER on IntegriCloud