]> granicus.if.org Git - clang/commitdiff
Update C++ status to reflect parser capabilities for chapter 9 (classes). Slightly...
authorSebastian Redl <sebastian.redl@getdesigned.at>
Sat, 8 Nov 2008 15:40:37 +0000 (15:40 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Sat, 8 Nov 2008 15:40:37 +0000 (15:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58909 91177308-0d34-0410-b5e6-96231b3b80d8

test/Parser/cxx-class.cpp
www/cxx_status.html

index 6d030bdc578aa9a2416f80659c658721bcc34e55..ef0c901dfa5847e172b1dd981a3578b6d6230d1b 100644 (file)
@@ -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 {};
+}
index effbc9e41232bdc77efc6876a59c498a60da5090..c59295769f03cb03c2c0aa118717fe973e684b59 100644 (file)
@@ -585,20 +585,118 @@ welcome!</p>
   <td class="basic" align="center"></td>\r
   <td></td>\r
 </tr>\r
-<tr><td>9 [class]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.1 [class.name]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.2 [class.mem]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.3 [class.mfct]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<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>\r
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.4 [class.static]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.5 [class.union]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.6 [class.bit]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.7 [class.nest]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.8 [class.local]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td>&nbsp;&nbsp;9.9 [class.nested.type]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
+<tr>\r
+  <td>9 [class]</td>\r
+  <td class="medium" align="center"></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td>Cannot parse nested name specifiers.</td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.1 [class.name]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.2 [class.mem]</td>\r
+  <td class="advanced" align="center"></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td>No parser support for nested names, mutable members, using declarations, or templates.</td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.3 [class.mfct]</td>\r
+  <td class="medium" align="center"></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td>Out of line definition is not possible.</td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.1 [class.mfct.non-static]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.4 [class.static]</td>\r
+  <td class="basic" align="center"></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td>Out of line definition is not possible.</td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.5 [class.union]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.6 [class.bit]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.7 [class.nest]</td>\r
+  <td class="advanced" align="center"></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td>Out of line definition is not possible.</td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.8 [class.local]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
+<tr>\r
+  <td>&nbsp;&nbsp;9.9 [class.nested.type]</td>\r
+  <td class="complete" align="center">&#x2713;</td>  \r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+  <td></td>\r
+</tr>\r
 <tr><td>10 [class.derived]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
 <tr><td>&nbsp;&nbsp;10.1 [class.mi]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
 <tr><td>&nbsp;&nbsp;10.2 [class.member.lookup]</td><td></td><td></td><td></td><td></td><td></td></tr>\r