[clang] [clang] Diagnose [[nodiscard]] return types in Objective-C++ (PR #142541)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 6 05:52:29 PDT 2025
================
@@ -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
More information about the cfe-commits
mailing list