aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land.
LGTM aside from a few minor nits/questions. ================ Comment at: clang/docs/AutomaticReferenceCounting.rst:1747 +contrast with ``__unsafe_unretained``, an externally-retained variable still +behaves as a strong variable outside of initialization and deinitialization. For +instance, when an externally-retained variable is captured in a block the value ---------------- deinitialization -> destruction ? ================ Comment at: clang/lib/Sema/SemaDeclAttr.cpp:6160 + for (unsigned I = 0, E = getFunctionOrMethodNumParams(D); I != E; ++I) { + auto *PVD = const_cast<ParmVarDecl *>(getFunctionOrMethodParam(D, I)); + QualType Ty = PVD->getType(); ---------------- The `const_cast<>` here feels a bit nasty, but I'm not certain it's worth an overload of `getFunctionOrMethodParam()` to hide it away. Your call on whether you want to add the overload or not. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55865/new/ https://reviews.llvm.org/D55865 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits