[PATCH] D26176: [Clang-tidy] Fix copy-paste error in misc-redundant-expression detected by PVS-Studio

Eugene Zelenko via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 31 17:38:39 PDT 2016


Eugene.Zelenko created this revision.
Eugene.Zelenko added reviewers: alexfh, aaron.ballman, hokein, etienneb.
Eugene.Zelenko added subscribers: cfe-commits, Prazek.
Eugene.Zelenko set the repository for this revision to rL LLVM.

Unfortunately, misc-redundant-expression didn't detect problem in own code.

I also fixed some  Include What You Use and modernize-use-bool-literals warnings.

See http://www.viva64.com/en/b/0446/ for full article about problems found in LLVM code by PVS-Studio.


Repository:
  rL LLVM

https://reviews.llvm.org/D26176

Files:
  llvm-svn.src/tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp


Index: llvm-svn.src/tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
===================================================================
--- llvm-svn.src/tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
+++ llvm-svn.src/tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
@@ -12,7 +12,20 @@
 #include "../utils/OptionsUtils.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
+#include "clang/Basic/LLVM.h"
+#include "clang/Basic/SourceLocation.h"
+#include "clang/Basic/SourceManager.h"
 #include "clang/Lex/Lexer.h"
+#include "llvm/ADT/APInt.h"
+#include "llvm/ADT/APSInt.h"
+#include "llvm/ADT/FoldingSet.h"
+#include "llvm/Support/Casting.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <set>
+#include <string>
+#include <vector>
 
 using namespace clang::ast_matchers;
 using namespace clang::tidy::matchers;
@@ -171,7 +184,7 @@
   }
 
   // Handle cases where the constants are different.
-  if ((OpcodeLHS == BO_EQ || OpcodeLHS == BO_LE || OpcodeLHS == BO_LE) &&
+  if ((OpcodeLHS == BO_EQ || OpcodeLHS == BO_LT || OpcodeLHS == BO_LE) &&
       (OpcodeRHS == BO_EQ || OpcodeRHS == BO_GT || OpcodeRHS == BO_GE))
     return true;
 
@@ -401,7 +414,7 @@
     // Operand received with implicit comparator (cast).
     Opcode = BO_NE;
     OperandExpr = Cast;
-    Value = APSInt(32, 0);
+    Value = APSInt(32, false);
   } else {
     return false;
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26176.76510.patch
Type: text/x-patch
Size: 1476 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161101/49de529a/attachment.bin>


More information about the cfe-commits mailing list