]> granicus.if.org Git - clang/commitdiff
Add documentation for recently added code. WIP.
authorMike Stump <mrs@apple.com>
Mon, 14 Dec 2009 23:53:10 +0000 (23:53 +0000)
committerMike Stump <mrs@apple.com>
Mon, 14 Dec 2009 23:53:10 +0000 (23:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91367 91177308-0d34-0410-b5e6-96231b3b80d8

docs/UsersManual.html

index cfaa071083bce868ec19c2360a0d1c764d0cc85f..b5aa6a8dcd70efbebd6bcbdcac31d439faff6a2c 100644 (file)
@@ -40,6 +40,7 @@ td {
    <li><a href="#diagnostics_pragmas">Controlling Diagnostics via Pragmas</a></li>
    </ul>
   <li><a href="#precompiledheaders">Precompiled Headers</a></li>
+  <li><a href="#codegen">Controlling Code Generation</a></li>
   </ul>
 </li>
 <li><a href="#c">C Language Features</a>
@@ -562,6 +563,29 @@ at the time of PCH use requires one of the PCH optimizations,
 <code>stat()</code> caching, to be disabled. However, this change is only 
 likely to affect PCH files that reference a large number of headers.</p>
 
+<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
+<h3 id="codegen">Controlling Code Generation</h3>
+<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
+
+<p>Clang provides a number of ways to control code generation.  The options are listed below.</p>
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fcatch-undefined-behavior"><b>-fcatch-undefined-behavior</b>: Turn
+on runtime code generation to check for undefined behavior.</dt>
+
+<dd>This option, which defaults to off, controls whether or not Clang
+adds runtime checks for undefined runtime behavior.  If the check fails,
+<tt>__builtin_trap()</tt> is used to indicate failure.
+The checks are:
+<p>
+<li>Subscripting where the static type of one operand is decayed from an
+    array type and the other operand is greater than the size of the array or
+    less than zero.</li>
+<li>Shift operators where the amount shifted is greater or equal to the
+    promoted bit-width of the left-hand-side or less than zero.</li>
+</p>
+</dd>
+
 <!-- ======================================================================= -->
 <h2 id="c">C Language Features</h2>
 <!-- ======================================================================= -->