diff --git a/clang/lib/Analysis/ThreadSafety.cpp b/clang/lib/Analysis/ThreadSafety.cpp
index 1d4d585..c271f38 100644
--- a/clang/lib/Analysis/ThreadSafety.cpp
+++ b/clang/lib/Analysis/ThreadSafety.cpp
@@ -1900,10 +1900,10 @@
     Analyzer->Handler.handleNoMutexHeld(D, POK_VarAccess, AK,
                                         Exp->getExprLoc());
 
-  const AttrVec &ArgAttrs = D->getAttrs();
-  for (unsigned i = 0, Size = ArgAttrs.size(); i < Size; ++i)
-    if (GuardedByAttr *GBAttr = dyn_cast<GuardedByAttr>(ArgAttrs[i]))
-      warnIfMutexNotHeld(D, Exp, AK, GBAttr->getArg(), POK_VarAccess);
+  for (specific_attr_iterator<GuardedByAttr>
+         I = D->specific_attr_begin<GuardedByAttr>(),
+         E = D->specific_attr_end<GuardedByAttr>(); I != E; ++I)
+    warnIfMutexNotHeld(D, Exp, AK, (*I)->getArg(), POK_VarAccess);
 }
 
 /// \brief Checks pt_guarded_by and pt_guarded_var attributes.
@@ -1938,10 +1938,10 @@
     Analyzer->Handler.handleNoMutexHeld(D, POK_VarDereference, AK,
                                         Exp->getExprLoc());
 
-  const AttrVec &ArgAttrs = D->getAttrs();
-  for (unsigned i = 0, Size = ArgAttrs.size(); i < Size; ++i)
-    if (PtGuardedByAttr *GBAttr = dyn_cast<PtGuardedByAttr>(ArgAttrs[i]))
-      warnIfMutexNotHeld(D, Exp, AK, GBAttr->getArg(), POK_VarDereference);
+  for (specific_attr_iterator<PtGuardedByAttr>
+          I = D->specific_attr_begin<PtGuardedByAttr>(),
+          E = D->specific_attr_end<PtGuardedByAttr>(); I != E; ++I)
+    warnIfMutexNotHeld(D, Exp, AK, (*I)->getArg(), POK_VarDereference);
 }
 
 
