[clang-tools-extra] [llvm] [clang] Add clang-tidy check to suggest replacement of conditional statement with std::min/std::max (PR #77816)

Piotr Zegar via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 22 11:34:59 PST 2024


================
@@ -18,6 +18,45 @@ namespace clang::tidy::readability {
 
 static const llvm::StringRef AlgorithmHeader("<algorithm>");
 
+static bool MinCondition(const BinaryOperator::Opcode &Op,const Expr *CondLhs,const Expr *CondRhs,const Expr *AssignLhs,const Expr *AssignRhs,const ASTContext &Context){
+  return ((Op == BO_LT || Op == BO_LE) &&
+       (tidy::utils::areStatementsIdentical(CondLhs, AssignRhs, Context) &&
+        tidy::utils::areStatementsIdentical(CondRhs, AssignLhs, Context))) || 
+        ((Op == BO_GT || Op == BO_GE) && 
+        (tidy::utils::areStatementsIdentical(CondLhs, AssignLhs, Context) &&
+        tidy::utils::areStatementsIdentical(CondRhs, AssignRhs, Context)));
----------------
PiotrZSL wrote:

split this into 2 ifs, same in other functions

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


More information about the llvm-commits mailing list