diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/www/cxx_status.html | 1075 |
1 files changed, 697 insertions, 378 deletions
diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html index f69f84e9f75..c608629076d 100644 --- a/clang/www/cxx_status.html +++ b/clang/www/cxx_status.html @@ -54,7 +54,8 @@ of support for a given section: <th>Some examples work</th> <th>Many examples work</th> <th>Nearly everything works</th> - <th>Complete!</th> + <th>Complete</th> + <th>Complete (with tests for each paragraph)</th> </tr> <tr> <td></td> @@ -63,6 +64,7 @@ of support for a given section: <td class="basic"></td> <td class="medium"></td> <td class="advanced"></td> + <td class="complete"></td> <td class="complete" align="center">✓</td> </tr> </table> @@ -104,7 +106,7 @@ welcome!</p> </tr> <tr> <td>2 [lex]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -128,7 +130,7 @@ welcome!</p> </tr> <tr> <td> 2.3 [lex.trigraph]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -136,7 +138,7 @@ welcome!</p> </tr> <tr> <td> 2.4 [lex.pptoken]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -144,7 +146,7 @@ welcome!</p> </tr> <tr> <td> 2.5 [lex.digraph]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -152,7 +154,7 @@ welcome!</p> </tr> <tr> <td> 2.6 [lex.token]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -168,7 +170,7 @@ welcome!</p> </tr> <tr> <td> 2.8 [lex.header]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -176,7 +178,7 @@ welcome!</p> </tr> <tr> <td> 2.9 [lex.ppnumber]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -192,7 +194,7 @@ welcome!</p> </tr> <tr> <td> 2.11 [lex.key]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -200,7 +202,7 @@ welcome!</p> </tr> <tr> <td> 2.12 [lex.operators]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -208,7 +210,7 @@ welcome!</p> </tr> <tr> <td> 2.13 [lex.literal]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -216,7 +218,7 @@ welcome!</p> </tr> <tr> <td> 2.13.1 [lex.icon]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -232,7 +234,7 @@ welcome!</p> </tr> <tr> <td> 2.13.3 [lex.fcon]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -248,7 +250,7 @@ welcome!</p> </tr> <tr> <td> 2.13.5 [lex.bool]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td class="na">N/A</td> <td class="na">N/A</td> @@ -282,7 +284,7 @@ welcome!</p> <td> 3.3 [basic.scope]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -290,7 +292,7 @@ welcome!</p> <td> 3.3.1 [basic.scope.pdecl]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -298,7 +300,7 @@ welcome!</p> <td> 3.3.2 [basic.scope.local]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -306,7 +308,7 @@ welcome!</p> <td> 3.3.3 [basic.scope.proto]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -314,7 +316,7 @@ welcome!</p> <td> 3.3.4 [basic.funscope]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -324,7 +326,7 @@ welcome!</p> <td> 3.3.7 [basic.scope.hiding]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -332,7 +334,7 @@ welcome!</p> <td> 3.4 [basic.lookup]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -399,105 +401,105 @@ welcome!</p> <tr><td> 3.10 [basic.lval]</td><td></td><td></td><td></td><td></td><td></td></tr> <tr> <td>4 [conv]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.1 [conv.lval]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <!-- p2: sizeof --> <td></td> <td></td> </tr> <tr> <td> 4.2 [conv.array]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.3 [conv.func]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.4 [conv.qual]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.5 [conv.prom]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.6 [conv.fpprom]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.7 [conv.integral]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.8 [conv.double]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.9 [conv.fpint]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.10 [conv.ptr]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.11 [conv.mem]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 4.12 [conv.bool]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -505,7 +507,7 @@ welcome!</p> <td>5 [expr]</td> <td class="na">N/A</td> <td class="na">N/A</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -520,24 +522,24 @@ welcome!</p> <tr><td> 5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td></td></tr> <tr> <td> 5.2.1 [expr.sub]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.2.2 [expr.call]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.2.3 [expr.type.conv]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="basic"></td> <td></td> <td>Only between non-class types</td> @@ -552,7 +554,7 @@ welcome!</p> </tr> <tr> <td> 5.2.5 [expr.ref]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium"></td> <td class="medium"></td> <td></td> @@ -560,49 +562,49 @@ welcome!</p> </tr> <tr> <td> 5.2.6 [expr.post.incr]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.2.7 [expr.dynamic.cast]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.2.8 [expr.typeid]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.2.9 [expr.static.cast]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td>Some custom conversions don't work.</td> </tr> <tr> <td> 5.2.10 [expr.reinterpret.cast]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.2.11 [expr.const.cast]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -610,95 +612,95 @@ welcome!</p> <tr><td> 5.3.1 [expr.unary.op]</td><td></td><td></td><td></td><td></td><td></td></tr> <tr> <td> 5.3.1p1 Unary *</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.1p2-5 Unary &</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.1p6 Unary +</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.1p7 Unary -</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.1p8 Unary !</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.1p9 Unary ~</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.2 [expr.pre.incr]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.3 [expr.sizeof]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.3.4 [expr.new]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td>operator delete is not looked up, initialization not quite correct</td> </tr> <tr> <td> 5.3.5 [expr.delete]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.4 [expr.cast]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="medium"></td> <td></td> <td>Too lenient, and may not always have correct semantics</td> </tr> <tr> <td> 5.5 [expr.mptr.oper]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="advanced"></td> <td class="advanced"></td> <td></td> @@ -706,257 +708,257 @@ welcome!</p> </tr> <tr> <td> 5.6 [expr.mul]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.7 [expr.add]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.8 [expr.shift]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.9 [expr.rel]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.10 [expr.eq]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.11 [expr.bit.and]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.12 [expr.xor]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.13 [expr.or]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.14 [expr.log.and]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.15 [expr.log.or]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.16 [expr.cond]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td>some invalid hierarchy casts still accepted, but that's a general problem</td> </tr> <tr> <td> 5.17 [expr.ass]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.18 [expr.comma]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 5.19 [expr.const]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="basic"></td> <td></td> <td>Uses C semantics</td> </tr> <tr> <td>6 [stmt.stmt]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.1 [stmt.label]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.2 [stmt.expr]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.3 [stmt.block]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.4 [stmt.select]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td>Conversion of declarations to required types not really supported.</td> </tr> <tr> <td> 6.4.1 [stmt.if]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.4.2 [stmt.switch]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.5 [stmt.iter]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td>Conversion of declarations to required types not really supported.</td> </tr> <tr> <td> 6.5.1 [stmt.while]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.5.2 [stmt.do]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.5.3 [stmt.for]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.6 [stmt.jump]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.6.1 [stmt.break]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.6.2 [stmt.cont]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.6.3 [stmt.return]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.6.4 [stmt.goto]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 6.7 [stmt.dcl]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td></td> <td>Skipping of initialization is not flagged. Existence and accessibility of destructors is not tested for.</td> </tr> <tr> <td> 6.8 [stmt.ambig]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -971,7 +973,7 @@ welcome!</p> </tr> <tr> <td> 7.1.1 [dcl.stc]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td class="advanced" align="center"></td> <td></td> @@ -979,18 +981,18 @@ welcome!</p> </tr> <tr> <td> 7.1.2 [dcl.fct.spec]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 7.1.3 [dcl.typedef]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> </tr> <tr> @@ -1003,17 +1005,17 @@ welcome!</p> </tr> <tr> <td> 7.1.5 [dcl.type]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 7.1.5.1 [dcl.type.cv]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -1035,17 +1037,17 @@ welcome!</p> </tr> <tr> <td> 7.2 [dcl.enum]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 7.3 [basic.namespace]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -1059,25 +1061,25 @@ welcome!</p> </tr> <tr> <td> 7.3.1.1 [namespace.unnamed]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="broken"></td> <td></td> <td>Unnamed namespace members cannot be looked up.</td> </tr> <tr> <td> 7.3.1.2 [namespace.memdef]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced"></td> <td></td> <td>The friend stuff is not supported.</td> </tr> <tr> <td> 7.3.2 [namespace.alias]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -1091,23 +1093,23 @@ welcome!</p> </tr> <tr> <td> 7.3.4[namespace.udir]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced"></td> <td class="broken" align="center"></td> <td>Example in p4 fails.</td> </tr> <tr><td> 7.4 [dcl.asm]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> <tr> <td> 7.5 [dcl.link]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic"></td> <td class="basic"></td> <td></td> @@ -1118,9 +1120,9 @@ welcome!</p> </tr> <tr> <td> 8.1 [dcl.name]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -1134,49 +1136,49 @@ welcome!</p> </tr> <tr> <td> 8.3 [dcl.meaning]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td class="na">N/A</td> <td>Qualified declarator-ids are not fully implemented.</td> </tr> <tr> <td> 8.3.1 [dcl.ptr]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> <tr> <td> 8.3.2 [dcl.ref]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> <tr> <td> 8.3.3 [dcl.mptr]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> <tr> <td> 8.3.4 [dcl.array]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> <tr> <td> 8.3.5 [dcl.fct]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> @@ -1190,8 +1192,8 @@ welcome!</p> </tr> <tr> <td> 8.4 [dcl.fct.def]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="basic" align="center"></td> <td>ctor-initializers are not fully type-checked.</td> @@ -1238,9 +1240,9 @@ welcome!</p> </tr> <tr> <td> 9.1 [class.name]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na" align="center">N/A</td> <td></td> </tr> @@ -1254,7 +1256,7 @@ welcome!</p> </tr> <tr> <td> 9.3 [class.mfct]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td class="advanced" align="center"></td> <td class="basic" align="center"></td> @@ -1262,7 +1264,7 @@ welcome!</p> </tr> <tr> <td> 9.3.1 [class.mfct.non-static]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="basic" align="center"></td> @@ -1270,7 +1272,7 @@ welcome!</p> </tr> <tr> <td> 9.3.2 [class.this]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="basic"></td> @@ -1278,47 +1280,47 @@ welcome!</p> </tr> <tr> <td> 9.4 [class.static]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="basic"></td> <td></td> </tr> <tr> <td> 9.4.1 [class.static.mfct]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="basic"></td> <td></td> </tr> <tr> <td> 9.4.2 [class.static.data]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="basic"></td> <td></td> </tr> <tr> <td> 9.5 [class.union]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="medium"></td> <td class="medium"></td> <td>Semantic analysis does not yet check all of the requirements placed on the members of unions.</td> </tr> <tr> <td> 9.6 [class.bit]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> </tr> <tr> <td> 9.7 [class.nest]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="advanced"></td> <td class="advanced"></td> <td class="na" align="center">N/A</td> @@ -1326,7 +1328,7 @@ welcome!</p> </tr> <tr> <td> 9.8 [class.local]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium"></td> <td class="broken"></td> <td class="broken"></td> @@ -1334,9 +1336,9 @@ welcome!</p> </tr> <tr> <td> 9.9 [class.nested.type]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na" align="center">N/A</td> <td></td> </tr> @@ -1358,9 +1360,9 @@ welcome!</p> </tr> <tr> <td> 10.2 [class.member.lookup]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na" align="center">N/A</td> <td></td> </tr> @@ -1374,9 +1376,9 @@ welcome!</p> </tr> <tr> <td> 10.4 [class.abstract]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na" align="center">N/A</td> <td></td> </tr> @@ -1390,16 +1392,16 @@ welcome!</p> </tr> <tr> <td> 11.1 [class.access.spec]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="na" align="center">N/A</td> <td></td> </tr> <tr> <td> 11.2 [class.access.base]</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="broken" align="center"></td> <td class="na" align="center">N/A</td> <td></td> @@ -1423,7 +1425,7 @@ welcome!</p> <tr> <td> 11.5 [class.protected]</td> <td class="na" align="center"></td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="broken" align="center"></td> <td class="na" align="center">N/A</td> <td></td> @@ -1525,7 +1527,7 @@ welcome!</p> <tr><td>13 [over]</td><td></td><td></td><td></td><td></td><td></td></tr> <tr> <td> 13.1 [over.load]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1533,7 +1535,7 @@ welcome!</p> </tr> <tr> <td> 13.2 [over.dcl]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1541,7 +1543,7 @@ welcome!</p> </tr> <tr> <td> 13.3 [over.match]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1549,7 +1551,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1 [over.match.funcs]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1557,7 +1559,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.1 [over.match.call]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1565,7 +1567,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.1.1 [over.call.func]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1573,7 +1575,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.1.2 [over.call.object]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="advanced" align="center"></td> <td class="broken" align="center"></td> @@ -1581,7 +1583,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.2 [over.match.oper]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="advanced" align="center"></td> <td class="advanced" align="center"></td> <td class="broken" align="center"></td> @@ -1589,7 +1591,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.3 [over.match.ctor]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1597,7 +1599,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.4 [over.match.copy]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1605,7 +1607,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.5 [over.match.conv]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="broken" align="center"></td> <td class="broken" align="center"></td> <td class="broken" align="center"></td> @@ -1613,7 +1615,7 @@ welcome!</p> </tr> <tr> <td> 13.3.1.6 [over.match.ref]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1621,7 +1623,7 @@ welcome!</p> </tr> <tr> <td> 13.3.2 [over.match.viable]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="broken" align="center"></td> @@ -1629,7 +1631,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3 [over.match.best]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1637,7 +1639,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3.1 [over.best.ics]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="broken" align="center"></td> @@ -1645,7 +1647,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3.1.1 [over.ics.scs]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="broken" align="center"></td> @@ -1653,7 +1655,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3.1.2 [over.ics.user]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="basic" align="center"></td> <td class="basic" align="center"></td> <td class="broken" align="center"></td> @@ -1661,7 +1663,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3.1.3 [over.ics.ellipsis]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="broken" align="center"></td> @@ -1669,7 +1671,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3.1.4 [over.ics.ref]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="broken" align="center"></td> @@ -1677,7 +1679,7 @@ welcome!</p> </tr> <tr> <td> 13.3.3.2 [over.ics.rank]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="medium" align="center"></td> <td class="broken" align="center"></td> @@ -1766,57 +1768,374 @@ welcome!</p> <td>Missing pointer-to-member versions (p11, p16) and support for the ternary operator (p24, p25).</td> </tr> -<tr><td>14 [temp]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.1 [temp.param]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.2 [temp.names]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.3 [temp.arg]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.3.1 [temp.arg.type]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.3.2 [temp.arg.nontype]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.3.3 [temp.arg.template]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.4 [temp.type]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5 [temp.decls]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.1 [temp.class]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.1.1 [temp.mem.func]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.1.2 [temp.mem.class]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.1.3 [temp.static]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.2 [temp.mem]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.3 [temp.friend]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.4 [temp.class.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.5.1 [temp.class.spec.match]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.5.2 [temp.class.order]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.5.3 [temp.class.spec.mfunc]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.5 [temp.fct]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.5.1 [temp.over.link]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.5.5.2 [temp.func.order]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6 [temp.res]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.1 [temp.local]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.2 [temp.dep]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.2.1 [temp.dep.type]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.2.2 [temp.dep.expr]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.2.3 [temp.dep.constexpr]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.2.4 [temp.dep.temp]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.3 [temp.nondep]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.4 [temp.dep.res]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.4.1 [temp.point]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.4.2 [temp.dep.candidate]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.6.5 [temp.inject]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.7 [temp.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.7.1 [temp.inst]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.7.2 [temp.explicit]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.7.3 [temp.expl.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8 [temp.fct.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.1 [temp.arg.explicit]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.2 [temp.deduct]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.2.1 [temp.deduct.call]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.2.2 [temp.deduct.funcaddr]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.2.3 [temp.deduct.conv]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.2.4 [temp.deduct.type]</td><td></td><td></td><td></td><td></td><td></td></tr> -<tr><td> 14.8.3 [temp.over]</td><td></td><td></td><td></td><td></td><td></td></tr> <tr> - <td>15 [except]</td> + <td>14 [temp]</td> + <td class="basic" align="center">N/A</td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.1 [temp.param]</td> + <td class="complete" align="center">✓</td> <td class="complete" align="center">✓</td> + <td class="medium" align="center"></td> + <td class="na" align="center">N/A</td> + <td>Template template parameters cannot actually be used in templates</td> +</tr> +<tr> + <td> 14.2 [temp.names]</td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="na" align="center">N/A</td> + <td>Cannot name function template specializations</td> +</tr> +<tr> + <td> 14.3 [temp.arg]</td> + <td class="complete" align="center"></td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="na" align="center">N/A</td> + <td>Cannot name function template specializations</td> +</tr> +<tr> + <td> 14.3.1 [temp.arg.type]</td> + <td class="complete" align="center">✓</td> <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="na" align="center">N/A</td> + <td>Paragraph 3 will be tested elsewhere</td> +</tr> +<tr> + <td> 14.3.2 [temp.arg.nontype]</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.3.3 [temp.arg.template]</td> + <td class="complete" align="center"></td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.4 [temp.type]</td> + <td class="na" align="center">N/A</td> <td class="complete" align="center">✓</td> + <td class="complete" align="center">✓</td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.5 [temp.decls]</td><td></td><td></td><td></td><td></td><td></td> +</tr> +<tr> + <td> 14.5.1 [temp.class]</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>No out-of-line definitions of the members of a template.</td> +</tr> +<tr> + <td> 14.5.1.1 [temp.mem.func]</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>No out-of-line definitions of the member functions of a class template.</td> +</tr> +<tr> + <td> 14.5.1.2 [temp.mem.class]</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>No out-of-line definitions of the member classes of a class template.</td> +</tr> +<tr> + <td> 14.5.1.3 [temp.static]</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>No out-of-line definitions of the static data members of a class template.</td> +</tr> +<tr> + <td> 14.5.2 [temp.mem]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.5.3 [temp.friend]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.5.4 [temp.class.spec]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.5.5.1 [temp.class.spec.match]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.5.5.2 [temp.class.order]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.5.5.3 [temp.class.spec.mfunc]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.5.5 [temp.fct]</td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.5.5.1 [temp.over.link]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.5.5.2 [temp.func.order]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center">N/A</td> + <td></td> +</tr> +<tr> + <td> 14.6 [temp.res]</td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.1 [temp.local]</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.2 [temp.dep]</td> + <td class="na" align="center">N/A</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.2.1 [temp.dep.type]</td> + <td class="na" align="center">N/A</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.2.2 [temp.dep.expr]</td> + <td class="na" align="center">N/A</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.2.3 [temp.dep.constexpr]</td> + <td class="na" align="center">N/A</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.2.4 [temp.dep.temp]</td> + <td class="na" align="center">N/A</td> + <td class="medium" align="center"></td> + <td class="medium" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.3 [temp.nondep]</td> + <td class="na" align="center">N/A</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.4 [temp.dep.res]</td> + <td class="na" align="center">N/A</td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.6.4.1 [temp.point]</td> + <td class="na" align="center">N/A</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center"></td> + <td>Only class templates are instantiated</td> +</tr> +<tr> + <td> 14.6.4.2 [temp.dep.candidate]</td> + <td class="na" align="center">N/A</td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="na" align="center"></td> + <td>Not restricted to functions with external linkage</td> +</tr> +<tr> + <td> 14.6.5 [temp.inject]</td> + <td class="na" align="center">N/A</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="na" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.7 [temp.spec]</td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>Function templates cannot be instantiated</td> +</tr> +<tr> + <td> 14.7.1 [temp.inst]</td> + <td class="na" align="center">N/A</td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>Function templates cannot be instantiated</td> +</tr> +<tr> + <td> 14.7.2 [temp.explicit]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.7.3 [temp.expl.spec]</td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="basic" align="center"></td> + <td class="broken" align="center"></td> + <td>Only class template specialization is available</td> +</tr> +<tr> + <td> 14.8 [temp.fct.spec]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.1 [temp.arg.explicit]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.2 [temp.deduct]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.2.1 [temp.deduct.call]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.2.2 [temp.deduct.funcaddr]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.2.3 [temp.deduct.conv]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.2.4 [temp.deduct.type]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td> 14.8.3 [temp.over]</td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td class="broken" align="center"></td> + <td></td> +</tr> +<tr> + <td>15 [except]</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td></td> <td></td> </tr> @@ -1846,7 +2165,7 @@ welcome!</p> </tr> <tr> <td> 15.4 [except.spec]</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td></td> <td></td> <td></td> @@ -1955,7 +2274,7 @@ welcome!</p> </tr> <tr> <td>Explicit conversion operators (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf">N2437</a>)</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> <td class="medium" align="center"></td> <td class="advanced" align="center"></td> <td class="broken"></td> @@ -1963,33 +2282,33 @@ welcome!</p> </tr> <tr> <td>Static assertions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.pdf">N1720</a>)</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> <tr> <td>Deleted functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm">N2346</a>)</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="na">N/A</td> <td></td> </tr> <tr> <td>Rvalue references (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html">N2118</a> + <a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2831.html">N2831</a>)</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="broken"></td> <td></td> </tr> <tr> <td>nullptr (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">N2431</a>)</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> - <td class="complete" align="center">✓</td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> + <td class="complete" align="center"></td> <td class="broken"></td> <td></td> </tr> |