diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-12-17 23:52:45 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-12-17 23:52:45 +0000 |
commit | acfa339e15855e90b748fdb1c5081c8a6a49cdbb (patch) | |
tree | 06eb95bc52bb23a0d8b310099556e5c293e70a2b /clang/lib/Analysis/ThreadSafetyCommon.cpp | |
parent | 3603de2fa22288e5d9237277ead132ca07e3c0a6 (diff) | |
download | llvm-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.cpp | 8 |
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; } |