diff options
-rw-r--r-- | lib/Sema/SemaDeclObjC.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp index 1e87a6f819..95a6faed1a 100644 --- a/lib/Sema/SemaDeclObjC.cpp +++ b/lib/Sema/SemaDeclObjC.cpp @@ -264,14 +264,13 @@ Sema::FindProtocolDeclaration(bool WarnOnDeclarations, << ProtocolId[i].first; continue; } - for (const Attr *attr = PDecl->getAttrs(); attr; attr = attr->getNext()) { - if (attr->getKind() == Attr::Unavailable) - Diag(ProtocolId[i].second, diag::warn_unavailable) << - PDecl->getDeclName(); - if (attr->getKind() == Attr::Deprecated) - Diag(ProtocolId[i].second, diag::warn_deprecated) << - PDecl->getDeclName(); - } + + if (PDecl->getAttr<UnavailableAttr>()) + Diag(ProtocolId[i].second, diag::warn_unavailable) << + PDecl->getDeclName(); + if (PDecl->getAttr<DeprecatedAttr>()) + Diag(ProtocolId[i].second, diag::warn_deprecated) << + PDecl->getDeclName(); // If this is a forward declaration and we are supposed to warn in this // case, do it. |