Author: Aaron Ballman Date: 2021-04-02T11:35:10-04:00 New Revision: 3ebfa363f356eff744b73885023cc1fc62fad973
URL: https://github.com/llvm/llvm-project/commit/3ebfa363f356eff744b73885023cc1fc62fad973 DIFF: https://github.com/llvm/llvm-project/commit/3ebfa363f356eff744b73885023cc1fc62fad973.diff LOG: Remove attribute handling code for simple attributes; NFC Attributes that set the SimpleHandler flag in Attr.td don't need to be explicitly handled in SemaDeclAttr.cpp. Added: Modified: clang/include/clang/Basic/Attr.td clang/lib/Sema/SemaDeclAttr.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td index c7b68856aab0..b832d1df7172 100644 --- a/clang/include/clang/Basic/Attr.td +++ b/clang/include/clang/Basic/Attr.td @@ -2113,6 +2113,7 @@ def ObjCNonRuntimeProtocol : Attr { let Subjects = SubjectList<[ObjCProtocol], ErrorDiag>; let LangOpts = [ObjC]; let Documentation = [ObjCNonRuntimeProtocolDocs]; + let SimpleHandler = 1; } def ObjCRuntimeName : Attr { @@ -2247,12 +2248,14 @@ def SwiftBridgedTypedef : InheritableAttr { let Spellings = [GNU<"swift_bridged_typedef">]; let Subjects = SubjectList<[TypedefName], ErrorDiag>; let Documentation = [SwiftBridgedTypedefDocs]; + let SimpleHandler = 1; } def SwiftObjCMembers : Attr { let Spellings = [GNU<"swift_objc_members">]; let Subjects = SubjectList<[ObjCInterface], ErrorDiag>; let Documentation = [SwiftObjCMembersDocs]; + let SimpleHandler = 1; } def SwiftError : InheritableAttr { @@ -2284,6 +2287,7 @@ def SwiftNewType : InheritableAttr { def SwiftPrivate : InheritableAttr { let Spellings = [GNU<"swift_private">]; let Documentation = [SwiftPrivateDocs]; + let SimpleHandler = 1; } def NoDeref : TypeAttr { @@ -3667,6 +3671,7 @@ def LoaderUninitialized : Attr { let Spellings = [Clang<"loader_uninitialized">]; let Subjects = SubjectList<[GlobalVar]>; let Documentation = [LoaderUninitializedDocs]; + let SimpleHandler = 1; } def ObjCExternallyRetained : InheritableAttr { diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index b39460d33214..23b488c527b1 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -2650,11 +2650,6 @@ static void handleVisibilityAttr(Sema &S, Decl *D, const ParsedAttr &AL, D->addAttr(newAttr); } -static void handleObjCNonRuntimeProtocolAttr(Sema &S, Decl *D, - const ParsedAttr &AL) { - handleSimpleAttribute<ObjCNonRuntimeProtocolAttr>(S, D, AL); -} - static void handleObjCDirectAttr(Sema &S, Decl *D, const ParsedAttr &AL) { // objc_direct cannot be set on methods declared in the context of a protocol if (isa<ObjCProtocolDecl>(D->getDeclContext())) { @@ -7957,9 +7952,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, case ParsedAttr::AT_AnyX86NoCfCheck: handleNoCfCheckAttr(S, D, AL); break; - case ParsedAttr::AT_Leaf: - handleSimpleAttribute<LeafAttr>(S, D, AL); - break; case ParsedAttr::AT_NoThrow: if (!AL.isUsedAsTypeAttr()) handleSimpleAttribute<NoThrowAttr>(S, D, AL); @@ -8093,9 +8085,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, case ParsedAttr::AT_ObjCDirect: handleObjCDirectAttr(S, D, AL); break; - case ParsedAttr::AT_ObjCNonRuntimeProtocol: - handleObjCNonRuntimeProtocolAttr(S, D, AL); - break; case ParsedAttr::AT_ObjCDirectMembers: handleObjCDirectMembersAttr(S, D, AL); handleSimpleAttribute<ObjCDirectMembersAttr>(S, D, AL); @@ -8114,9 +8103,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, handleSimpleAttributeWithExclusions<DisableTailCallsAttr, NakedAttr>(S, D, AL); break; - case ParsedAttr::AT_NoMerge: - handleSimpleAttribute<NoMergeAttr>(S, D, AL); - break; case ParsedAttr::AT_Visibility: handleVisibilityAttr(S, D, AL, false); break; @@ -8324,9 +8310,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, case ParsedAttr::AT_SwiftBridge: handleSwiftBridge(S, D, AL); break; - case ParsedAttr::AT_SwiftBridgedTypedef: - handleSimpleAttribute<SwiftBridgedTypedefAttr>(S, D, AL); - break; case ParsedAttr::AT_SwiftError: handleSwiftError(S, D, AL); break; @@ -8336,12 +8319,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, case ParsedAttr::AT_SwiftNewType: handleSwiftNewType(S, D, AL); break; - case ParsedAttr::AT_SwiftObjCMembers: - handleSimpleAttribute<SwiftObjCMembersAttr>(S, D, AL); - break; - case ParsedAttr::AT_SwiftPrivate: - handleSimpleAttribute<SwiftPrivateAttr>(S, D, AL); - break; case ParsedAttr::AT_SwiftAsync: handleSwiftAsyncAttr(S, D, AL); break; @@ -8367,10 +8344,6 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, handleUninitializedAttr(S, D, AL); break; - case ParsedAttr::AT_LoaderUninitialized: - handleSimpleAttribute<LoaderUninitializedAttr>(S, D, AL); - break; - case ParsedAttr::AT_ObjCExternallyRetained: handleObjCExternallyRetainedAttr(S, D, AL); break; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits