[PATCH] D28022: [clang-tidy] Handle constructors in performance-unnecessary-value-param

Malcolm Parsons via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 21 08:56:29 PST 2016


malcolm.parsons added inline comments.


================
Comment at: clang-tidy/performance/UnnecessaryValueParamCheck.cpp:96
 
-  // Do not trigger on non-const value parameters when:
-  // 1. they are in a constructor definition since they can likely trigger
-  //    modernize-pass-by-value which will suggest to move the argument.
-  if (!IsConstQualified && (llvm::isa<CXXConstructorDecl>(Function) ||
-                            !Function->doesThisDeclarationHaveABody()))
-    return;
+  const FunctionDecl &Definition = *Function->getDefinition();
 
----------------
malcolm.parsons wrote:
> aaron.ballman wrote:
> > Instead of using `hasBody()` and `getDefinition()`, you should use `FunctionDecl::getBody()` and pass in an argument to receive the function's definition.
> I don't want the body - the `CXXCtorInitializer`s are not in it.
I should use `hasBody()` and pass in an argument.


https://reviews.llvm.org/D28022





More information about the cfe-commits mailing list