]> granicus.if.org Git - clang/commitdiff
Clang static analyzer docs: fix a couple of HTML markup issues and non-UTF-8
authorDmitri Gribenko <gribozavr@gmail.com>
Sat, 6 Oct 2012 17:14:39 +0000 (17:14 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Sat, 6 Oct 2012 17:14:39 +0000 (17:14 +0000)
characters.

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

www/analyzer/available_checks.html
www/analyzer/potential_checkers.html

index 3a902a3d36f5d9684e6a9e9f02c6d51115145593..12d836c483ef85f9606ed1551724a02decff13b2 100644 (file)
 <tr>
 <td><b>osx.coreFoundation.CFRetainRelease</b></td><td>Check for null arguments to CFRetain/CFRelease.</td>
 </tr>
+<tr>
 <td><b>osx.coreFoundation.containers.OutOfBounds</b></td><td>Checks for index out-of-bounds when using 'CFArray' API.</td>
 </tr>
 <tr>
index 85155c095ccccd6a06fd229dfe3abb1421a13f6f..a2d637548a0eccabd9728ded9cdec88afc974abc 100644 (file)
@@ -18,7 +18,7 @@
 <div id="content">
 <h1>List of potential checkers</h1>
 
-<!---------------------------- allocation/deallocation -------------------------->
+<!-- ========================= allocation/deallocation ======================= -->
 <h3>allocation/deallocation</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -176,7 +176,7 @@ void test() {
 <tr><td><span class="name">memory.NegativeArraySize
 <br>enhancement to experimental.security.MallocOverflow<br>(C, C++)
 </span><br><br>
-\91n\92 is used to specify the buffer size may be negative
+'n' is used to specify the buffer size may be negative
 </td><td><pre>
 #include &lt;stdlib.h&gt;
 
@@ -189,7 +189,7 @@ void test() {
 
 </table>
 
-<!-------------------------- constructors/destructors ------------------------->
+<!-- ======================= constructors/destructors ====================== -->
 <h3>constructors/destructors</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -223,7 +223,7 @@ class A {
 
 </table>
 
-<!--------------------------------- exceptions -------------------------------->
+<!-- ============================== exceptions ============================= -->
 <h3>exceptions</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -260,7 +260,7 @@ void f() throw(int) {
 
 </table>
 
-<!---------------------------- smart pointers --------------------------------->
+<!-- ========================= smart pointers ============================== -->
 <h3>smart pointers</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -286,7 +286,7 @@ void test() {
 
 </table>
 
-<!---------------------------- undefined behavior ----------------------------->
+<!-- ========================= undefined behavior ========================== -->
 <h3>undefined behavior</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -432,7 +432,7 @@ void test() {
   B *b1 = new B;
   B b2;
   new (b1) T;
-  new (&b2) T;
+  new (&amp;b2) T;
   delete b1; // warn
 } // warn
 </pre></td><td></td></tr>
@@ -485,7 +485,7 @@ void test() {
   *iq = 1; // warn
 
   const Y y;
-  Y* p = const_cast&lt;Y*&gt;(&y);
+  Y* p = const_cast&lt;Y*&gt;(&amp;y);
   p-&gt;x.i = 1; // ok
   p-&gt;x.j = 1; // warn
 }
@@ -544,10 +544,10 @@ struct non_POD : public POD {
 extern POD pod;
 extern non_POD non_pod;
 
-int *p1 = &non_pod.j; // warn
-int *p2 = &non_pod.pod.i; // warn
-int *p3 = &pod.i; // ok
-POD *p4 = & non_pod; // warn
+int *p1 = &amp;non_pod.j; // warn
+int *p2 = &amp;non_pod.pod.i; // warn
+int *p3 = &amp;pod.i; // ok
+POD *p4 = &amp;non_pod; // warn
 
 POD a;
 non_POD b;
@@ -555,7 +555,7 @@ non_POD b;
 struct S {
   int *k;
   non_POD non_pod;
-  S() : k(&non_pod.j) {} // warn
+  S() : k(&amp;non_pod.j) {} // warn
 };
 
 // C++11
@@ -572,10 +572,10 @@ struct non_trivial: public trivial {
 extern trivial t;
 extern non_trivial nt;
 
-int *p1 = &nt.j; // warn
-int *p2 = &nt.i; // warn
-int *p3 = &t.i; // ok
-trivial *p4 = &nt;
+int *p1 = &amp;nt.j; // warn
+int *p2 = &amp;nt.i; // warn
+int *p3 = &amp;t.i; // ok
+trivial *p4 = &amp;nt;
 
 trivial t;
 non_trivial nt;
@@ -583,7 +583,7 @@ non_trivial nt;
 struct S {
   int *k;
   non_trivial nt;
-  S() : k(&nt.j) {} // warn
+  S() : k(&amp;nt.j) {} // warn
 };
 </pre></td><td></td></tr>
 
@@ -820,12 +820,12 @@ The effects are undefined if an exception is thrown.
 </td><td><pre>
 struct S {
   int i, j;
-  S (const S &s) {
+  S (const S &amp;s) {
     i = s.i;
     throw 1; // warn
     j = s.j;
   };
-  S& operator=(const S &s) {
+  S &amp;operator=(const S &amp;s) {
     i = s.i;
     throw 1; // warn
     j = s.j;
@@ -993,8 +993,8 @@ class my_streambuf : public std::streambuf {
 
 void test() {
   std::filebuf fb;
-  std::istream in(&fb);
-  std::ostream out(&fb);
+  std::istream in(&amp;fb);
+  std::ostream out(&amp;fb);
   std::filebuf::off_type pos(-1);
   in.seekg(pos); // warn
   out.seekp(-1); // warn
@@ -1002,7 +1002,7 @@ void test() {
 </pre></td><td></td></tr>
 </table>
 
-<!------------------------------- different ----------------------------------->
+<!-- ============================ different ================================ -->
 <h3>different</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -1175,8 +1175,8 @@ void test() {
 
 <tr><td><span class="name">different.WrongVarForStmt
 <br>(C, C++)</span><br><br>
-Possibly wrong variable is used in the loop/cond-expression of the \91for\92 
-statement. Did you mean \91proper_variable_name\92?
+Possibly wrong variable is used in the loop/cond-expression of the 'for'
+statement. Did you mean 'proper_variable_name'?
 </td><td><pre>
 void test() {
   int i;
@@ -1213,21 +1213,21 @@ void test() {
 
 <tr><td><span class="name">different.BitwiseOpBoolArg
 <br>maybe join with experimental.core.BoolAssignment<br>(C, C++)</span><br><br>
-bool value is used at the left/right part of the & (|) operator. Did you mean 
-&& (||) ?
+bool value is used at the left/right part of the &amp; (|) operator. Did you mean 
+&amp;&amp; (||) ?
 </td><td><pre>
 int f();
 
 void test() {
   bool b = true;
-  if (b & f()) {} // warn
+  if (b &amp; f()) {} // warn
 }
 </pre></td><td></td></tr>
 
 <tr><td><span class="name">different.LabelInsideSwitch
 <br>(C)</span><br><br>
 Possible misprint: label found inside the switch() statement. (* did you mean 
-\91default\92?)
+'default'?)
 </td><td><pre>
 void test() {
   int c = 7;
@@ -1242,7 +1242,7 @@ void test() {
 
 <tr><td><span class="name">different.IdenticalCondIfIf
 <br>(C)</span><br><br>
-The conditions of two subsequent \91if\92 statements are identical
+The conditions of two subsequent 'if' statements are identical
 </td><td><pre>
 void test() {
   int c = 7;
@@ -1255,7 +1255,7 @@ void test() {
 
 <tr><td><span class="name">different.CondOpIdenticalReturn
 <br>(C)</span><br><br>
-The return expressions of the \91?:\92 operator are identical
+The return expressions of the '?:' operator are identical
 </td><td><pre>
 void test() {
   unsigned a;
@@ -1265,7 +1265,7 @@ void test() {
 
 <tr><td><span class="name">different.UnaryPlusWithUnsigned
 <br>(C)</span><br><br>
-Using \91unary +\92 with unsigned is meaningless
+Using 'unary +' with unsigned is meaningless
 </td><td><pre>
 void test() {
   unsigned a;
@@ -1275,11 +1275,11 @@ void test() {
 
 <tr><td><span class="name">different.LogicalOpUselessArg
 <br>(C)</span><br><br>
-The second operand of the && operator has no impact on expression result
+The second operand of the &amp;&amp; operator has no impact on expression result
 </td><td><pre>
 void test() {
   unsigned a;
-  if (a&lt;7 && a&lt;10) {}; // warn
+  if (a&lt;7 &amp;&amp; a&lt;10) {}; // warn
 }
 </pre></td><td></td></tr>
 
@@ -1290,14 +1290,14 @@ The expression always evaluates to true/false
 void test() {
   int i=0;
   if (i!=0) {}; // warn
-  if (i==0 && i==1) {}; // warn
+  if (i==0 &amp;&amp; i==1) {}; // warn
   if (i<0 || i>=0) {}; // warn
 }
 </pre></td><td></td></tr>
 
 <tr><td><span class="name">different.SameResUnsignedCmp
 <br>(C)</span><br><br>
-Comparison of unsigned expression \91op expr\92 is always true/false
+Comparison of unsigned expression 'op expr' is always true/false
 </td><td><pre>
 void test() {
   unsigned u;
@@ -1309,7 +1309,7 @@ void test() {
 <tr><td><span class="name">different.OpPrecedenceAssignCmp
 <br>(C)</span><br><br>
 Comparison operation has higher precedence then assignment. Bool value is 
-assigned to variable of type \91type\92. Parenthesis may bee required around an 
+assigned to variable of type 'type'. Parenthesis may bee required around an 
 assignment
 </td><td><pre>
 int f();
@@ -1339,7 +1339,7 @@ void test() {
 <br>(C++)</span><br><br>
 The object was created but is not being used<br><br>
 The exception object was created but is not being used. Did you mean 
-\91throw std::exception();\92 ?
+'throw std::exception();'?
 </td><td><pre>
 #include &lt;exception&gt;
 
@@ -1374,7 +1374,7 @@ void test() {
 
 <tr><td><span class="name">different.ConversionToBool
 <br>maybe join with experimental.core.BoolAssignment<br>(C, C++)</span><br><br>
-Odd implicit conversion from \91type\92 to \91bool\92
+Odd implicit conversion from 'type' to 'bool'
 </td><td><pre>
 bool test() {
   return 1.; // warn
@@ -1488,7 +1488,7 @@ public:
 
 </table>
 
-<!------------------------------- WinAPI -------------------------------------->
+<!-- ============================ WinAPI =================================== -->
 <h3>WinAPI</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -1507,7 +1507,7 @@ void test() {
   BOOL fSuccess;
   fSuccess = CreateProcess(
     NULL, TEXT("MyProgram.exe"), NULL, NULL, 
-    TRUE, 0, NULL, NULL, &si, &pi);
+    TRUE, 0, NULL, NULL, &amp;si, &amp;pi);
 } // warn
 </pre></td><td></td></tr>
 
@@ -1548,7 +1548,7 @@ void test()
 
 </table>
 
-<!------------------------------ optimization --------------------------------->
+<!-- =========================== optimization ============================== -->
 <h3>optimization</h3>
 <table class="checkers">
 <col class="namedescr"><col class="example"><col class="progress">
@@ -1593,14 +1593,14 @@ variable
 
 void test() {
   const char* s = "abc";
-  if (strlen(s) &gt; 0 &
+  if (strlen(s) &gt; 0 &amp;&amp;
       strlen(s) &lt; 7) {}; // warn
 }
 </pre></td><td></td></tr>
 
 <tr><td><span class="name">optimization.EmptyCstrDetect
 <br>(C)</span><br><br>
-Optimization: it is more efficient to use \93str[0] != \91\0\92\94 to identify an empty 
+Optimization: it is more efficient to use "str[0] != '\0'" to identify an empty 
 string
 </td><td><pre>
 #include &lt;string.h&gt;