summaryrefslogtreecommitdiffstats
path: root/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
commit742f2cd95325c6dba8af6086c1504c6f725c2614 (patch)
tree9b2483ee68ba58e74732ab8c17992cc6375c5020 /www/OpenProjects.html
parent8849f1190330c493a89b0088557d1a2333465847 (diff)
Tweak the C++ open projects page
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73409 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'www/OpenProjects.html')
-rw-r--r--www/OpenProjects.html5
1 files changed, 3 insertions, 2 deletions
diff --git a/www/OpenProjects.html b/www/OpenProjects.html
index 4ed6614e36..c0ee9989f2 100644
--- a/www/OpenProjects.html
+++ b/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>