Index: clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp +++ clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp @@ -23,6 +23,7 @@ #include "ForwardingReferenceOverloadCheck.h" #include "InaccurateEraseCheck.h" #include "IncorrectRoundingsCheck.h" +#include "InfiniteLoopCheck.h" #include "IntegerDivisionCheck.h" #include "LambdaFunctionNameCheck.h" #include "MacroParenthesesCheck.h" @@ -88,6 +89,8 @@ "bugprone-inaccurate-erase"); CheckFactories.registerCheck( "bugprone-incorrect-roundings"); + CheckFactories.registerCheck( + "bugprone-infinite-loop"); CheckFactories.registerCheck( "bugprone-integer-division"); CheckFactories.registerCheck( Index: clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt =================================================================== --- clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt +++ clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt @@ -15,6 +15,7 @@ ForwardingReferenceOverloadCheck.cpp InaccurateEraseCheck.cpp IncorrectRoundingsCheck.cpp + InfiniteLoopCheck.cpp IntegerDivisionCheck.cpp LambdaFunctionNameCheck.cpp MacroParenthesesCheck.cpp Index: clang-tools-extra/trunk/docs/ReleaseNotes.rst =================================================================== --- clang-tools-extra/trunk/docs/ReleaseNotes.rst +++ clang-tools-extra/trunk/docs/ReleaseNotes.rst @@ -70,6 +70,86 @@ - New :doc:`bugprone-dynamic-static-initializers ` check. +- New OpenMP module. + + For checks specific to `OpenMP `_ API. + +- New :doc:`abseil-duration-addition + ` check. + + Checks for cases where addition should be performed in the ``absl::Time`` + domain. + +- New :doc:`abseil-duration-conversion-cast + ` check. + + Checks for casts of ``absl::Duration`` conversion functions, and recommends + the right conversion function instead. + +- New :doc:`abseil-duration-unnecessary-conversion + ` check. + + Finds and fixes cases where ``absl::Duration`` values are being converted to + numeric types and back again. + +- New :doc:`abseil-time-comparison + ` check. + + Prefer comparisons in the ``absl::Time`` domain instead of the integer + domain. + +- New :doc:`abseil-time-subtraction + ` check. + + Finds and fixes ``absl::Time`` subtraction expressions to do subtraction + in the Time domain instead of the numeric domain. + +- New :doc:`android-cloexec-pipe + ` check. + + This check detects usage of ``pipe()``. + +- New :doc:`android-cloexec-pipe2 + ` check. + + This checks ensures that ``pipe2()`` is called with the O_CLOEXEC flag. + +- New :doc:`bugprone-infinite-loop + ` check. + + Finds obvious infinite loops (loops where the condition variable is not + changed at all). + +- New :doc:`bugprone-unhandled-self-assignment + ` check. + + Finds user-defined copy assignment operators which do not protect the code + against self-assignment either by checking self-assignment explicitly or + using the copy-and-swap or the copy-and-move method. + +- New :doc:`bugprone-branch-clone + ` check. + + Checks for repeated branches in ``if/else if/else`` chains, consecutive + repeated branches in ``switch`` statements and indentical true and false + branches in conditional operators. + +- New :doc:`bugprone-posix-return + ` check. + + Checks if any calls to POSIX functions (except ``posix_openpt``) expect negative + return values. + +- New :doc:`fuchsia-default-arguments-calls + ` check. + + Warns if a function or method is called with default arguments. + This was previously done by `fuchsia-default-arguments check`, which has been + removed. + +- New :doc:`fuchsia-default-arguments-calls + ` check. + Finds instances where variables with static storage are initialized dynamically in header files. @@ -103,6 +183,10 @@ Now also checks if any calls to ``pthread_*`` functions expect negative return values. +- New :doc:`bugprone-infinite-loop ` + check to detect obvious infinite loops (loops where the condition variable is + not changed at all). + Improvements to include-fixer ----------------------------- Index: clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst =================================================================== --- clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst +++ clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst @@ -51,6 +51,7 @@ bugprone-forwarding-reference-overload bugprone-inaccurate-erase bugprone-incorrect-roundings + bugprone-infinite-loop bugprone-integer-division bugprone-lambda-function-name bugprone-macro-parentheses