r326675 - Replace the custom handling for several attributes; NFC.
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Sun Mar 4 07:32:01 PST 2018
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);
More information about the cfe-commits
mailing list