Author: Saleem Abdulrasool Date: 2020-09-25T17:01:06Z New Revision: 76eb163259c46171559a49111a394a3e48d1e523
URL: https://github.com/llvm/llvm-project/commit/76eb163259c46171559a49111a394a3e48d1e523 DIFF: https://github.com/llvm/llvm-project/commit/76eb163259c46171559a49111a394a3e48d1e523.diff LOG: Sema: remove unnecessary parameter for SwiftName handling (NFCI) This code never actually did anything in the implementation. `mergeDeclAttribute` is declared as `static`, and referenced exactly once in the file: from `Sema::mergeDeclAttributes`. `Sema::mergeDeclAttributes` sets `LocalAMK` to `AMK_None`. If the attribute is `DeprecatedAttr`, `UnavailableAttr`, or `AvailabilityAttr` then the `LocalAMK` is updated. However, because we are dealing with a `SwiftNameDeclAttr` here, `LocalAMK` remains `AMK_None`. This is then passed to the function which will as a result pass the value of `AMK_None == AMK_Override` aka `false`. Simply propagate the value through and erase the dead codepath. Thanks to Aaron Ballman for flagging the use of the availability merge kind here leading to this simplification! Differential Revision: https://reviews.llvm.org/D88263 Reviewed By: Aaron Ballman Added: Modified: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDeclAttr.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h index 10b8e7838e47..9559075935d8 100644 --- a/clang/include/clang/Sema/Sema.h +++ b/clang/include/clang/Sema/Sema.h @@ -3070,7 +3070,7 @@ class Sema final { mergeSpeculativeLoadHardeningAttr(Decl *D, const SpeculativeLoadHardeningAttr &AL); SwiftNameAttr *mergeSwiftNameAttr(Decl *D, const SwiftNameAttr &SNA, - StringRef Name, bool Override); + StringRef Name); OptimizeNoneAttr *mergeOptimizeNoneAttr(Decl *D, const AttributeCommonInfo &CI); InternalLinkageAttr *mergeInternalLinkageAttr(Decl *D, const ParsedAttr &AL); diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 434f13e38e3c..2599e3b46e4e 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -2593,8 +2593,7 @@ static bool mergeDeclAttribute(Sema &S, NamedDecl *D, } else if (const auto *MA = dyn_cast<MinSizeAttr>(Attr)) NewAttr = S.mergeMinSizeAttr(D, *MA); else if (const auto *SNA = dyn_cast<SwiftNameAttr>(Attr)) - NewAttr = S.mergeSwiftNameAttr(D, *SNA, SNA->getName(), - AMK == Sema::AMK_Override); + NewAttr = S.mergeSwiftNameAttr(D, *SNA, SNA->getName()); else if (const auto *OA = dyn_cast<OptimizeNoneAttr>(Attr)) NewAttr = S.mergeOptimizeNoneAttr(D, *OA); else if (const auto *InternalLinkageA = dyn_cast<InternalLinkageAttr>(Attr)) diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 00cad5c11c32..d5f08faccc92 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -4282,13 +4282,8 @@ NoSpeculativeLoadHardeningAttr *Sema::mergeNoSpeculativeLoadHardeningAttr( } SwiftNameAttr *Sema::mergeSwiftNameAttr(Decl *D, const SwiftNameAttr &SNA, - StringRef Name, bool Override) { + StringRef Name) { if (const auto *PrevSNA = D->getAttr<SwiftNameAttr>()) { - if (Override) { - // FIXME: warn about incompatible override - return nullptr; - } - if (PrevSNA->getName() != Name && !PrevSNA->isImplicit()) { Diag(PrevSNA->getLocation(), diag::err_attributes_are_not_compatible) << PrevSNA << &SNA; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits