[clang-tools-extra] [clang-tidy]bugprone-unused-return-value ignore `++` and `--` operator overloading (PR #84922)

Julian Schmidt via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 14 08:17:17 PDT 2024


================
@@ -169,16 +176,13 @@ void UnusedReturnValueCheck::registerMatchers(MatchFinder *Finder) {
           callee(functionDecl(
               // Don't match void overloads of checked functions.
               unless(returns(voidType())),
-              // Don't match copy or move assignment operator.
-              unless(cxxMethodDecl(isOperatorOverloading(
-                  {OO_Equal, OO_PlusEqual, OO_MinusEqual, OO_StarEqual,
-                   OO_SlashEqual, OO_PercentEqual, OO_CaretEqual, OO_AmpEqual,
-                   OO_PipeEqual, OO_LessLessEqual, OO_GreaterGreaterEqual}))),
               anyOf(
                   isInstantiatedFrom(
                       matchers::matchesAnyListedName(CheckedFunctions)),
                   returns(hasCanonicalType(hasDeclaration(namedDecl(
-                      matchers::matchesAnyListedName(CheckedReturnTypes)))))))))
+                      matchers::matchesAnyListedName(CheckedReturnTypes)))))))),
+          // Don't match copy or move assignment operator.
+          unless(callee(functionDecl(isAssignmentOverloadedOperatorMethod()))))
----------------
5chmidti wrote:

Why did you move this down here? This can be written as `unless(isAssignmentOverloadedOperatorMethod())` under the void check, like before.

https://github.com/llvm/llvm-project/pull/84922


More information about the cfe-commits mailing list