From: Aaron Ballman Date: Sun, 4 Mar 2018 15:32:01 +0000 (+0000) Subject: Replace the custom handling for several attributes; NFC. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=032bd73700e1e0f2b744dd0ff9169f603598a5e2;p=clang Replace the custom handling for several attributes; NFC. These attributes were only customized because of the need to check for attribute mutual exclusion, but we now have the handleSimpleAttributeWithExclusions() helper function to handle these scenarios. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326675 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp index a58726fae5..b35c3114ff 100644 --- a/lib/Sema/SemaDeclAttr.cpp +++ b/lib/Sema/SemaDeclAttr.cpp @@ -1842,22 +1842,6 @@ static void handleAliasAttr(Sema &S, Decl *D, const AttributeList &AL) { AL.getAttributeSpellingListIndex())); } -static void handleColdAttr(Sema &S, Decl *D, const AttributeList &AL) { - if (checkAttrMutualExclusion(S, D, AL.getRange(), AL.getName())) - return; - - D->addAttr(::new (S.Context) ColdAttr(AL.getRange(), S.Context, - AL.getAttributeSpellingListIndex())); -} - -static void handleHotAttr(Sema &S, Decl *D, const AttributeList &AL) { - if (checkAttrMutualExclusion(S, D, AL.getRange(), AL.getName())) - return; - - D->addAttr(::new (S.Context) HotAttr(AL.getRange(), S.Context, - AL.getAttributeSpellingListIndex())); -} - static void handleTLSModelAttr(Sema &S, Decl *D, const AttributeList &AL) { StringRef Model; @@ -2066,26 +2050,6 @@ static void handleDependencyAttr(Sema &S, Scope *Scope, Decl *D, AL.getAttributeSpellingListIndex())); } -static void handleNotTailCalledAttr(Sema &S, Decl *D, - const AttributeList &AL) { - if (checkAttrMutualExclusion(S, D, AL.getRange(), - AL.getName())) - return; - - D->addAttr(::new (S.Context) NotTailCalledAttr( - AL.getRange(), S.Context, AL.getAttributeSpellingListIndex())); -} - -static void handleDisableTailCallsAttr(Sema &S, Decl *D, - const AttributeList &AL) { - if (checkAttrMutualExclusion(S, D, AL.getRange(), - AL.getName())) - return; - - D->addAttr(::new (S.Context) DisableTailCallsAttr( - AL.getRange(), S.Context, AL.getAttributeSpellingListIndex())); -} - static void handleUnusedAttr(Sema &S, Decl *D, const AttributeList &AL) { bool IsCXX17Attr = AL.isCXX11Attribute() && !AL.getScopeName(); @@ -4807,28 +4771,6 @@ static void handleObjCRequiresSuperAttr(Sema &S, Decl *D, Attrs.getRange(), S.Context, Attrs.getAttributeSpellingListIndex())); } -static void handleCFAuditedTransferAttr(Sema &S, Decl *D, - const AttributeList &AL) { - if (checkAttrMutualExclusion(S, D, AL.getRange(), - AL.getName())) - return; - - D->addAttr(::new (S.Context) - CFAuditedTransferAttr(AL.getRange(), S.Context, - AL.getAttributeSpellingListIndex())); -} - -static void handleCFUnknownTransferAttr(Sema &S, Decl *D, - const AttributeList &AL) { - if (checkAttrMutualExclusion(S, D, AL.getRange(), - AL.getName())) - return; - - D->addAttr(::new (S.Context) - CFUnknownTransferAttr(AL.getRange(), S.Context, - AL.getAttributeSpellingListIndex())); -} - static void handleObjCBridgeAttr(Sema &S, Decl *D, const AttributeList &AL) { IdentifierLoc *Parm = AL.isArgIdent(0) ? AL.getArgAsIdent(0) : nullptr; @@ -6100,10 +6042,10 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, handleOwnershipAttr(S, D, AL); break; case AttributeList::AT_Cold: - handleColdAttr(S, D, AL); + handleSimpleAttributeWithExclusions(S, D, AL); break; case AttributeList::AT_Hot: - handleHotAttr(S, D, AL); + handleSimpleAttributeWithExclusions(S, D, AL); break; case AttributeList::AT_Naked: handleNakedAttr(S, D, AL); @@ -6154,10 +6096,12 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, handleObjCBoxable(S, D, AL); break; case AttributeList::AT_CFAuditedTransfer: - handleCFAuditedTransferAttr(S, D, AL); + handleSimpleAttributeWithExclusions(S, D, AL); break; case AttributeList::AT_CFUnknownTransfer: - handleCFUnknownTransferAttr(S, D, AL); + handleSimpleAttributeWithExclusions(S, D, AL); break; case AttributeList::AT_CFConsumed: case AttributeList::AT_NSConsumed: @@ -6225,10 +6169,12 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, handleSimpleAttribute(S, D, AL); break; case AttributeList::AT_NotTailCalled: - handleNotTailCalledAttr(S, D, AL); + handleSimpleAttributeWithExclusions(S, D, AL); break; case AttributeList::AT_DisableTailCalls: - handleDisableTailCallsAttr(S, D, AL); + handleSimpleAttributeWithExclusions(S, D, AL); break; case AttributeList::AT_Used: handleSimpleAttribute(S, D, AL);