[PATCH] D107450: [clang-tidy] Fix wrong FixIt in performance-move-const-arg

gehry via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 7 01:21:09 PST 2022


Sockke added inline comments.


================
Comment at: clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp:161
+      // Generate notes for an invocation with an rvalue reference parameter.
+      const auto *ReceivingCallExpr = dyn_cast<CallExpr>(ReceivingExpr);
+      const auto *ReceivingConstructExpr =
----------------
`ReceivingExpr` is not null if `IsRVRefParam` is true.


================
Comment at: clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp:165
+      // Skipping the invocation which is a template instantiation.
+      if ((!ReceivingCallExpr || !ReceivingCallExpr->getDirectCallee() ||
+           ReceivingCallExpr->getDirectCallee()->isTemplateInstantiation()) &&
----------------
Add a check for `getDirectCallee()`.


================
Comment at: clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp:175
+          ReceivingCallExpr
+              ? ReceivingCallExpr->getDirectCallee()->getUnderlyingDecl()
+              : ReceivingConstructExpr->getConstructor()->getUnderlyingDecl();
----------------
I have added a check for `getDirectCallee` before here.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107450/new/

https://reviews.llvm.org/D107450



More information about the cfe-commits mailing list