diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-11-08 15:40:37 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-11-08 15:40:37 +0000 |
commit | ab963c6221ac088fad73a47bc7a0a0b266b030da (patch) | |
tree | 75975558abec507634001e66e9b2729c055486c0 | |
parent | ffb5b009f84db24ec4640204d53f8e70e8b6fce9 (diff) |
Update C++ status to reflect parser capabilities for chapter 9 (classes). Slightly extend the class parser test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58909 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Parser/cxx-class.cpp | 10 | ||||
-rw-r--r-- | www/cxx_status.html | 126 |
2 files changed, 121 insertions, 15 deletions
diff --git a/test/Parser/cxx-class.cpp b/test/Parser/cxx-class.cpp index 6d030bdc57..ef0c901dfa 100644 --- a/test/Parser/cxx-class.cpp +++ b/test/Parser/cxx-class.cpp @@ -1,4 +1,5 @@ -// RUN: clang -parse-noop -verify %s +// RUN: clang -parse-noop -verify %s +class C; class C { public: protected: @@ -14,7 +15,14 @@ public: void m() { int l = 2; } + virtual int vf() const volatile = 0; private: int x,f(),y,g(); + inline int h(); + static const int sci = 10; }; +void glo() +{ + struct local {}; +} diff --git a/www/cxx_status.html b/www/cxx_status.html index effbc9e412..c59295769f 100644 --- a/www/cxx_status.html +++ b/www/cxx_status.html @@ -585,20 +585,118 @@ welcome!</p> <td class="basic" align="center"></td>
<td></td>
</tr>
-<tr><td>9 [class]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.1 [class.name]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.2 [class.mem]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.3 [class.mfct]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.3.1 [class.mfct.non-static]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.3.2 [class.this]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.4 [class.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.4.1 [class.static.mfct]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.4.2 [class.static.data]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.5 [class.union]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.6 [class.bit]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.7 [class.nest]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.8 [class.local]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td> 9.9 [class.nested.type]</td><td></td><td></td><td></td><td></td><td></td></tr>
+<tr>
+ <td>9 [class]</td>
+ <td class="medium" align="center"></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>Cannot parse nested name specifiers.</td>
+</tr>
+<tr>
+ <td> 9.1 [class.name]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.2 [class.mem]</td>
+ <td class="advanced" align="center"></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>No parser support for nested names, mutable members, using declarations, or templates.</td>
+</tr>
+<tr>
+ <td> 9.3 [class.mfct]</td>
+ <td class="medium" align="center"></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>Out of line definition is not possible.</td>
+</tr>
+<tr>
+ <td> 9.3.1 [class.mfct.non-static]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.3.2 [class.this]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.4 [class.static]</td>
+ <td class="basic" align="center"></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>Out of line definition is not possible.</td>
+</tr>
+<tr>
+ <td> 9.4.1 [class.static.mfct]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.4.2 [class.static.data]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.5 [class.union]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.6 [class.bit]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.7 [class.nest]</td>
+ <td class="advanced" align="center"></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>Out of line definition is not possible.</td>
+</tr>
+<tr>
+ <td> 9.8 [class.local]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td> 9.9 [class.nested.type]</td>
+ <td class="complete" align="center">✓</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
<tr><td>10 [class.derived]</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td> 10.1 [class.mi]</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td> 10.2 [class.member.lookup]</td><td></td><td></td><td></td><td></td><td></td></tr>
|