]> granicus.if.org Git - clang/commitdiff
Switching getAttrs calls over to using a specific_attr_iterator. No functional change...
authorAaron Ballman <aaron@aaronballman.com>
Thu, 19 Dec 2013 15:35:31 +0000 (15:35 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Thu, 19 Dec 2013 15:35:31 +0000 (15:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197681 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ThreadSafety.cpp

index 1d4d585332d85ef30e26806a4b9a78932c36bf09..c271f380355b6faf72632f015fe6742e97cd8468 100644 (file)
@@ -1900,10 +1900,10 @@ void BuildLockset::checkAccess(const Expr *Exp, AccessKind AK) {
     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 @@ void BuildLockset::checkPtAccess(const Expr *Exp, AccessKind AK) {
     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);
 }