]> granicus.if.org Git - clang/commitdiff
add another crazy idea :)
authorChris Lattner <sabre@nondot.org>
Sun, 8 Feb 2009 20:41:34 +0000 (20:41 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 8 Feb 2009 20:41:34 +0000 (20:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64092 91177308-0d34-0410-b5e6-96231b3b80d8

www/get_involved.html

index f18ebef48fd96324eb237d914f3d15e62059d7ac..94268e82e6e97206b1806515131f506908065895 100644 (file)
@@ -82,12 +82,20 @@ of <a href="http://llvm.org/docs/SourceLevelDebugging.html">LLVM debug info</a>
 (which the code generator turns into DWARF).  The missing pieces are pretty \r
 minor at this point.</li>\r
 \r
-<li><b>Overflow detection</b>: an interesting project would be to add a \r
+<li><b>Overflow detection</b>: an interesting project would be to add a -ftrapv\r
 compilation mode that causes -emit-llvm to generate overflow tests for all\r
 signed integer arithmetic operators, and call abort if they overflow.  Overflow\r
 is undefined in C and hard for people to reason about.  LLVM IR also has\r
 intrinsics for generating arithmetic with overflow checks directly.</li>\r
 \r
+<li><b>Undefined behavior checking</b>: similar to adding -ftrapv, codegen could\r
+insert runtime checks for all sorts of different undefined behaviors, from \r
+reading uninitialized variables, buffer overflows, and many other things.  This\r
+checking would be expensive, but the optimizers could eliminate many of the \r
+checks in some cases, and it would be very interesting to test code in this mode\r
+for certain crowds of people.  Because the inserted code is coming from clang,\r
+the "abort" message could be very detailed about exactly what went wrong.</li>\r
+\r
 <li><b>Continue work on C++ support</b>: Implementing all of C++ is a very big\r
 job, but there are lots of little pieces that can be picked off and implemented.\r
 See the <a href="cxx_status.html">C++ status report page</a> to find out what is\r