]> granicus.if.org Git - clang/commitdiff
[analyzer] Reword FAQ
authorAnna Zaks <ganna@apple.com>
Fri, 1 Mar 2013 06:38:16 +0000 (06:38 +0000)
committerAnna Zaks <ganna@apple.com>
Fri, 1 Mar 2013 06:38:16 +0000 (06:38 +0000)
Reword the FAQ to stress more that the assert should be used only in case
the developer is sure that the issue is a false positive.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176335 91177308-0d34-0410-b5e6-96231b3b80d8

www/analyzer/faq.html

index 5c132b57f2e5c8ecf46bf427f163487bc0d6ae0b..129bfb63bb1bda453d4d0cdc54a5695fddf7a639 100644 (file)
@@ -68,13 +68,15 @@ int foo(int *b) {
 
 <img src="images/example_use_assert.png" alt="example use assert">
 
-<p>You can teach the analyzer facts about your code as well as document it by
-using assertions. In the contrived example above, the analyzer reports an error
-on the path which assumes that the loop is never entered. However, the owner of
-the code might know that the loop is always entered because the input parameter
-<tt>length</tt> is always greater than <tt>0</tt>. The false positive can be
-suppressed by asserting this knowledge, adding <tt>assert(length > 0)</tt> in
-the beginning of the function.</p>
+<p> In the contrived example above, the analyzer has detected that the body of 
+the loop is never entered for the case where <tt>length <= 0</tt>. In this 
+particular example, you may know that the loop will always be entered because 
+the input parameter <tt>length</tt> will be greater than zero in all calls to this 
+function. You can teach the analyzer facts about your code as well as document 
+it by using assertions. By adding <tt>assert(length > 0)</tt> in the beginning 
+of the function, you tell the analyzer that your code is never expecting a zero 
+or a negative value, so it won't need to test the correctness of those paths.
+</p>
 
 <pre class="code_example">
 int foo(int length) {