aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Analysis/ThreadSafetyCommon.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/Analysis/ThreadSafetyCommon.cpp
parent3603de2fa22288e5d9237277ead132ca07e3c0a6 (diff)
downloadllvm-acfa339e15855e90b748fdb1c5081c8a6a49cdbb.zip
llvm-acfa339e15855e90b748fdb1c5081c8a6a49cdbb.tar.gz
llvm-acfa339e15855e90b748fdb1c5081c8a6a49cdbb.tar.bz2
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/Analysis/ThreadSafetyCommon.cpp')
-rw-r--r--clang/lib/Analysis/ThreadSafetyCommon.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp b/clang/lib/Analysis/ThreadSafetyCommon.cpp
index c1421b0..99284f0 100644
--- a/clang/lib/Analysis/ThreadSafetyCommon.cpp
+++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp
@@ -319,11 +319,11 @@ static bool hasCppPointerType(const til::SExpr *E) {
static const CXXMethodDecl *getFirstVirtualDecl(const CXXMethodDecl *D) {
while (true) {
D = D->getCanonicalDecl();
- CXXMethodDecl::method_iterator I = D->begin_overridden_methods(),
- E = D->end_overridden_methods();
- if (I == E)
+ auto OverriddenMethods = D->overridden_methods();
+ if (OverriddenMethods.begin() == OverriddenMethods.end())
return D; // Method does not override anything
- D = *I; // FIXME: this does not work with multiple inheritance.
+ // FIXME: this does not work with multiple inheritance.
+ D = *OverriddenMethods.begin();
}
return nullptr;
}