aboutsummaryrefslogtreecommitdiff
path: root/clang/www
diff options
context:
space:
mode:
authorMandeep Singh Grang <mgrang@quicinc.com>2019-03-08 20:13:53 +0000
committerMandeep Singh Grang <mgrang@quicinc.com>2019-03-08 20:13:53 +0000
commitc0773ab6a164ba176e7f56e54142ab9a42738606 (patch)
treec6fc244d09afddca67ccd62b990fa9070fb0366d /clang/www
parent78fcb8381fea0c754bdb23c107dce536fd0b2437 (diff)
downloadllvm-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.html23
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>