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