[cfe-commits] r70224 - /cfe/trunk/lib/Sema/SemaDeclAttr.cpp
Ted Kremenek
kremenek at apple.com
Mon Apr 27 11:41:19 PDT 2009
Author: kremenek
Date: Mon Apr 27 13:41:18 2009
New Revision: 70224
URL: http://llvm.org/viewvc/llvm-project?rev=70224&view=rev
Log:
Refactor HandleObjCOwnershipRetainAttr and HandleObjCOwnershipCFRetainAttr into
HandleObjCOwnershipParmAttr. No functionality change (hopefully).
Modified:
cfe/trunk/lib/Sema/SemaDeclAttr.cpp
Modified: cfe/trunk/lib/Sema/SemaDeclAttr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclAttr.cpp?rev=70224&r1=70223&r2=70224&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclAttr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclAttr.cpp Mon Apr 27 13:41:18 2009
@@ -1533,28 +1533,36 @@
d->addAttr(::new (S.Context) ObjCOwnershipReturnsAttr());
}
-static void HandleObjCOwnershipRetainAttr(Decl *d, const AttributeList &Attr,
- Sema &S) {
+static void HandleObjCOwnershipParmAttr(Decl *d, const AttributeList &Attr,
+ Sema &S) {
if (!isa<ParmVarDecl>(d)) {
- S.Diag(Attr.getLoc(), diag::warn_attribute_wrong_decl_type) <<
- "objc_ownership_retain" << 4 /* parameter */;
- return;
- }
-
- d->addAttr(::new (S.Context) ObjCOwnershipRetainAttr());
-}
+ const char *name;
+
+ switch (Attr.getKind()) {
+ default:
+ assert(0 && "invalid ownership attribute");
+ return;
+ case AttributeList::AT_objc_ownership_retain:
+ name = "objc_ownership_retain"; break;
+ case AttributeList::AT_objc_ownership_cfretain:
+ name = "objc_ownership_cfretain"; break;
+ };
-static void HandleObjCOwnershipCFRetainAttr(Decl *d, const AttributeList &Attr,
- Sema &S) {
-
- if (!isa<ParmVarDecl>(d)) {
- S.Diag(Attr.getLoc(), diag::warn_attribute_wrong_decl_type) <<
- "objc_ownership_cfretain" << 4 /* parameter */;
+ S.Diag(Attr.getLoc(), diag::warn_attribute_wrong_decl_type) << name
+ << 4 /* parameter */;
return;
}
- d->addAttr(::new (S.Context) ObjCOwnershipCFRetainAttr());
+ switch (Attr.getKind()) {
+ default:
+ assert(0 && "invalid ownership attribute");
+ return;
+ case AttributeList::AT_objc_ownership_retain:
+ d->addAttr(::new (S.Context) ObjCOwnershipRetainAttr()); return;
+ case AttributeList::AT_objc_ownership_cfretain:
+ d->addAttr(::new (S.Context) ObjCOwnershipCFRetainAttr()); return;
+ }
}
//===----------------------------------------------------------------------===//
@@ -1596,11 +1604,10 @@
// Checker-specific.
case AttributeList::AT_objc_ownership_retain:
- HandleObjCOwnershipRetainAttr(D, Attr, S); break;
+ case AttributeList::AT_objc_ownership_cfretain:
+ HandleObjCOwnershipParmAttr(D, Attr, S); break;
case AttributeList::AT_objc_ownership_returns:
HandleObjCOwnershipReturnsAttr(D, Attr, S); break;
- case AttributeList::AT_objc_ownership_cfretain:
- HandleObjCOwnershipCFRetainAttr(D, Attr, S); break;
case AttributeList::AT_packed: HandlePackedAttr (D, Attr, S); break;
case AttributeList::AT_section: HandleSectionAttr (D, Attr, S); break;
More information about the cfe-commits
mailing list