Author: Raphael Isemann Date: 2020-08-11T16:23:51+02:00 New Revision: 442a80292d50d895396eb14418bd471e7da68fd0
URL: https://github.com/llvm/llvm-project/commit/442a80292d50d895396eb14418bd471e7da68fd0 DIFF: https://github.com/llvm/llvm-project/commit/442a80292d50d895396eb14418bd471e7da68fd0.diff LOG: [clang] Don't make synthesized accessor stub functions visible twice `addDecl` is making the Decl visible, so there is no need to make it explicitly visible again. Making it visible twice will also make the lookup storage less efficient and potentially lead to crashes, see D84827 for that. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D84828 Added: Modified: clang/lib/Sema/SemaDeclObjC.cpp Removed: ################################################################################ diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index d376880a40e8..89815b838500 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -3922,15 +3922,11 @@ Decl *Sema::ActOnAtEnd(Scope *S, SourceRange AtEnd, ArrayRef<Decl *> allMethods, if (auto *OID = dyn_cast<ObjCImplementationDecl>(CurContext)) { for (auto PropImpl : OID->property_impls()) { if (auto *Getter = PropImpl->getGetterMethodDecl()) - if (Getter->isSynthesizedAccessorStub()) { - OID->makeDeclVisibleInContext(Getter); + if (Getter->isSynthesizedAccessorStub()) OID->addDecl(Getter); - } if (auto *Setter = PropImpl->getSetterMethodDecl()) - if (Setter->isSynthesizedAccessorStub()) { - OID->makeDeclVisibleInContext(Setter); + if (Setter->isSynthesizedAccessorStub()) OID->addDecl(Setter); - } } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits