diff --git a/lib/Analysis/ThreadSafety.cpp b/lib/Analysis/ThreadSafety.cpp index 285b8924a0f826bb9c27906df742416a0d69285c..4ddc21d1fb844ccab9eac17c77c1b6d9a32cbe80 100644 --- a/lib/Analysis/ThreadSafety.cpp +++ b/lib/Analysis/ThreadSafety.cpp @@ -1403,19 +1403,17 @@ void BuildLockset::checkAccess(const Expr *Exp, AccessKind AK, SourceLocation Loc = Exp->getExprLoc(); - if (Analyzer->Handler.issueBetaWarnings()) { - // Local variables of reference type cannot be re-assigned; - // map them to their initializer. - while (const auto *DRE = dyn_cast<DeclRefExpr>(Exp)) { - const auto *VD = dyn_cast<VarDecl>(DRE->getDecl()->getCanonicalDecl()); - if (VD && VD->isLocalVarDecl() && VD->getType()->isReferenceType()) { - if (const auto *E = VD->getInit()) { - Exp = E; - continue; - } + // Local variables of reference type cannot be re-assigned; + // map them to their initializer. + while (const auto *DRE = dyn_cast<DeclRefExpr>(Exp)) { + const auto *VD = dyn_cast<VarDecl>(DRE->getDecl()->getCanonicalDecl()); + if (VD && VD->isLocalVarDecl() && VD->getType()->isReferenceType()) { + if (const auto *E = VD->getInit()) { + Exp = E; + continue; } - break; } + break; } if (const UnaryOperator *UO = dyn_cast<UnaryOperator>(Exp)) {