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