Hi Adam, Is InfiniteLoopCheck.cpp missing?
I get CMake Error at /data/repo/master/llvm/cmake/modules/AddLLVM.cmake:443 (add_library): Cannot find source file: InfiniteLoopCheck.cpp /Mikael On Tue, 2019-09-24 at 07:43 +0000, Adam Balogh via cfe-commits wrote: > Author: baloghadamsoftware > Date: Tue Sep 24 00:43:26 2019 > New Revision: 372693 > > URL: http://llvm.org/viewvc/llvm-project?rev=372693&view=rev > Log: > [clang-tidy] New bugprone-infinite-loop check for detecting obvious > infinite loops > > Finding infinite loops is well-known to be impossible (halting > problem). > However, it is possible to detect some obvious infinite loops, for > example, > if the loop condition is not changed. Detecting such loops is > beneficial > since the tests will hang on programs containing infinite loops so > testing-time detection may be costly in large systems. Obvious cases > are > where the programmer forgets to increment/decrement the counter or > increments/decrements the wrong variable. > > Differential Revision: https://reviews.llvm.org/D64736 > > > Modified: > clang-tools-extra/trunk/clang- > tidy/bugprone/BugproneTidyModule.cpp > clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt > clang-tools-extra/trunk/docs/ReleaseNotes.rst > clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst > > Modified: clang-tools-extra/trunk/clang- > tidy/bugprone/BugproneTidyModule.cpp > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp?rev=372693&r1=372692&r2=372693&view=diff > ===================================================================== > ========= > --- clang-tools-extra/trunk/clang- > tidy/bugprone/BugproneTidyModule.cpp (original) > +++ clang-tools-extra/trunk/clang- > tidy/bugprone/BugproneTidyModule.cpp Tue Sep 24 00:43:26 2019 > @@ -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 @@ public: > "bugprone-inaccurate-erase"); > CheckFactories.registerCheck<IncorrectRoundingsCheck>( > "bugprone-incorrect-roundings"); > + CheckFactories.registerCheck<InfiniteLoopCheck>( > + "bugprone-infinite-loop"); > CheckFactories.registerCheck<IntegerDivisionCheck>( > "bugprone-integer-division"); > CheckFactories.registerCheck<LambdaFunctionNameCheck>( > > Modified: clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt?rev=372693&r1=372692&r2=372693&view=diff > ===================================================================== > ========= > --- clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt > (original) > +++ clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt Tue > Sep 24 00:43:26 2019 > @@ -15,6 +15,7 @@ add_clang_library(clangTidyBugproneModul > ForwardingReferenceOverloadCheck.cpp > InaccurateEraseCheck.cpp > IncorrectRoundingsCheck.cpp > + InfiniteLoopCheck.cpp > IntegerDivisionCheck.cpp > LambdaFunctionNameCheck.cpp > MacroParenthesesCheck.cpp > > Modified: clang-tools-extra/trunk/docs/ReleaseNotes.rst > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/ReleaseNotes.rst?rev=372693&r1=372692&r2=372693&view=diff > ===================================================================== > ========= > --- clang-tools-extra/trunk/docs/ReleaseNotes.rst (original) > +++ clang-tools-extra/trunk/docs/ReleaseNotes.rst Tue Sep 24 00:43:26 > 2019 > @@ -70,6 +70,86 @@ Improvements to clang-tidy > - New :doc:`bugprone-dynamic-static-initializers > <clang-tidy/checks/bugprone-dynamic-static-initializers>` check. > > +- New OpenMP module. > + > + For checks specific to `OpenMP < > https://protect2.fireeye.com/url?k=da8eb47f-860496b0-da8ef4e4-0cc47ad93ea4-0c1ed127bf5b3ffa&q=1&u=https%3A%2F%2Fwww.openmp.org%2F>`_ > API. > + > +- New :doc:`abseil-duration-addition > + <clang-tidy/checks/abseil-duration-addition>` check. > + > + Checks for cases where addition should be performed in the > ``absl::Time`` > + domain. > + > +- New :doc:`abseil-duration-conversion-cast > + <clang-tidy/checks/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 > + <clang-tidy/checks/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 > + <clang-tidy/checks/abseil-time-comparison>` check. > + > + Prefer comparisons in the ``absl::Time`` domain instead of the > integer > + domain. > + > +- New :doc:`abseil-time-subtraction > + <clang-tidy/checks/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 > + <clang-tidy/checks/android-cloexec-pipe>` check. > + > + This check detects usage of ``pipe()``. > + > +- New :doc:`android-cloexec-pipe2 > + <clang-tidy/checks/android-cloexec-pipe2>` check. > + > + This checks ensures that ``pipe2()`` is called with the O_CLOEXEC > flag. > + > +- New :doc:`bugprone-infinite-loop > + <clang-tidy/checks/bugprone-infinite-loop>` check. > + > + Finds obvious infinite loops (loops where the condition variable > is not > + changed at all). > + > +- New :doc:`bugprone-unhandled-self-assignment > + <clang-tidy/checks/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 > + <clang-tidy/checks/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 > + <clang-tidy/checks/bugprone-posix-return>` check. > + > + Checks if any calls to POSIX functions (except ``posix_openpt``) > expect negative > + return values. > + > +- New :doc:`fuchsia-default-arguments-calls > + <clang-tidy/checks/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 > + <clang-tidy/checks/fuchsia-default-arguments-calls>` check. > + > Finds instances where variables with static storage are > initialized > dynamically in header files. > > @@ -103,6 +183,10 @@ Improvements to clang-tidy > Now also checks if any calls to ``pthread_*`` functions expect > negative return > values. > > +- New :doc:`bugprone-infinite-loop <clang-tidy/checks/bugprone- > infinite-loop>` > + check to detect obvious infinite loops (loops where the condition > variable is > + not changed at all). > + > Improvements to include-fixer > ----------------------------- > > > Modified: clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst?rev=372693&r1=372692&r2=372693&view=diff > ===================================================================== > ========= > --- clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst > (original) > +++ clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst Tue Sep > 24 00:43:26 2019 > @@ -51,6 +51,7 @@ Clang-Tidy Checks > bugprone-forwarding-reference-overload > bugprone-inaccurate-erase > bugprone-incorrect-roundings > + bugprone-infinite-loop > bugprone-integer-division > bugprone-lambda-function-name > bugprone-macro-parentheses > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits