================ @@ -402,7 +402,7 @@ def warn_unused_function : Warning<"unused function %0">, InGroup<UnusedFunction>, DefaultIgnore; def warn_unused_template : Warning<"unused %select{function|variable}0 template %1">, InGroup<UnusedTemplate>, DefaultIgnore; -def warn_unused_member_function : Warning<"unused member function %0">, +def warn_unused_member_function : Warning<"unused %select{constructor|member function %1}0">, ---------------- AaronBallman wrote:
> However, note that only default constructors are considered “special members” > (see CXXSpecialMemberKind). It supports more than just a default constructor: https://github.com/llvm/llvm-project/blob/d0fb83531b07f608da064ed98e6213f32a5544e9/clang/include/clang/Sema/Sema.h#L422 So I was thinking something more like: ``` def warn_unused_member_function : Warning< "unused %select{member function %1|%sub{select_special_member_kind}1}0">, InGroup<UnusedMemberFunction>, DefaultIgnore; ``` and ``` DefaultedFunctionKind DFK = getDefaultedFunctionKind(DiagD); if (DFK.isSpecialMember()) Diag(DiagD->getLocation(), diag::warn_unused_member_function) << /*special member*/1 << DFK.asSpecialMember()) << DiagRange; else if (isa<CXXMethodDecl>(DiagD)) Diag(DiagD->getLocation(), diag::warn_unused_member_function) << /*member*/0 << DiagD << DiagRange; else Diag(DiagD->getLocation(), diag::warn_unused_function) << DiagD << DiagRange; ``` https://github.com/llvm/llvm-project/pull/84515 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits