[clang-tools-extra] [clang-tidy][performance-unnecessary-value-param] Avoid in coroutines (PR #140912)

Baranov Victor via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 13 04:07:10 PDT 2025


================
@@ -63,7 +65,11 @@ void UnnecessaryValueParamCheck::registerMatchers(MatchFinder *Finder) {
   Finder->addMatcher(
       traverse(
           TK_AsIs,
-          functionDecl(hasBody(stmt()), isDefinition(), unless(isImplicit()),
+          functionDecl(hasBody(IsAllowedInCoroutines
+                                   ? stmt()
+                                   : static_cast<StmtMatcher>(
+                                         unless(coroutineBodyStmt()))),
----------------
vbvictor wrote:

Note that I wrapped `unless(coroutineBodyStmt())` in a `stmt()` so the resulting matcher would be `stmt(unless(coroutineBodyStmt()))`. Full line would be like this:
```cpp
hasBody(IsAllowedInCoroutines
                 ? stmt()
                 : stmt(unless(coroutineBodyStmt())))
```

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


More information about the cfe-commits mailing list