summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2008-11-08 15:40:37 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2008-11-08 15:40:37 +0000
commitf4485de48ab519b0ae0de434f0aa7ce2d7ec1ce1 (patch)
treebe816744a534577817d8d2b083a22315d53cc16f
parent5a48f232f76391f490f375dee8643e415e05855a (diff)
downloadbcm5719-llvm-f4485de48ab519b0ae0de434f0aa7ce2d7ec1ce1.tar.gz
bcm5719-llvm-f4485de48ab519b0ae0de434f0aa7ce2d7ec1ce1.zip
Update C++ status to reflect parser capabilities for chapter 9 (classes). Slightly extend the class parser test.
llvm-svn: 58909
-rw-r--r--clang/test/Parser/cxx-class.cpp10
-rw-r--r--clang/www/cxx_status.html126
2 files changed, 121 insertions, 15 deletions
diff --git a/clang/test/Parser/cxx-class.cpp b/clang/test/Parser/cxx-class.cpp
index 6d030bdc578..ef0c901dfa5 100644
--- a/clang/test/Parser/cxx-class.cpp
+++ b/clang/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/clang/www/cxx_status.html b/clang/www/cxx_status.html
index effbc9e4123..c59295769f0 100644
--- a/clang/www/cxx_status.html
+++ b/clang/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>&nbsp;&nbsp;9.1 [class.name]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.2 [class.mem]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.3 [class.mfct]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.1 [class.mfct.non-static]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.4 [class.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.5 [class.union]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.6 [class.bit]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.7 [class.nest]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;9.8 [class.local]</td><td></td><td></td><td></td><td></td><td></td></tr>
-<tr><td>&nbsp;&nbsp;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>&nbsp;&nbsp;9.1 [class.name]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;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>&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;9.3.1 [class.mfct.non-static]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;9.5 [class.union]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;9.6 [class.bit]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;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>&nbsp;&nbsp;9.8 [class.local]</td>
+ <td class="complete" align="center">&#x2713;</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+</tr>
+<tr>
+ <td>&nbsp;&nbsp;9.9 [class.nested.type]</td>
+ <td class="complete" align="center">&#x2713;</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>&nbsp;&nbsp;10.1 [class.mi]</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>&nbsp;&nbsp;10.2 [class.member.lookup]</td><td></td><td></td><td></td><td></td><td></td></tr>
OpenPOWER on IntegriCloud