]> andersk Git - splint.git/blobdiff - doc/html/faq.html
Beautified the html code for the faq.
[splint.git] / doc / html / faq.html
index 734c08e341f017f611045c8573ce308a8e5d4229..97a5e0812cd39f11ddfc8bea025239f056d5c1f7 100644 (file)
     <!--#include virtual="header.html"-->
     <h1>Splint - Frequently Asked Questions</h1>
     <h3>Index</h3>
-       
     <ol>
-    <h4>General Questions About Splint</h4>
-      <li>
-        <a href="#quest1">
-        What is the difference between Splint and LCLint?</a><br />
+      <li style="list-style: none">
+        <h4><a href="#genquest">General Questions About Splint</a></h4>
+      </li>
+      <li><a href="#quest1">What is the difference between Splint and LCLint?</a><br />
       </li>
       <li><a href="#quest2">What is the Splint logo?<br />
       </a></li>
       <li><a href="#quest4">Can we use your software in our company? (We are not a GNU
       organization.)<br />
       </a></li>
+      <li><a href="#quest9">Which compilers does Splint support?<br />
+      </a></li>
       <li><a href="#quest5">Does Splint handle C++?<br />
       </a></li>
-
-      <h4> Installation</h4>
+      <li style="list-style: none">
+        <h4><a href="#install">Installation</a></h4>
+      </li>
       <li><a href="#quest6">I downloaded the Splint .tgz file but can't figure out how to
       extract it. There is no 'z' option on the tar on my system.<br />
       </a></li>
       <li><a href="#quest8">I have installed Splint for Windows 2000. Where should I put
       the ".splintrc" file?<br />
       </a></li>
-      <h4>Usage</h4>
-      <li><a href="#quest9">Which compilers does Splint support?<br />
+      <li><a href="#quest17">When I build Splint I get the following errors.... Should I
+      be worried?<br />
       </a></li>
-      <li><a href="#quest10">How does Splint handle const?<br />
+      <li><a href="#quest18">I just installed Splint on a new machine. I get a bunch of
+      errors during building when the test suite is run. When I look through the results,
+      it seems like Splint is not reporting any errors in the code it analyzes. What is
+      going on?<br />
       </a></li>
-      <li><a href="#quest11">Why do I get a warning when multiplying different integer
-      types? The C standard says this is ok. Why is this wrong?<br />
+      <li style="list-style: none">
+        <h4><a href="#usage">Usage</a></h4>
+      </li>
+      <li><a href="#quest15">I heard that we will get lot of parse errors when we run
+      this tool first time. Hence we need to modify source code. Is it correct ?<br />
       </a></li>
-      <li><a href="#quest12">The C standard says that what I'm doing is okay. Why does
-      Splint give me a warning?<br />
+      <li><a href="#quest16">I heard that Splint can generate some spurious errors ( not
+      genuine errors). Is it correct ?<br />
       </a></li>
-      <li><a href="#quest13">Splint complains if I ignore the return value of scanf but
-      not printf?<br />
+      <li><a href="#quest10">How does Splint handle const?<br />
       </a></li>
       <li><a href="#quest14">I develop code on an embedded system with a compiler that
       uses nonstandard key words and data types. I would like to run Splint on my code
       <li><a href="#quest14b">How can I get Splint to recognize directory trees and local
       source include directories?<br />
       </a></li>
-      <li><a href="#quest15">I heard that we will get lot of parse errors when we run
-      this tool first time. Hence we need to modify source code. Is it correct ?<br />
+      <li><a href="#quest20">I use realloc in my code. How can I get Splint in check this
+      code more effectively?<br />
       </a></li>
-      <li><a href="#quest16">I heard that Splint can generate some spurious errors ( not
-      genuine errors). Is it correct ?<br />
+      <li style="list-style: none">
+        <h4><a href="#warnerror">Warnings and Errors</a></h4>
+      </li>
+      <li><a href="#quest11">Why do I get a warning when multiplying different integer
+      types? The C standard says this is ok. Why is this wrong?<br />
       </a></li>
-      <li><a href="#quest17">When I build Splint I get the following errors.... Should I
-      be worried?<br />
+      <li><a href="#quest12">The C standard says that what I'm doing is okay. Why does
+      Splint give me a warning?<br />
       </a></li>
-      <li><a href="#quest18">I just installed Splint on a new machine. I get a bunch of
-      errors during building when the test suite is run. When I look through the results,
-      it seems like Splint is not reporting any errors in the code it analyzes. What is
-      going on?<br />
+      <li><a href="#quest13">Splint complains if I ignore the return value of scanf but
+      not printf?<br />
       </a></li>
       <li><a href="#quest18b">I get parse errors when I try to run Splint on code like
       #define MACROdebug(...) blahblah . Can I use variadic macros in Splint?<br />
       </a></li>
-      <li><a href="#quest20">I use realloc in my code. How can I get Splint in check this
-      code more effectively?<br />
-      </a></li>
-      <h4>Bugs</h4>
+      <li style="list-style: none">
+        <h4><a href="#bugs">Bugs</a></h4>
+      </li>
       <li><a href="#quest21">I think I've found a bug in Splint. What should I do?<br />
-      </a></li>
-      <li><a href="#quest22">Splint tells me that there is a bug and I should report it.
+     </a></li>
+       <li><a href="#quest22">Splint tells me that there is a bug and I should report it.
       What information should I send?<br />
       </a></li>
+      <li style="list-style: none">
+               <h4><a href="#adinfo">Additional Information</a></h4>
+      </li>
       <li><a href="#quest23">My question isn't answered here. How can I get more
       information about Splint?<br />
       </a></li>
     </ol>
     <h3>Questions and Answers</h3>
     <ol>
-        <h4>General Questions About Splint</h4>
+      <li style="list-style: none">
+        <h4><a id="genquest" name="genquest">General Questions About Splint</a></h4>
+      </li>
       <li>
         <p><a id="quest1" name="quest1">What is the difference between Splint and
         LCLint?</a></p>
           <br />
         </blockquote>
       </li>
-
-                 <li>
+      <li>
         <p><a id="quest9" name="quest9">Which compilers does Splint support?</a></p>
         <blockquote>
           It is independent from your compiler.<br />
           <br />
         </blockquote>
       </li>
-
-                 <li>
+      <li>
         <p><a id="quest5" name="quest5">Does Splint handle C++?</a></p>
         <blockquote>
           No. Splint handles ISO C99 (and some gcc extensions if +gnuextensions is used).
           <br />
         </blockquote>
       </li>
+      <li style="list-style: none">
+        <h4><a id="install" name="install">Installation</a></h4>
+      </li>
       <li>
         <p><a id="quest6" name="quest6">I downloaded the Splint .tgz file but can't
         figure out how to extract it. There is no 'z' option on the tar on my
           <p>your home directory. See the Splint manual for more information.</p>
         </blockquote>
       </li>
-            <h4>Usage</h4>
-
       <li>
-        <p><a id="quest10" name="quest10">How does Splint handle const?</a></p>
+        <p><a id="quest17" name="quest17">When I build Splint I get the following
+        error:</a></p>
         <blockquote>
-          Splint doesn't interpret const (at all). See the manual section on modifies
-          checking (<a
-          href="http://www.splint.org/manual/html/sec7.html">http://www.splint.org/manual/html/sec7.html</a>).<br />
+          Checking for...<br />
+          <br />
+           
+          <p>Checking manual...</p>
+          <p>cmx &gt; / Checking tests2.2...</p>
+          <p>Checking tests2.4...</p>
+          <p>Checking tests2.5...</p>
+          <p>Checking db1...</p>
+          <p>0a1,2</p>
+          <p>&gt; /cmx/tools/make -e clean</p>
+          <p>&gt; /cmx/tools/make -e check</p>
+          <p>*** FAIL ***</p>
+          <p>Checking db2...</p>
+          <p>0a1,/tools/make -e clean</p>
+          <p>&gt; /cmx/tools/make -e check</p>
+          <p>*** FAIL ***</p>
+          <p>Checking db3...</p>
+        </blockquote>
+        <p>Should I be worried?</p>
+        <blockquote>
+          Those diffs look harmless. It is likely that your make is set up slightly
+          differently than ours.<br />
           <br />
         </blockquote>
       </li>
       <li>
-        <p><a id="quest11" name="quest11">Why do I get a Warning when multiplying
-        different integer types? The C standard says this is ok. Why is this
-        wrong?</a></p>
+        <p><a id="quest18" name="quest18">I just installed Splint on a new machine. I get
+        a bunch of errors during building when the test suite is run. When I look through
+        the results, it seems like Splint is not reporting any errors in the code it
+        analyzes. What is going on?</a></p>
         <blockquote>
-          There are lots of things that the C spec allows and defines clearly, that
-          Splint will provide warnings for. It's not a question of it being "wrong", it's
-          a matter of it being likely to reveal a programming mistake.<br />
+          One possibility is that the installation directory where the test suite is
+          running is on the system path (hence, splint won't report errors if
+          -sysdirerrors is set, as it is by default). Try adding +sysdirerrors to the
+          command line for the test suite to see if that is the problem, or installing
+          Splint in a different directory not in the system path.<br />
           <br />
         </blockquote>
       </li>
+      <li style="list-style: none">
+        <h4><a id="usage" name="usage">Usage</a></h4>
+      </li>
       <li>
-        <p><a id="quest12" name="quest12">The C standard says that what I'm doing is
-        okay. Why does Splint give me a warning?</a></p>
+        <p><a id="quest15" name="quest15">I heard that we will get lot of parse errors
+        when we run this tool first time. Hence we need to modify source code. Is it
+        correct ?</a></p>
         <blockquote>
-          See the previous question.<br />
+          Usually not, but Splint doesn't support all C99 extensions.<br />
           <br />
         </blockquote>
       </li>
       <li>
-        <p><a id="quest13" name="quest13">Splint complains if I ignore the return value
-        of scanf but not printf?</a></p>
+        <p><a id="quest16" name="quest16">I heard that Splint can generate some spurious
+        errors ( not genuine errors). Is it correct ?</a></p>
         <blockquote>
-          This is just a strategic decision --- we view ignoring the result of a scanf to
-          be more likely to reveal a problem with the code than ignoring the result of a
-          printf, even though strict programmers will want to check printf also.<br />
+          Yes, please see <a href="http://www.splint.org/">www.splint.org</a> for
+          details.<br />
+          <br />
+        </blockquote>
+      </li>
+      <li>
+        <p><a id="quest10" name="quest10">How does Splint handle const?</a></p>
+        <blockquote>
+          Splint doesn't interpret const (at all). See the manual section on modifies
+          checking (<a
+          href="http://www.splint.org/manual/html/sec7.html">http://www.splint.org/manual/html/sec7.html</a>).<br />
           <br />
-           
-          <blockquote>
-            If you want stricter checking, use the flags +ansistrictlib, +posixstrictlib,
-            +unixstrictlib to select the strict versions of these libraries.<br />
-            <br />
-          </blockquote>
         </blockquote>
       </li>
       <li>
         </blockquote>
       </li>
       <li>
-        <p><a id="quest15" name="quest15">I heard that we will get lot of parse errors
-        when we run this tool first time. Hence we need to modify source code. Is it
-        correct ?</a></p>
+        <p><a id="quest20" name="quest20">I use realloc in my code. How can I get Splint
+        in check this code more effectively?</a></p>
         <blockquote>
-          Usually not, but Splint doesn't support all C99 extensions.<br />
+          realloc has complicated semantics that make it difficult to use correctly. Make
+          sure that you understand realloc and that you really need to use it.<br />
           <br />
+           
+          <p>If you decide to use realloc, we recommend that you wrapper it. The document
+          Using Wrapper Functions explains how to do this. That document is included in
+          the Splint documentation and is also available at:</p>
+          <p><a
+          href="http://www.splint.org/documentation/realloc.htm">http://www.splint.org/documentation/realloc.htm</a></p>
         </blockquote>
       </li>
+      <li style="list-style: none">
+        <h4><a id="warnerror" name="warnerror">Warnings and Errors</a></h4>
+      </li>
       <li>
-        <p><a id="quest16" name="quest16">I heard that Splint can generate some spurious
-        errors ( not genuine errors). Is it correct ?</a></p>
+        <p><a id="quest11" name="quest11">Why do I get a Warning when multiplying
+        different integer types? The C standard says this is ok. Why is this
+        wrong?</a></p>
         <blockquote>
-          Yes, please see <a href="http://www.splint.org/">www.splint.org</a> for
-          details.<br />
+          There are lots of things that the C spec allows and defines clearly, that
+          Splint will provide warnings for. It's not a question of it being "wrong", it's
+          a matter of it being likely to reveal a programming mistake.<br />
           <br />
         </blockquote>
       </li>
       <li>
-        <p><a id="quest17" name="quest17">When I build Splint I get the following
-        error:</a></p>
-        <blockquote>
-          Checking for...<br />
-          <br />
-           
-          <p>Checking manual...</p>
-          <p>cmx &gt; / Checking tests2.2...</p>
-          <p>Checking tests2.4...</p>
-          <p>Checking tests2.5...</p>
-          <p>Checking db1...</p>
-          <p>0a1,2</p>
-          <p>&gt; /cmx/tools/make -e clean</p>
-          <p>&gt; /cmx/tools/make -e check</p>
-          <p>*** FAIL ***</p>
-          <p>Checking db2...</p>
-          <p>0a1,/tools/make -e clean</p>
-          <p>&gt; /cmx/tools/make -e check</p>
-          <p>*** FAIL ***</p>
-          <p>Checking db3...</p>
-        </blockquote>
-        <p>Should I be worried?</p>
+        <p><a id="quest12" name="quest12">The C standard says that what I'm doing is
+        okay. Why does Splint give me a warning?</a></p>
         <blockquote>
-          Those diffs look harmless. It is likely that your make is set up slightly
-          differently than ours.<br />
+          See the previous question.<br />
           <br />
         </blockquote>
       </li>
       <li>
-        <p><a id="quest18" name="quest18">I just installed Splint on a new machine. I get
-        a bunch of errors during building when the test suite is run. When I look through
-        the results, it seems like Splint is not reporting any errors in the code it
-        analyzes. What is going on?</a></p>
+        <p><a id="quest13" name="quest13">Splint complains if I ignore the return value
+        of scanf but not printf?</a></p>
         <blockquote>
-          One possibility is that the installation directory where the test suite is
-          running is on the system path (hence, splint won't report errors if
-          -sysdirerrors is set, as it is by default). Try adding +sysdirerrors to the
-          command line for the test suite to see if that is the problem, or installing
-          Splint in a different directory not in the system path.<br />
+          This is just a strategic decision --- we view ignoring the result of a scanf to
+          be more likely to reveal a problem with the code than ignoring the result of a
+          printf, even though strict programmers will want to check printf also.<br />
           <br />
+           
+          <blockquote>
+            If you want stricter checking, use the flags +ansistrictlib, +posixstrictlib,
+            +unixstrictlib to select the strict versions of these libraries.<br />
+            <br />
+          </blockquote>
         </blockquote>
       </li>
       <li>
           <br />
         </blockquote>
       </li>
-      <li>
-        <p><a id="quest20" name="quest20">I use realloc in my code. How can I get Splint
-        in check this code more effectively?</a></p>
-        <blockquote>
-          realloc has complicated semantics that make it difficult to use correctly. Make
-          sure that you understand realloc and that you really need to use it.<br />
-          <br />
-           
-          <p>If you decide to use realloc, we recommend that you wrapper it. The document
-          Using Wrapper Functions explains how to do this. That document is included in
-          the Splint documentation and is also available at:</p>
-          <p><a
-          href="http://www.splint.org/documentation/realloc.htm">http://www.splint.org/documentation/realloc.htm</a></p>
-        </blockquote>
+      <li style="list-style: none">
+        <h4><a id="bugs" name="bugs">Bugs</a></h4>
       </li>
       <li>
         <p><a id="quest21" name="quest21">I think I've found a bug in Splint. What should
           may be able to at least to offer you advice on working around the problem.</p>
         </blockquote>
       </li>
+      <li style="list-style: none">
+        <h4><a id="adinfo" name="adinfo">Additional Information</a></h4>
+      </li>
       <li>
         <p><a id="quest23" name="quest23">My question isn't answered here. How can I get
         more information about Splint?</a></p>
This page took 0.054168 seconds and 4 git commands to generate.