gribozavr2 added a comment. Since I seem to be in the minority about thinking that this check does not pull its weight, I reviewed the code, and will LGTM and push once the few small issues are fixed.
================ Comment at: clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp:36 + + return FixItHint::CreateReplacement( + Outer->getSourceRange(), ---------------- We usually try to make the replacement as small as possible. In the case of this checker, the replacement should move the closing parenthesis or the closing bracket after the RHS of the binary expression. ================ Comment at: clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp:73 + const auto CXXConstructorWithSingleIntArg = + cxxConstructExpr(argumentCountIs(1), hasArgument(0, IntExpr)); + ---------------- It does not have to be a single argument, the same typo can happen with the last argument of the constructor: ``` A *ptr = new A(a, b, c) + 1; // as written A *ptr = new A(a, b, c + 1); // should have been ``` ================ Comment at: clang-tools-extra/test/clang-tidy/checkers/bugprone-misplaced-pointer-arithmetic-in-alloc.c:12 + // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: arithmetic operation is applied to the result of malloc() instead of its size-like argument + // CHECK-FIXES: {{^ char \*p = \(char \*\)malloc\(n}} + 10{{\);$}} + ---------------- I don't think the check lines in this file need regexes. You can match literal text and avoid having to escape special characters: CHECK-FIXES: char *p = ...; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71001/new/ https://reviews.llvm.org/D71001 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits