================ @@ -272,6 +273,26 @@ QualType ObjCMessageExpr::getCallReturnType(ASTContext &Ctx) const { return Ctx.getReferenceQualifiedType(this); } +std::pair<const NamedDecl *, const Attr *> +ObjCMessageExpr::getUnusedResultAttr(ASTContext &Ctx) const { + // If the callee is marked nodiscard, return that attribute + if (const ObjCMethodDecl *MD = getMethodDecl()) + if (const auto *A = MD->getAttr<WarnUnusedResultAttr>()) + return {nullptr, A}; ---------------- erichkeane wrote:
Can you better explain that? What happens if this DOES set the `MD` correctly? Do we have a test that shows the behavior change? https://github.com/llvm/llvm-project/pull/142541 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits