summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDeclAttr.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index 926e5fda68d..7701835b38b 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -1595,6 +1595,8 @@ static void HandleNSOwnershipAttr(Decl *d, const AttributeList &Attr,
name = "cf_releases"; break;
case AttributeList::AT_cf_retains:
name = "cf_retains"; break;
+ case AttributeList::AT_ns_autoreleases:
+ name = "ns_autoreleases"; break;
case AttributeList::AT_ns_releases:
name = "ns_releases"; break;
case AttributeList::AT_ns_retains:
@@ -1617,6 +1619,9 @@ static void HandleNSOwnershipAttr(Decl *d, const AttributeList &Attr,
case AttributeList::AT_cf_retains:
d->addAttr(::new (S.Context) CFOwnershipRetainAttr());
return;
+ case AttributeList::AT_ns_autoreleases:
+ d->addAttr(::new (S.Context) NSOwnershipAutoreleaseAttr());
+ return;
case AttributeList::AT_ns_releases:
d->addAttr(::new (S.Context) NSOwnershipReleaseAttr());
return;
@@ -1667,6 +1672,7 @@ static void ProcessDeclAttribute(Decl *D, const AttributeList &Attr, Sema &S) {
case AttributeList::AT_cf_releases:
case AttributeList::AT_cf_retains:
HandleNSOwnershipAttr(D, Attr, S); break;
+ case AttributeList::AT_ns_autoreleases:
case AttributeList::AT_ns_releases:
case AttributeList::AT_ns_retains:
HandleNSOwnershipAttr(D, Attr, S, true); break;
OpenPOWER on IntegriCloud