From acfa339e15855e90b748fdb1c5081c8a6a49cdbb Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sun, 17 Dec 2017 23:52:45 +0000 Subject: Refactor overridden methods iteration to avoid double lookups. Convert most uses to range-for loops. No functionality change intended. llvm-svn: 320954 --- clang/lib/Analysis/ThreadSafetyCommon.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'clang/lib/Analysis/ThreadSafetyCommon.cpp') 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; } -- cgit v1.1