summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.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/Sema/SemaDecl.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/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 0b48a87c11d..ec5ca697356 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -7517,16 +7517,14 @@ enum OverrideErrorKind { OEK_All, OEK_NonDeleted, OEK_Deleted };
static void ReportOverrides(Sema& S, unsigned DiagID, const CXXMethodDecl *MD,
OverrideErrorKind OEK = OEK_All) {
S.Diag(MD->getLocation(), DiagID) << MD->getDeclName();
- for (CXXMethodDecl::method_iterator I = MD->begin_overridden_methods(),
- E = MD->end_overridden_methods();
- I != E; ++I) {
+ for (const CXXMethodDecl *O : MD->overridden_methods()) {
// This check (& the OEK parameter) could be replaced by a predicate, but
// without lambdas that would be overkill. This is still nicer than writing
// out the diag loop 3 times.
if ((OEK == OEK_All) ||
- (OEK == OEK_NonDeleted && !(*I)->isDeleted()) ||
- (OEK == OEK_Deleted && (*I)->isDeleted()))
- S.Diag((*I)->getLocation(), diag::note_overridden_virtual_function);
+ (OEK == OEK_NonDeleted && !O->isDeleted()) ||
+ (OEK == OEK_Deleted && O->isDeleted()))
+ S.Diag(O->getLocation(), diag::note_overridden_virtual_function);
}
}
OpenPOWER on IntegriCloud