aboutsummaryrefslogtreecommitdiff
path: root/clang/www/OpenProjects.html
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-06-15 19:53:21 +0000
committerDouglas Gregor <dgregor@apple.com>2009-06-15 19:53:21 +0000
commitbaafda839411100e04afcc27cfddf80ec9bc6447 (patch)
treef986f7cf90af9c092ef8a56da7780d27a687c6fd /clang/www/OpenProjects.html
parentdd2ab963de3120382d3a4c4519ad3a2fc3b57924 (diff)
downloadllvm-baafda839411100e04afcc27cfddf80ec9bc6447.zip
llvm-baafda839411100e04afcc27cfddf80ec9bc6447.tar.gz
llvm-baafda839411100e04afcc27cfddf80ec9bc6447.tar.bz2
Tweak the C++ open projects page
llvm-svn: 73409
Diffstat (limited to 'clang/www/OpenProjects.html')
-rw-r--r--clang/www/OpenProjects.html5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/www/OpenProjects.html b/clang/www/OpenProjects.html
index 4ed6614e..c0ee998 100644
--- a/clang/www/OpenProjects.html
+++ b/clang/www/OpenProjects.html
@@ -80,10 +80,11 @@ improve the quality of clang by self-testing. Some examples:
<li><b>Continue work on C++ support</b>: 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:
<ul>
+ <li>Fix bugs: there are a number of XFAIL'd test cases in Clang's repository (particularly in the CXX subdirectory). Pick a test case and fix Clang to make it work!</li>
+ <li>Write tests: the CXX test subdirectory in Clang's repository has placeholders for tests of every paragraph in the C++ standard. Pick a paragraph, write a few tests, and see if they work! Even if they don't we'd still like the new tests (with XFAIL'd) so that we know what to fix.</li>
<li>Type-checking for explicit conversions: currently follows C semantics, not C++ semantics.</li>
<li>Qualified member references: C++ supports qualified member references such as <code>x-&gt;Base::foo</code>, but Clang has no parsing or semantic analysis for them.</li>
- <li>Implicit definitions of special member functions: Clang implicitly declares the various special member functions (default constructor, copy constructor, copy assignment operator, destructor) when necessary, but is not yet able to provide definitions for these functions.</li>
- <li>Parsing and AST representations of friend classes and functions</li>
+ <li>Parsing and AST representations of friend classes and functions</li>
<li>Explicit calls to destructors and pseudo-destructor expressions (<code>x.~X()</code>).</li>
<li>AST representation for implicit C++ conversions: implicit conversions that involve non-trivial operations (e.g., invoking a user-defined conversion function, performing a base-to-derived or derived-to-base conversion) need explicit representation in Clang's AST.</li>
<li>Improved diagnostics for overload resolution failures: after an overload resolution failure, we currently print out the overload resolution candidates. We should also print out the reason that each candidate failed, e.g., "too few arguments", "too many arguments", "cannot initialize parameter with an lvalue of type 'foo'", etc.</li>