diff options
author | Mandeep Singh Grang <mgrang@quicinc.com> | 2019-05-24 19:24:08 +0000 |
---|---|---|
committer | Mandeep Singh Grang <mgrang@quicinc.com> | 2019-05-24 19:24:08 +0000 |
commit | 0cdc5dddca009422ee6a1d72b487fb5c54a654db (patch) | |
tree | 854dd26b4167116cb399617c18164b3a725065aa /clang/docs | |
parent | 3e8b9d4a57ca4b5bdffa21a9101a790affe829ad (diff) | |
download | bcm5719-llvm-0cdc5dddca009422ee6a1d72b487fb5c54a654db.tar.gz bcm5719-llvm-0cdc5dddca009422ee6a1d72b487fb5c54a654db.zip |
[Analyzer] Checker for non-determinism caused by iteration of unordered container of pointers
Summary: Added a checker for non-determinism caused by iterating unordered containers like std::unordered_set containing pointer elements.
Reviewers: NoQ, george.karpenkov, whisperity, Szelethus, baloghadamsoftware
Reviewed By: Szelethus
Subscribers: mgorny, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, jdoerfert, Charusso, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D59279
llvm-svn: 361664
Diffstat (limited to 'clang/docs')
-rw-r--r-- | clang/docs/analyzer/checkers.rst | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/clang/docs/analyzer/checkers.rst b/clang/docs/analyzer/checkers.rst index b13d4d04d4d..6a266eb1d9e 100644 --- a/clang/docs/analyzer/checkers.rst +++ b/clang/docs/analyzer/checkers.rst @@ -211,8 +211,8 @@ Check for uninitialized values being returned to the caller. .. _cplusplus-checkers: -cpluslus -^^^^^^^^ +cplusplus +^^^^^^^^^ C++ Checkers. @@ -1951,6 +1951,20 @@ Check for out-of-bounds access in string functions; applies to:`` strncopy, strn int y = strlen((char *)&test); // warn } +alpha.nondeterminism.PointerIteration (C++) +""""""""""""""""""""""""""""""""""""""""""" +Check for non-determinism caused by iterating unordered containers of pointers. + +.. code-block:: c + + void test() { + int a = 1, b = 2; + std::unordered_set<int *> UnorderedPtrSet = {&a, &b}; + + for (auto i : UnorderedPtrSet) // warn + f(i); + } + alpha.nondeterminism.PointerSorting (C++) """"""""""""""""""""""""""""""""""""""""" Check for non-determinism caused by sorting of pointers. |