Author: aaronballman Date: Sun Mar 4 07:32:01 2018 New Revision: 326675 URL: http://llvm.org/viewvc/llvm-project?rev=326675&view=rev Log: 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. 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=326675&r1=326674&r2=326675&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaDeclAttr.cpp (original) +++ cfe/trunk/lib/Sema/SemaDeclAttr.cpp Sun Mar 4 07:32:01 2018 @@ -1842,22 +1842,6 @@ static void handleAliasAttr(Sema &S, Dec AL.getAttributeSpellingListIndex())); } -static void handleColdAttr(Sema &S, Decl *D, const AttributeList &AL) { - if (checkAttrMutualExclusion<HotAttr>(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<ColdAttr>(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 AL.getAttributeSpellingListIndex())); } -static void handleNotTailCalledAttr(Sema &S, Decl *D, - const AttributeList &AL) { - if (checkAttrMutualExclusion<AlwaysInlineAttr>(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<NakedAttr>(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( Attrs.getRange(), S.Context, Attrs.getAttributeSpellingListIndex())); } -static void handleCFAuditedTransferAttr(Sema &S, Decl *D, - const AttributeList &AL) { - if (checkAttrMutualExclusion<CFUnknownTransferAttr>(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<CFAuditedTransferAttr>(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 handleOwnershipAttr(S, D, AL); break; case AttributeList::AT_Cold: - handleColdAttr(S, D, AL); + handleSimpleAttributeWithExclusions<ColdAttr, HotAttr>(S, D, AL); break; case AttributeList::AT_Hot: - handleHotAttr(S, D, AL); + handleSimpleAttributeWithExclusions<HotAttr, ColdAttr>(S, D, AL); break; case AttributeList::AT_Naked: handleNakedAttr(S, D, AL); @@ -6154,10 +6096,12 @@ static void ProcessDeclAttribute(Sema &S handleObjCBoxable(S, D, AL); break; case AttributeList::AT_CFAuditedTransfer: - handleCFAuditedTransferAttr(S, D, AL); + handleSimpleAttributeWithExclusions<CFAuditedTransferAttr, + CFUnknownTransferAttr>(S, D, AL); break; case AttributeList::AT_CFUnknownTransfer: - handleCFUnknownTransferAttr(S, D, AL); + handleSimpleAttributeWithExclusions<CFUnknownTransferAttr, + CFAuditedTransferAttr>(S, D, AL); break; case AttributeList::AT_CFConsumed: case AttributeList::AT_NSConsumed: @@ -6225,10 +6169,12 @@ static void ProcessDeclAttribute(Sema &S handleSimpleAttribute<ReturnsTwiceAttr>(S, D, AL); break; case AttributeList::AT_NotTailCalled: - handleNotTailCalledAttr(S, D, AL); + handleSimpleAttributeWithExclusions<NotTailCalledAttr, + AlwaysInlineAttr>(S, D, AL); break; case AttributeList::AT_DisableTailCalls: - handleDisableTailCallsAttr(S, D, AL); + handleSimpleAttributeWithExclusions<DisableTailCallsAttr, + NakedAttr>(S, D, AL); break; case AttributeList::AT_Used: handleSimpleAttribute<UsedAttr>(S, D, AL); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits