From f5e72b0448eb1152cbd25303fbd359e540b6cca9 Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Fri, 10 Apr 2015 19:26:43 +0000 Subject: [clang-tidy] Add readability-simplify-boolean-expr check to clang-tidy This check looks for comparisons between boolean expressions and boolean constants and simplifies them to just use the appropriate boolean expression directly. if (b == true) becomes if (b) if (b == false) becomes if (!b) if (b && true) becomes if (b) if (b && false) becomes if (false) if (b || true) becomes if (true) if (b || false) becomes if (b) e ? true : false becomes e e ? false : true becomes !e if (true) t(); else f(); becomes t(); if (false) t(); else f(); becomes f(); if (e) return true; else return false; becomes return (e); if (e) return false; else return true; becomes return !(e); if (e) b = true; else b = false; becomes b = e; if (e) b = false; else b = true; becomes b = !(e); http://reviews.llvm.org/D7648 Patch by Richard Thomson! llvm-svn: 234626 --- clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp') diff --git a/clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp b/clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp index c82062092cc..bf118f88ace 100644 --- a/clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp @@ -18,6 +18,7 @@ #include "RedundantSmartptrGetCheck.h" #include "RedundantStringCStrCheck.h" #include "ShrinkToFitCheck.h" +#include "SimplifyBooleanExprCheck.h" namespace clang { namespace tidy { @@ -40,7 +41,10 @@ public: "readability-redundant-smartptr-get"); CheckFactories.registerCheck( "readability-redundant-string-cstr"); - CheckFactories.registerCheck("readability-shrink-to-fit"); + CheckFactories.registerCheck( + "readability-shrink-to-fit"); + CheckFactories.registerCheck( + "readability-simplify-boolean-expr"); } }; -- cgit v1.2.3