</tr>\r
<tr>\r
<td> 2.2 [lex.charset]</td>\r
- <td class="basic"></td>\r
+ <td class="basic"></td>\r
<td class="na">N/A</td>\r
<td class="na">N/A</td>\r
<td class="na">N/A</td>\r
<tr><td> 3.10 [basic.lval]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
<tr>\r
<td>4 [conv]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.1 [conv.lval]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="advanced" align="center"></td> <!-- p2: sizeof -->\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.2 [conv.array]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.3 [conv.func]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="medium" align="center"></td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.4 [conv.qual]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="medium" align="center"></td> <!-- pointer-to-member -->\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.5 [conv.prom]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.6 [conv.fpprom]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.7 [conv.integral]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.8 [conv.double]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td class="complete" align="center">✓</td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 4.12 [conv.bool]</td>\r
- <td class="complete" align="center">✓</td> \r
<td class="complete" align="center">✓</td>\r
- <td class="medium" align="center"></td> <!-- pointer-to-member --> \r
+ <td class="complete" align="center">✓</td>\r
+ <td class="medium" align="center"></td> <!-- pointer-to-member -->\r
<td></td>\r
<td>Missing pointer-to-member conversions.</td>\r
</tr>\r
-<tr><td>5 [expr]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
<tr>\r
- <td> 5.1 [expr.prim]</td>\r
- <td></td>\r
- <td></td>\r
+ <td>5 [expr]</td>\r
+ <td class="na">N/A</td>\r
+ <td class="na">N/A</td>\r
+ <td class="complete" align="center">✓</td>\r
<td></td>\r
<td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.1 [expr.prim]</td>\r
+ <td class="medium" align="center"></td>\r
+ <td class="medium" align="center"></td>\r
+ <td class="medium" align="center"></td>\r
<td></td>\r
+ <td>template-ids are not supported, name lookup is not complete</td>\r
</tr>\r
-<tr><td> 5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
+<tr><td> 5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td>Note that overloading is not considered in this section</td></tr>\r
<tr>\r
<td> 5.2.1 [expr.sub]</td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
<td></td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 5.2.2 [expr.call]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="medium" align="center"></td>\r
<td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
+ <td>Member calls don't work</td>\r
</tr>\r
<tr>\r
<td> 5.2.3 [expr.type.conv]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="basic"></td>\r
<td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
+ <td>Only between non-class types</td>\r
</tr>\r
<tr>\r
<td> 5.2.4 [expr.pseudo]</td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
+ <td class="broken"></td>\r
+ <td class="broken"></td>\r
+ <td class="broken"></td>\r
<td></td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 5.2.5 [expr.ref]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="basic"></td>\r
+ <td class="basic"></td>\r
<td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
+ <td>Only fields can be accessed</td>\r
</tr>\r
<tr>\r
<td> 5.2.6 [expr.post.incr]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="advanced"></td>\r
<td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
- <td></td>\r
+ <td>Decrement of bool is accepted, increment not warned about</td>\r
</tr>\r
<tr>\r
<td> 5.2.7 [expr.dynamic.cast]</td>\r
- <td class="complete" align="center">✓</td> \r
- <td class="complete" align="center">✓</td> \r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
<td></td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 5.2.8 [expr.typeid]</td>\r
- <td class="complete" align="center">✓</td> \r
- <td class="complete" align="center">✓</td> \r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
<td></td>\r
<td></td>\r
</tr>\r
<tr>\r
<td> 5.2.9 [expr.static.cast]</td>\r
- <td class="complete" align="center">✓</td> \r
+ <td class="complete" align="center">✓</td>\r
<td class="advanced" align="center"></td>\r
<td class="medium" align="center"></td>\r
<td></td>\r
</tr>\r
<tr><td> 5.3 [expr.unary]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
<tr><td> 5.3.1 [expr.unary.op]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.3.2 [expr.pre.incr]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.3.3 [expr.sizeof]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
+<tr>\r
+ <td> 5.3.1p1 Unary *</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.1p2-5 Unary &</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="basic" align="center"></td>\r
+ <td class="basic" align="center"></td>\r
+ <td></td>\r
+ <td>Member pointers not supported in any way</td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.1p6 Unary +</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.1p7 Unary -</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.1p8 Unary !</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.1p9 Unary ~</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.2 [expr.pre.incr]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="advanced"></td>\r
+ <td></td>\r
+ <td>Decrement of bool is accepted, increment not warned about</td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.3 [expr.sizeof]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
<tr>\r
<td> 5.3.4 [expr.new]</td>\r
- <td class="complete" align="center">✓</td> \r
- <td class="medium" align="center"></td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="advanced" align="center"></td>\r
+ <td></td>\r
+ <td>operator delete is not looked up, initialization not quite correct</td>\r
+</tr>\r
+<tr>\r
+ <td> 5.3.5 [expr.delete]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.4 [expr.cast]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="medium"></td>\r
+ <td></td>\r
+ <td>Too lenient, and may not always have correct semantics</td>\r
+</tr>\r
+<tr>\r
+ <td> 5.5 [expr.mptr.oper]</td>\r
+ <td class="broken"></td>\r
+ <td class="broken"></td>\r
+ <td class="broken"></td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.6 [expr.mul]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.7 [expr.add]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.8 [expr.shift]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.9 [expr.rel]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.10 [expr.eq]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.11 [expr.bit.and]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.12 [expr.xor]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.13 [expr.or]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.14 [expr.log.and]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.15 [expr.log.or]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
+ <td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.16 [expr.cond]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
<td class="medium" align="center"></td>\r
<td></td>\r
+ <td>throw expressions not supported, type unification rules are based on C only</td>\r
+</tr>\r
+<tr>\r
+ <td> 5.17 [expr.ass]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
<td></td>\r
</tr>\r
<tr>\r
- <td> 5.3.5 [expr.delete]</td>\r
- <td class="complete" align="center">✓</td> \r
- <td class="complete" align="center">✓</td> \r
- <td class="complete" align="center">✓</td> \r
+ <td> 5.18 [expr.comma]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td></td>\r
<td></td>\r
+</tr>\r
+<tr>\r
+ <td> 5.19 [expr.const]</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="complete" align="center">✓</td>\r
+ <td class="basic"></td>\r
<td></td>\r
+ <td>Uses C semantics</td>\r
</tr>\r
-<tr><td> 5.4 [expr.cast]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.5 [expr.mptr.oper]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.6 [expr.mul]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.7 [expr.add]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.8 [expr.shift]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.9 [expr.rel]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.10 [expr.eq]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.11 [expr.bit.and]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.12 [expr.xor]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.13 [expr.or]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.14 [expr.log.and]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.15 [expr.log.or]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.16 [expr.cond]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.17 [expr.ass]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.18 [expr.comma]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
-<tr><td> 5.19 [expr.const]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
<tr><td>6 [stmt.stmt]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
<tr><td> 6.1 [stmt.label]</td><td></td><td></td><td></td><td></td><td></td></tr>\r
<tr><td> 6.2 [stmt.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>\r