diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 | 
| commit | 461a67fa15370a9ec88f8f8a240bf7c123bb2029 (patch) | |
| tree | 6942083d7d56bba40ec790a453ca58ad3baf6832 /lib/Analysis/ThreadSafetyCommon.cpp | |
| parent | 75c3240472ba6ac2669ee72ca67eb72d4e2851fc (diff) | |
Notes
Diffstat (limited to 'lib/Analysis/ThreadSafetyCommon.cpp')
| -rw-r--r-- | lib/Analysis/ThreadSafetyCommon.cpp | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Analysis/ThreadSafetyCommon.cpp b/lib/Analysis/ThreadSafetyCommon.cpp index cbd5464c34d7..99284f07b45b 100644 --- a/lib/Analysis/ThreadSafetyCommon.cpp +++ b/lib/Analysis/ThreadSafetyCommon.cpp @@ -19,7 +19,7 @@  #include "clang/AST/StmtCXX.h"  #include "clang/Analysis/Analyses/ThreadSafetyTIL.h"  #include "clang/Analysis/Analyses/ThreadSafetyTraverse.h" -#include "clang/Analysis/AnalysisContext.h" +#include "clang/Analysis/AnalysisDeclContext.h"  #include "clang/Analysis/CFG.h"  #include "clang/Basic/OperatorKinds.h"  #include "clang/Basic/SourceLocation.h" @@ -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;  } @@ -505,6 +505,7 @@ til::SExpr *SExprBuilder::translateBinaryOperator(const BinaryOperator *BO,    case BO_GE:   return translateBinOp(til::BOP_Leq, BO, Ctx, true);    case BO_EQ:   return translateBinOp(til::BOP_Eq,  BO, Ctx);    case BO_NE:   return translateBinOp(til::BOP_Neq, BO, Ctx); +  case BO_Cmp:  return translateBinOp(til::BOP_Cmp, BO, Ctx);    case BO_And:  return translateBinOp(til::BOP_BitAnd,   BO, Ctx);    case BO_Xor:  return translateBinOp(til::BOP_BitXor,   BO, Ctx);    case BO_Or:   return translateBinOp(til::BOP_BitOr,    BO, Ctx);  | 
