diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-01-16 13:03:14 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-01-16 13:03:14 +0000 |
commit | 591427889ead8b7c4c3211ef8cc55a9501eac064 (patch) | |
tree | 10787243973b03e34f7c66bd3d844d7dbf8e110a /lib/Sema/SemaObjCProperty.cpp | |
parent | b52564aa96febc1e791dd26213c87c4a591251dc (diff) |
Distinguish between attributes explicitly written at the request of the user, and attributes implicitly generated to assist in bookkeeping by the compiler. This is done so by table generating a CreateImplicit method for each attribute.
Additionally, remove the optional nature of the spelling list index when creating attributes. This is supported by table generating a Spelling enumeration when the spellings for an attribute are distinct enough to warrant it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199378 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaObjCProperty.cpp')
-rw-r--r-- | lib/Sema/SemaObjCProperty.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Sema/SemaObjCProperty.cpp b/lib/Sema/SemaObjCProperty.cpp index b1343301ef..659b732c81 100644 --- a/lib/Sema/SemaObjCProperty.cpp +++ b/lib/Sema/SemaObjCProperty.cpp @@ -1930,16 +1930,16 @@ void Sema::ProcessPropertyDecl(ObjCPropertyDecl *property, if (lexicalDC) GetterMethod->setLexicalDeclContext(lexicalDC); if (property->hasAttr<NSReturnsNotRetainedAttr>()) - GetterMethod->addAttr( - ::new (Context) NSReturnsNotRetainedAttr(Loc, Context)); + GetterMethod->addAttr(NSReturnsNotRetainedAttr::CreateImplicit(Context, + Loc)); if (property->hasAttr<ObjCReturnsInnerPointerAttr>()) GetterMethod->addAttr( - ::new (Context) ObjCReturnsInnerPointerAttr(Loc, Context)); + ObjCReturnsInnerPointerAttr::CreateImplicit(Context, Loc)); if (const SectionAttr *SA = property->getAttr<SectionAttr>()) - GetterMethod->addAttr(::new (Context) SectionAttr(Loc, - Context, SA->getName())); + GetterMethod->addAttr(SectionAttr::CreateImplicit(Context, SA->getName(), + Loc)); if (getLangOpts().ObjCAutoRefCount) CheckARCMethodDecl(GetterMethod); @@ -1991,8 +1991,8 @@ void Sema::ProcessPropertyDecl(ObjCPropertyDecl *property, if (lexicalDC) SetterMethod->setLexicalDeclContext(lexicalDC); if (const SectionAttr *SA = property->getAttr<SectionAttr>()) - SetterMethod->addAttr(::new (Context) SectionAttr(Loc, - Context, SA->getName())); + SetterMethod->addAttr(SectionAttr::CreateImplicit(Context, + SA->getName(), Loc)); // It's possible for the user to have set a very odd custom // setter selector that causes it to have a method family. if (getLangOpts().ObjCAutoRefCount) |