diff options
author | Mandeep Singh Grang <mgrang@quicinc.com> | 2019-03-08 20:13:53 +0000 |
---|---|---|
committer | Mandeep Singh Grang <mgrang@quicinc.com> | 2019-03-08 20:13:53 +0000 |
commit | c0773ab6a164ba176e7f56e54142ab9a42738606 (patch) | |
tree | c6fc244d09afddca67ccd62b990fa9070fb0366d /clang/www | |
parent | 78fcb8381fea0c754bdb23c107dce536fd0b2437 (diff) | |
download | llvm-c0773ab6a164ba176e7f56e54142ab9a42738606.zip llvm-c0773ab6a164ba176e7f56e54142ab9a42738606.tar.gz llvm-c0773ab6a164ba176e7f56e54142ab9a42738606.tar.bz2 |
[Analyzer] Checker for non-determinism caused by sorting of pointer-like elements
Summary:
Added a new category of checkers for non-determinism. Added a checker for non-determinism
caused due to sorting containers with pointer-like elements.
Reviewers: NoQ, george.karpenkov, whisperity, Szelethus
Reviewed By: NoQ, Szelethus
Subscribers: Charusso, baloghadamsoftware, jdoerfert, donat.nagy, dkrupp, martong, dblaikie, MTC, Szelethus, mgorny, xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D50488
llvm-svn: 355720
Diffstat (limited to 'clang/www')
-rw-r--r-- | clang/www/analyzer/alpha_checks.html | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/www/analyzer/alpha_checks.html b/clang/www/analyzer/alpha_checks.html index beab87b..b486c60 100644 --- a/clang/www/analyzer/alpha_checks.html +++ b/clang/www/analyzer/alpha_checks.html @@ -33,6 +33,7 @@ Patches welcome! <li><a href="#osx_alpha_checkers">OS X Alpha Checkers</a></li> <li><a href="#security_alpha_checkers">Security Alpha Checkers</a></li> <li><a href="#unix_alpha_checkers">Unix Alpha Checkers</a></li> +<li><a href="#nondeterminism_alpha_checkers">Non-determinism Alpha Checkers</a></li> </ul> <!-- ============================= clone alpha ============================= --> @@ -1174,6 +1175,28 @@ void test(char *y) { </tbody></table> +<!-- =========================== nondeterminism alpha =========================== --> +<h3 id="nondeterminism_alpha_checkers">Non-determinism Alpha Checkers</h3> +<table class="checkers"> +<colgroup><col class="namedescr"><col class="example"></colgroup> +<thead><tr><td>Name, Description</td><td>Example</td></tr></thead> + +<tbody> +<tr><td><a id="alpha.nondeterminism.PointerSorting"><div class="namedescr expandable"><span class="name"> +alpha.nondeterminism.PointerSorting</span><span class="lang"> +(C++)</span><div class="descr"> +Check for non-determinism caused by sorting of pointers.</div></div></a></td> +<td><div class="exampleContainer expandable"> +<div class="example"><pre> +// C++ +void test() { + int a = 1, b = 2; + std::vector<int *> V = {&a, &b}; + std::sort(V.begin(), V.end()); // warn +} +</pre></div></div></td></tr> +</tbody></table> + </div> <!-- page --> </div> <!-- content --> </body> |