From: Douglas Gregor Date: Thu, 11 Jun 2009 14:53:37 +0000 (+0000) Subject: Prune some projects that have already been started X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6ba70bf2f34d70c1b4954e9889162fad7b17b4c0;p=clang Prune some projects that have already been started git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73190 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/www/OpenProjects.html b/www/OpenProjects.html index 69b398457f..9230106868 100644 --- a/www/OpenProjects.html +++ b/www/OpenProjects.html @@ -26,13 +26,7 @@ Clang's type-checking and code generation is very close to complete (but not bug rejected or miscompiled by the front-end. If you notice invalid code that is not rejected, or poor diagnostics when code is rejected, that is also very important to us. For make-based projects, the ccc driver works as a drop-in replacement for GCC. -
  • Overflow detection: an interesting project would be to add a -ftrapv -compilation mode that causes -emit-llvm to generate overflow tests for all -signed integer arithmetic operators, and call abort if they overflow. Overflow -is undefined in C and hard for people to reason about. LLVM IR also has -intrinsics for generating arithmetic with overflow checks directly.
  • - -
  • Undefined behavior checking: similar to adding -ftrapv, codegen could +
  • Undefined behavior checking: CodeGen could insert runtime checks for all sorts of different undefined behaviors, from reading uninitialized variables, buffer overflows, and many other things. This checking would be expensive, but the optimizers could eliminate many of the @@ -58,7 +52,7 @@ Clang is built as a set of libraries, which means that it is possible to implement capabilities similar to other source language tools, improving them in various ways. Two examples are distcc and the delta testcase reduction tool. -The former can be improved to scale better and be more efficient. The later +The former can be improved to scale better and be more efficient. The latter could also be faster and more efficient at reducing C-family programs if built on the clang preprocessor.
  • @@ -86,12 +80,8 @@ improve the quality of clang by self-testing. Some examples:
  • Continue work on C++ support: Implementing all of C++ is a very big job, but there are lots of little pieces that can be picked off and implemented. Here are some small- to mid-sized C++ implementation projects: