blob: 40490e57ea01b6e1268b9b49d3c5366b126a77df [file] [log] [blame]
Cedric Venet3d658642009-02-14 20:20:19 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
3<html>
4<head>
Gabor Greif70f2a042009-02-25 15:22:45 +00005 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Cedric Venet3d658642009-02-14 20:20:19 +00006 <title>Clang - C++ Support</title>
Gabor Greif70f2a042009-02-25 15:22:45 +00007 <link type="text/css" rel="stylesheet" href="menu.css">
8 <link type="text/css" rel="stylesheet" href="content.css">
Cedric Venet3d658642009-02-14 20:20:19 +00009 <style type="text/css">
Douglas Gregor01cf1122009-05-12 18:36:58 +000010 .na { background-color: #C0C0C0; text-align: center; }
Cedric Venet3d658642009-02-14 20:20:19 +000011 .broken { background-color: #C11B17 }
12 .basic { background-color: #F88017 }
13 .medium { background-color: #FDD017 }
14 .advanced { background-color: #347C17 }
15 .complete { background-color: #00FF00 }
16 </style>
17</head>
18<body>
19
20<!--#include virtual="menu.html.incl"-->
21
22<div id="content">
23
24<!--*************************************************************************-->
25<h1>C++ Support in Clang</h1>
26<!--*************************************************************************-->
27
28<p>
29This page tracks the status of C++ support in Clang.<br>
Douglas Gregor33aa5192009-03-20 20:39:57 +000030Currently most of the C++ features are missing; here you can find features that are at least partially supported in Clang. If you are looking to <a href="get_involved.html">get involved with Clang development</a> to help work on support for C++, please also look at our <a href="OpenProjects.html">Open Projects</a> page for some specific ideas.</p>
Cedric Venet3d658642009-02-14 20:20:19 +000031
32
33<!-- Within this table: The colors we're using to color-code our level
34of support for a given section:
35
36 White (no background): not considered/tested.
37 #C11B17: Broken.
38 #F88017: Some useful examples work
39 #FDD017: Many examples work
40 #347C17: Nearly everything works
41 #00FF00 + check mark: Implementation complete!
42 -->
43
44<p>The following table is used to help track our implementation
45 progress toward implementing the complete C++03 standard. We use a
46 simple, somewhat arbitrary color-coding scheme to describe the
47 relative completeness of features by section:</p>
48
49<table width="689" border="1" cellspacing="0">
50 <tr>
51 <th>Not started/not evaluated</th>
52 <th>Not Applicable</th>
53 <th>Broken</th>
54 <th>Some examples work</th>
55 <th>Many examples work</th>
56 <th>Nearly everything works</th>
Douglas Gregor07554022009-05-12 17:55:28 +000057 <th>Complete</th>
58 <th>Complete (with tests for each paragraph)</th>
Cedric Venet3d658642009-02-14 20:20:19 +000059 </tr>
60 <tr>
61 <td></td>
62 <td class="na">N/A</td>
63 <td class="broken"></td>
64 <td class="basic"></td>
65 <td class="medium"></td>
66 <td class="advanced"></td>
Douglas Gregor07554022009-05-12 17:55:28 +000067 <td class="complete"></td>
Cedric Venet3d658642009-02-14 20:20:19 +000068 <td class="complete" align="center">&#x2713;</td>
69 </tr>
70</table>
71
72<p>A feature is "complete" when the appropriate Clang component (Parse, AST,
73Sema, CodeGen) implements the behavior described in all of the
74paragraphs in the relevant C++ standard. Note that many C++ features are
75actually described in several different sections within the standard. The major components are:</p>
76
77<dl>
78 <dt>Parse</dt>
79 <dd>Clang is able to parse the grammar of this feature (or the grammar described by this section), but does not necessarily do anything with the parsed result. Use Clang's <code>-fsyntax-only</code> option to parse C++ programs.</dd>
80
81 <dt>AST</dt>
82 <dd>Clang builds an abstract syntax tree (AST) for the feature, but does not necessarily perform any type-checking. Use Clang's <code>-ast-print</code> option to print the resulting ASTs.</dd>
83
84 <dt>Sema</dt>
85 <dd>Clang parses and type-checks this feature and provides a well-formed AST annotated with types. Use Clang's <code>-fsyntax-only</code> to type-check code.</dd>
86
87 <dt>CodeGen</dt>
88 <dd>Clang parses, type-checks, and generates code for this feature, allowing one to compile and execute programs.</dd>
89</dl>
90
91<p>Updates to this table are welcome! Since Clang already supports
92much of C, and therefore much C++, many of the currently-white cells
93could be filled in. If you wish to do so, please compare Clang's
94implementation against the C++ standard and provide a patch that
95updates the table accordingly. Tests for the various features are also
96welcome!</p>
97
98<table width="689" border="1" cellspacing="0">
99 <tr>
100 <th>Section</th>
101 <th>Parse</th>
102 <th>AST</th>
103 <th>Sema</th>
104 <th>CodeGen</th>
105 <th>Notes</th>
106 </tr>
107<tr>
108 <td>2 [lex]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000109 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000110 <td class="na">N/A</td>
111 <td class="na">N/A</td>
112 <td class="na">N/A</td>
113 <td></td>
114</tr>
115<tr>
116 <td>&nbsp;&nbsp;2.1 [lex.phases]</td>
117 <td class="advanced" align="center"></td>
118 <td class="na">N/A</td>
119 <td class="na">N/A</td>
120 <td class="na">N/A</td>
121 <td>Extended characters aren't handled.</td>
122</tr>
123<tr>
124 <td>&nbsp;&nbsp;2.2 [lex.charset]</td>
125 <td class="basic"></td>
126 <td class="na">N/A</td>
127 <td class="na">N/A</td>
128 <td class="na">N/A</td>
129 <td>No support for extended characters.</td>
130</tr>
131<tr>
132 <td>&nbsp;&nbsp;2.3 [lex.trigraph]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000133 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000134 <td class="na">N/A</td>
135 <td class="na">N/A</td>
136 <td class="na">N/A</td>
137 <td></td>
138</tr>
139<tr>
140 <td>&nbsp;&nbsp;2.4 [lex.pptoken]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000141 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000142 <td class="na">N/A</td>
143 <td class="na">N/A</td>
144 <td class="na">N/A</td>
145 <td></td>
146</tr>
147<tr>
148 <td>&nbsp;&nbsp;2.5 [lex.digraph]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000149 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000150 <td class="na">N/A</td>
151 <td class="na">N/A</td>
152 <td class="na">N/A</td>
153 <td></td>
154</tr>
155<tr>
156 <td>&nbsp;&nbsp;2.6 [lex.token]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000157 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000158 <td class="na">N/A</td>
159 <td class="na">N/A</td>
160 <td class="na">N/A</td>
161 <td></td>
162</tr>
163<tr>
164 <td>&nbsp;&nbsp;2.7 [lex.comment]</td>
165 <td class="advanced" align="center"></td>
166 <td></td>
167 <td class="na">N/A</td>
168 <td class="na">N/A</td>
169 <td>NDR "form feed or vtab in comment" is not diagnosed. No AST representation of comments.</td>
170</tr>
171<tr>
172 <td>&nbsp;&nbsp;2.8 [lex.header]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000173 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000174 <td class="na">N/A</td>
175 <td class="na">N/A</td>
176 <td class="na">N/A</td>
177 <td></td>
178</tr>
179<tr>
180 <td>&nbsp;&nbsp;2.9 [lex.ppnumber]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000181 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000182 <td class="na">N/A</td>
183 <td class="na">N/A</td>
184 <td class="na">N/A</td>
185 <td></td>
186</tr>
187<tr>
188 <td>&nbsp;&nbsp;2.10 [lex.name]</td>
189 <td class="advanced" align="center"></td>
190 <td class="na">N/A</td>
191 <td class="na">N/A</td>
192 <td class="na">N/A</td>
193 <td>No support for extended characters</td>
194</tr>
195<tr>
196 <td>&nbsp;&nbsp;2.11 [lex.key]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000197 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000198 <td class="na">N/A</td>
199 <td class="na">N/A</td>
200 <td class="na">N/A</td>
201 <td></td>
202</tr>
203<tr>
204 <td>&nbsp;&nbsp;2.12 [lex.operators]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000205 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000206 <td class="na">N/A</td>
207 <td class="na">N/A</td>
208 <td class="na">N/A</td>
209 <td></td>
210</tr>
211<tr>
212 <td>&nbsp;&nbsp;2.13 [lex.literal]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000213 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000214 <td class="na">N/A</td>
215 <td class="na">N/A</td>
216 <td class="na">N/A</td>
217 <td></td>
218</tr>
219<tr>
220 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.1 [lex.icon]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000221 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000222 <td class="na">N/A</td>
223 <td class="na">N/A</td>
224 <td class="na">N/A</td>
225 <td></td>
226</tr>
227<tr>
228 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.2 [lex.ccon]</td>
229 <td class="advanced" align="center"></td>
230 <td class="na">N/A</td>
231 <td class="na">N/A</td>
232 <td class="na">N/A</td>
233 <td>Poor support for extended characters</td>
234</tr>
235<tr>
236 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.3 [lex.fcon]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000237 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000238 <td class="na">N/A</td>
239 <td class="na">N/A</td>
240 <td class="na">N/A</td>
241 <td></td>
242</tr>
243<tr>
244 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.4 [lex.string]</td>
245 <td class="advanced" align="center"></td>
246 <td class="na">N/A</td>
247 <td class="na">N/A</td>
248 <td class="na">N/A</td>
249 <td>Poor support for extended characters</td>
250</tr>
251<tr>
252 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.5 [lex.bool]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000253 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000254 <td class="na">N/A</td>
255 <td class="na">N/A</td>
256 <td class="na">N/A</td>
257 <td></td>
258</tr>
259<tr>
260<td>3 [basic]</td>
261 <td class="na">N/A</td>
262 <td class="na">N/A</td>
263 <td class="na">N/A</td>
264 <td class="na">N/A</td>
265 <td></td>
266</tr>
267<tr>
268 <td>&nbsp;&nbsp;3.1 [basic.def]</td>
269 <td></td>
270 <td></td>
271 <td></td>
272 <td class="na">N/A</td>
273 <td></td>
274</tr>
275<tr>
276 <td>&nbsp;&nbsp;3.2 [basic.def.odr]</td>
277 <td></td>
278 <td></td>
279 <td></td>
280 <td></td>
281 <td></td>
282</tr>
283<tr>
284 <td>&nbsp;&nbsp;3.3 [basic.scope]</td>
285 <td class="na">N/A</td>
286 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000287 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000288 <td class="na">N/A</td>
289 <td></td>
290</tr>
291<tr>
292 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.1 [basic.scope.pdecl]</td>
293 <td class="na">N/A</td>
294 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000295 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000296 <td class="na">N/A</td>
Sebastian Redl0393e282009-05-10 20:06:11 +0000297 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000298</tr>
299<tr>
300 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.2 [basic.scope.local]</td>
301 <td class="na">N/A</td>
302 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000303 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000304 <td class="na">N/A</td>
Sebastian Redl0393e282009-05-10 20:06:11 +0000305 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000306</tr>
307<tr>
308 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.3 [basic.scope.proto]</td>
309 <td class="na">N/A</td>
310 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000311 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000312 <td class="na">N/A</td>
313 <td></td>
314</tr>
315<tr>
316 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.4 [basic.funscope]</td>
317 <td class="na">N/A</td>
318 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000319 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000320 <td class="na">N/A</td>
321 <td></td>
322</tr>
323<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.5 [basic.scope.namespace]</td><td></td><td></td><td></td><td></td><td></td></tr>
324<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.6 [basic.scope.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
325<tr>
326 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.7 [basic.scope.hiding]</td>
327 <td class="na">N/A</td>
328 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000329 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000330 <td class="na">N/A</td>
331 <td></td>
332</tr>
333<tr>
334 <td>&nbsp;&nbsp;3.4 [basic.lookup]</td>
335 <td class="na">N/A</td>
336 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000337 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000338 <td class="na">N/A</td>
339 <td></td>
340</tr>
341<tr>
342 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.1 [basic.lookup.unqual]</td>
343 <td class="na">N/A</td>
344 <td class="na">N/A</td>
345 <td class="medium"></td>
346 <td class="na">N/A</td>
347 <td>Many cases beyond simple global and function-local lookup don't work</td>
348</tr>
349<tr>
350 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.2 [basic.lookup.argdep]</td>
351 <td class="na">N/A</td>
352 <td class="advanced" align="center"></td>
353 <td class="advanced" align="center"></td>
354 <td class="na">N/A</td>
355 <td>Missing support for templates, friend functions.</td>
356</tr>
357<tr>
358 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.3 [basic.lookup.qual]</td>
359 <td class="na">N/A</td>
360 <td class="na">N/A</td>
361 <td class="advanced"></td>
362 <td class="na">N/A</td>
363 <td></td>
364</tr>
365<tr>
366 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.4.3.1 [class.qual]</td>
367 <td class="na">N/A</td>
368 <td class="na">N/A</td>
369 <td class="advanced"></td>
370 <td class="na">N/A</td>
371 <td></td>
372</tr>
373<tr>
374 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.4.3.2 [namespace.qual]</td>
375 <td class="na">N/A</td>
376 <td class="na">N/A</td>
377 <td class="advanced"></td>
378 <td class="na">N/A</td>
379 <td></td>
380</tr>
381<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.4 [basic.lookup.elab]</td><td></td><td></td><td></td><td></td><td></td></tr>
382<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.5 [basic.lookup.classref]</td><td></td><td></td><td></td><td></td><td></td></tr>
383<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.6 [basic.lookup.udir]</td><td></td><td></td><td></td><td></td><td></td></tr>
384<tr><td>&nbsp;&nbsp;3.5 [basic.link]</td><td></td><td></td><td></td><td></td><td></td></tr>
385<tr><td>&nbsp;&nbsp;3.6 [basic.start]</td><td></td><td></td><td></td><td></td><td></td></tr>
386<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.1 [basic.start.main]</td><td></td><td></td><td></td><td></td><td></td></tr>
387<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.2 [basic.start.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
388<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.3 [basic.start.term]</td><td></td><td></td><td></td><td></td><td></td></tr>
389<tr><td>&nbsp;&nbsp;3.7 [basic.stc]</td><td></td><td></td><td></td><td></td><td></td></tr>
390<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.1 [basic.stc.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
391<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.2 [basic.stc.auto]</td><td></td><td></td><td></td><td></td><td></td></tr>
392<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.3 [basic.stc.dynamic]</td><td></td><td></td><td></td><td></td><td></td></tr>
393<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.7.3.1 [basic.stc.dynamic.allocation]</td><td></td><td></td><td></td><td></td><td></td></tr>
394<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.7.3.2 [basic.stc.dynamic.deallocation]</td><td></td><td></td><td></td><td></td><td></td></tr>
395<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.4 [basic.stc.inherit]</td><td></td><td></td><td></td><td></td><td></td></tr>
396<tr><td>&nbsp;&nbsp;3.8 [basic.life]</td><td></td><td></td><td></td><td></td><td></td></tr>
397<tr><td>&nbsp;&nbsp;3.9 [basic.types]</td><td></td><td></td><td></td><td></td><td></td></tr>
398<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.1 [basic.fundamental]</td><td></td><td></td><td></td><td></td><td></td></tr>
399<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.2 [basic.compound]</td><td></td><td></td><td></td><td></td><td></td></tr>
400<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.3 [basic.type.qualifier]</td><td></td><td></td><td></td><td></td><td></td></tr>
401<tr><td>&nbsp;&nbsp;3.10 [basic.lval]</td><td></td><td></td><td></td><td></td><td></td></tr>
402<tr>
403 <td>4 [conv]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000404 <td class="complete" align="center"></td>
405 <td class="complete" align="center"></td>
406 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000407 <td></td>
408 <td></td>
409</tr>
410<tr>
411 <td>&nbsp;&nbsp;4.1 [conv.lval]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000412 <td class="complete" align="center"></td>
413 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000414 <td class="advanced" align="center"></td> <!-- p2: sizeof -->
415 <td></td>
416 <td></td>
417</tr>
418<tr>
419 <td>&nbsp;&nbsp;4.2 [conv.array]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000420 <td class="complete" align="center"></td>
421 <td class="complete" align="center"></td>
422 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000423 <td></td>
424 <td></td>
425</tr>
426<tr>
427 <td>&nbsp;&nbsp;4.3 [conv.func]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000428 <td class="complete" align="center"></td>
429 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000430 <td class="advanced" align="center"></td>
431 <td></td>
432 <td></td>
433</tr>
434<tr>
435 <td>&nbsp;&nbsp;4.4 [conv.qual]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000436 <td class="complete" align="center"></td>
437 <td class="complete" align="center"></td>
438 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000439 <td></td>
440 <td></td>
441</tr>
442<tr>
443 <td>&nbsp;&nbsp;4.5 [conv.prom]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000444 <td class="complete" align="center"></td>
445 <td class="complete" align="center"></td>
446 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000447 <td></td>
448 <td></td>
449</tr>
450<tr>
451 <td>&nbsp;&nbsp;4.6 [conv.fpprom]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000452 <td class="complete" align="center"></td>
453 <td class="complete" align="center"></td>
454 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000455 <td></td>
456 <td></td>
457</tr>
458<tr>
459 <td>&nbsp;&nbsp;4.7 [conv.integral]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000460 <td class="complete" align="center"></td>
461 <td class="complete" align="center"></td>
462 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000463 <td></td>
464 <td></td>
465</tr>
466<tr>
467 <td>&nbsp;&nbsp;4.8 [conv.double]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000468 <td class="complete" align="center"></td>
469 <td class="complete" align="center"></td>
470 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000471 <td></td>
472 <td></td>
473</tr>
474<tr>
475 <td>&nbsp;&nbsp;4.9 [conv.fpint]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000476 <td class="complete" align="center"></td>
477 <td class="complete" align="center"></td>
478 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000479 <td></td>
480 <td></td>
481</tr>
482<tr>
483 <td>&nbsp;&nbsp;4.10 [conv.ptr]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000484 <td class="complete" align="center"></td>
485 <td class="complete" align="center"></td>
486 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000487 <td></td>
488 <td></td>
489</tr>
490<tr>
491 <td>&nbsp;&nbsp;4.11 [conv.mem]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000492 <td class="complete" align="center"></td>
493 <td class="complete" align="center"></td>
494 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000495 <td></td>
496 <td></td>
497</tr>
498<tr>
499 <td>&nbsp;&nbsp;4.12 [conv.bool]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000500 <td class="complete" align="center"></td>
501 <td class="complete" align="center"></td>
502 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000503 <td></td>
504 <td></td>
505</tr>
506<tr>
507 <td>5 [expr]</td>
508 <td class="na">N/A</td>
509 <td class="na">N/A</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000510 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000511 <td></td>
512 <td></td>
513</tr>
514<tr>
515 <td>&nbsp;&nbsp;5.1 [expr.prim]</td>
516 <td class="medium" align="center"></td>
517 <td class="medium" align="center"></td>
518 <td class="medium" align="center"></td>
519 <td></td>
520 <td>template-ids are not supported, name lookup is not complete</td>
521</tr>
522<tr><td>&nbsp;&nbsp;5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td></td></tr>
523<tr>
524 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.1 [expr.sub]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000525 <td class="complete" align="center"></td>
526 <td class="complete" align="center"></td>
527 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000528 <td></td>
529 <td></td>
530</tr>
531<tr>
532 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.2 [expr.call]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000533 <td class="complete" align="center"></td>
534 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +0000535 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000536 <td></td>
Douglas Gregor35adb752009-03-12 00:09:31 +0000537 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000538</tr>
539<tr>
540 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.3 [expr.type.conv]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000541 <td class="complete" align="center"></td>
542 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000543 <td class="basic"></td>
544 <td></td>
545 <td>Only between non-class types</td>
546</tr>
547<tr>
548 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.4 [expr.pseudo]</td>
549 <td class="broken"></td>
550 <td class="broken"></td>
551 <td class="broken"></td>
552 <td></td>
553 <td></td>
554</tr>
555<tr>
556 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.5 [expr.ref]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000557 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000558 <td class="medium"></td>
559 <td class="medium"></td>
560 <td></td>
561 <td>Cannot look up operator names, qualified-ids, or names in base classes</td>
562</tr>
563<tr>
564 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.6 [expr.post.incr]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000565 <td class="complete" align="center"></td>
566 <td class="complete" align="center"></td>
567 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000568 <td></td>
569 <td></td>
570</tr>
571<tr>
572 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.7 [expr.dynamic.cast]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000573 <td class="complete" align="center"></td>
574 <td class="complete" align="center"></td>
575 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000576 <td></td>
577 <td></td>
578</tr>
579<tr>
580 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.8 [expr.typeid]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000581 <td class="complete" align="center"></td>
582 <td class="complete" align="center"></td>
583 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000584 <td></td>
585 <td></td>
586</tr>
587<tr>
588 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.9 [expr.static.cast]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000589 <td class="complete" align="center"></td>
590 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000591 <td class="advanced" align="center"></td>
592 <td></td>
593 <td>Some custom conversions don't work.</td>
594</tr>
595<tr>
596 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.10 [expr.reinterpret.cast]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000597 <td class="complete" align="center"></td>
598 <td class="complete" align="center"></td>
599 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000600 <td></td>
601 <td></td>
602</tr>
603<tr>
604 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.11 [expr.const.cast]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000605 <td class="complete" align="center"></td>
606 <td class="complete" align="center"></td>
607 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000608 <td></td>
609 <td></td>
610</tr>
611<tr><td>&nbsp;&nbsp;5.3 [expr.unary]</td><td></td><td></td><td></td><td></td><td></td></tr>
612<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.1 [expr.unary.op]</td><td></td><td></td><td></td><td></td><td></td></tr>
613<tr>
614 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p1 Unary *</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000615 <td class="complete" align="center"></td>
616 <td class="complete" align="center"></td>
617 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000618 <td></td>
619 <td></td>
620</tr>
621<tr>
622 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p2-5 Unary &amp;</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000623 <td class="complete" align="center"></td>
624 <td class="complete" align="center"></td>
625 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000626 <td></td>
627 <td></td>
628</tr>
629<tr>
630 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p6 Unary +</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000631 <td class="complete" align="center"></td>
632 <td class="complete" align="center"></td>
633 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000634 <td></td>
635 <td></td>
636</tr>
637<tr>
638 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p7 Unary -</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000639 <td class="complete" align="center"></td>
640 <td class="complete" align="center"></td>
641 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000642 <td></td>
643 <td></td>
644</tr>
645<tr>
646 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p8 Unary !</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000647 <td class="complete" align="center"></td>
648 <td class="complete" align="center"></td>
649 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000650 <td></td>
651 <td></td>
652</tr>
653<tr>
654 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p9 Unary ~</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000655 <td class="complete" align="center"></td>
656 <td class="complete" align="center"></td>
657 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000658 <td></td>
659 <td></td>
660</tr>
661<tr>
662 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.2 [expr.pre.incr]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000663 <td class="complete" align="center"></td>
664 <td class="complete" align="center"></td>
665 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000666 <td></td>
667 <td></td>
668</tr>
669<tr>
670 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.3 [expr.sizeof]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000671 <td class="complete" align="center"></td>
672 <td class="complete" align="center"></td>
673 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000674 <td></td>
675 <td></td>
676</tr>
677<tr>
678 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.4 [expr.new]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000679 <td class="complete" align="center"></td>
680 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000681 <td class="advanced" align="center"></td>
682 <td></td>
683 <td>operator delete is not looked up, initialization not quite correct</td>
684</tr>
685<tr>
686 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.5 [expr.delete]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000687 <td class="complete" align="center"></td>
688 <td class="complete" align="center"></td>
689 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000690 <td></td>
691 <td></td>
692</tr>
693<tr>
694 <td>&nbsp;&nbsp;5.4 [expr.cast]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000695 <td class="complete" align="center"></td>
696 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000697 <td class="medium"></td>
698 <td></td>
699 <td>Too lenient, and may not always have correct semantics</td>
700</tr>
701<tr>
702 <td>&nbsp;&nbsp;5.5 [expr.mptr.oper]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000703 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000704 <td class="advanced"></td>
705 <td class="advanced"></td>
706 <td></td>
707 <td>Dereferenced member function pointers have the wrong type.</td>
708</tr>
709<tr>
710 <td>&nbsp;&nbsp;5.6 [expr.mul]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000711 <td class="complete" align="center"></td>
712 <td class="complete" align="center"></td>
713 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000714 <td></td>
715 <td></td>
716</tr>
717<tr>
718 <td>&nbsp;&nbsp;5.7 [expr.add]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000719 <td class="complete" align="center"></td>
720 <td class="complete" align="center"></td>
721 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000722 <td></td>
723 <td></td>
724</tr>
725<tr>
726 <td>&nbsp;&nbsp;5.8 [expr.shift]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000727 <td class="complete" align="center"></td>
728 <td class="complete" align="center"></td>
729 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000730 <td></td>
731 <td></td>
732</tr>
733<tr>
734 <td>&nbsp;&nbsp;5.9 [expr.rel]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000735 <td class="complete" align="center"></td>
736 <td class="complete" align="center"></td>
737 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000738 <td></td>
739 <td></td>
740</tr>
741<tr>
742 <td>&nbsp;&nbsp;5.10 [expr.eq]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000743 <td class="complete" align="center"></td>
744 <td class="complete" align="center"></td>
745 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000746 <td></td>
747 <td></td>
748</tr>
749<tr>
750 <td>&nbsp;&nbsp;5.11 [expr.bit.and]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000751 <td class="complete" align="center"></td>
752 <td class="complete" align="center"></td>
753 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000754 <td></td>
755 <td></td>
756</tr>
757<tr>
758 <td>&nbsp;&nbsp;5.12 [expr.xor]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000759 <td class="complete" align="center"></td>
760 <td class="complete" align="center"></td>
761 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000762 <td></td>
763 <td></td>
764</tr>
765<tr>
766 <td>&nbsp;&nbsp;5.13 [expr.or]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000767 <td class="complete" align="center"></td>
768 <td class="complete" align="center"></td>
769 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000770 <td></td>
771 <td></td>
772</tr>
773<tr>
774 <td>&nbsp;&nbsp;5.14 [expr.log.and]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000775 <td class="complete" align="center"></td>
776 <td class="complete" align="center"></td>
777 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000778 <td></td>
779 <td></td>
780</tr>
781<tr>
782 <td>&nbsp;&nbsp;5.15 [expr.log.or]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000783 <td class="complete" align="center"></td>
784 <td class="complete" align="center"></td>
785 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000786 <td></td>
787 <td></td>
788</tr>
789<tr>
790 <td>&nbsp;&nbsp;5.16 [expr.cond]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000791 <td class="complete" align="center"></td>
792 <td class="complete" align="center"></td>
793 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000794 <td></td>
Sebastian Redl78eb8742009-04-19 21:53:20 +0000795 <td>some invalid hierarchy casts still accepted, but that's a general problem</td>
Cedric Venet3d658642009-02-14 20:20:19 +0000796</tr>
797<tr>
798 <td>&nbsp;&nbsp;5.17 [expr.ass]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000799 <td class="complete" align="center"></td>
800 <td class="complete" align="center"></td>
801 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000802 <td></td>
803 <td></td>
804</tr>
805<tr>
806 <td>&nbsp;&nbsp;5.18 [expr.comma]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000807 <td class="complete" align="center"></td>
808 <td class="complete" align="center"></td>
809 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000810 <td></td>
811 <td></td>
812</tr>
813<tr>
814 <td>&nbsp;&nbsp;5.19 [expr.const]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000815 <td class="complete" align="center"></td>
816 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000817 <td class="basic"></td>
818 <td></td>
819 <td>Uses C semantics</td>
820</tr>
821<tr>
822 <td>6 [stmt.stmt]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000823 <td class="complete" align="center"></td>
824 <td class="complete" align="center"></td>
825 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000826 <td></td>
827 <td></td>
828</tr>
829<tr>
830 <td>&nbsp;&nbsp;6.1 [stmt.label]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000831 <td class="complete" align="center"></td>
832 <td class="complete" align="center"></td>
833 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000834 <td></td>
835 <td></td>
836</tr>
837<tr>
838 <td>&nbsp;&nbsp;6.2 [stmt.expr]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000839 <td class="complete" align="center"></td>
840 <td class="complete" align="center"></td>
841 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000842 <td></td>
843 <td></td>
844</tr>
845<tr>
846 <td>&nbsp;&nbsp;6.3 [stmt.block]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000847 <td class="complete" align="center"></td>
848 <td class="complete" align="center"></td>
849 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000850 <td></td>
851 <td></td>
852</tr>
853<tr>
854 <td>&nbsp;&nbsp;6.4 [stmt.select]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000855 <td class="complete" align="center"></td>
856 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000857 <td class="advanced" align="center"></td>
858 <td></td>
859 <td>Conversion of declarations to required types not really supported.</td>
860</tr>
861<tr>
862 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.4.1 [stmt.if]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000863 <td class="complete" align="center"></td>
864 <td class="complete" align="center"></td>
865 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000866 <td></td>
867 <td></td>
868</tr>
869<tr>
870 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.4.2 [stmt.switch]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000871 <td class="complete" align="center"></td>
872 <td class="complete" align="center"></td>
873 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000874 <td></td>
875 <td></td>
876</tr>
877<tr>
878 <td>&nbsp;&nbsp;6.5 [stmt.iter]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000879 <td class="complete" align="center"></td>
880 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000881 <td class="advanced" align="center"></td>
882 <td></td>
883 <td>Conversion of declarations to required types not really supported.</td>
884</tr>
885<tr>
886 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.1 [stmt.while]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000887 <td class="complete" align="center"></td>
888 <td class="complete" align="center"></td>
889 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000890 <td></td>
891 <td></td>
892</tr>
893<tr>
894 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.2 [stmt.do]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000895 <td class="complete" align="center"></td>
896 <td class="complete" align="center"></td>
897 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000898 <td></td>
899 <td></td>
900</tr>
901<tr>
902 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.3 [stmt.for]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000903 <td class="complete" align="center"></td>
904 <td class="complete" align="center"></td>
905 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000906 <td></td>
907 <td></td>
908</tr>
909<tr>
910 <td>&nbsp;&nbsp;6.6 [stmt.jump]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000911 <td class="complete" align="center"></td>
912 <td class="complete" align="center"></td>
913 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000914 <td></td>
915 <td></td>
916</tr>
917<tr>
918 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.1 [stmt.break]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000919 <td class="complete" align="center"></td>
920 <td class="complete" align="center"></td>
921 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000922 <td></td>
923 <td></td>
924</tr>
925<tr>
926 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.2 [stmt.cont]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000927 <td class="complete" align="center"></td>
928 <td class="complete" align="center"></td>
929 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000930 <td></td>
931 <td></td>
932</tr>
933<tr>
934 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.3 [stmt.return]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000935 <td class="complete" align="center"></td>
936 <td class="complete" align="center"></td>
937 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000938 <td></td>
939 <td></td>
940</tr>
941<tr>
942 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.4 [stmt.goto]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000943 <td class="complete" align="center"></td>
944 <td class="complete" align="center"></td>
945 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000946 <td></td>
947 <td></td>
948</tr>
949<tr>
950 <td>&nbsp;&nbsp;6.7 [stmt.dcl]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000951 <td class="complete" align="center"></td>
952 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000953 <td class="advanced" align="center"></td>
954 <td></td>
955 <td>Skipping of initialization is not flagged. Existence and accessibility of destructors is not tested for.</td>
956</tr>
957<tr>
958 <td>&nbsp;&nbsp;6.8 [stmt.ambig]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000959 <td class="complete" align="center"></td>
960 <td class="complete" align="center"></td>
961 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000962 <td></td>
963 <td></td>
964</tr>
965<tr><td>7 [dcl.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
966<tr><td>
967 &nbsp;&nbsp;7.1 [dcl.spec]</td>
968 <td class="advanced" align="center"></td>
969 <td class="advanced" align="center"></td>
970 <td class="advanced" align="center"></td>
971 <td></td>
972 <td>No support for friend declarations.</td>
973</tr>
974<tr>
975 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.1 [dcl.stc]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000976 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000977 <td class="advanced" align="center"></td>
978 <td class="advanced" align="center"></td>
979 <td></td>
980 <td>Linkage merging has some errors.</td>
981</tr>
982<tr>
983 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.2 [dcl.fct.spec]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000984 <td class="complete" align="center"></td>
985 <td class="complete" align="center"></td>
986 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000987 <td></td>
988 <td></td>
989</tr>
990<tr>
991 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.3 [dcl.typedef]</td>
Douglas Gregor07554022009-05-12 17:55:28 +0000992 <td class="complete" align="center"></td>
993 <td class="complete" align="center"></td>
994 <td class="complete" align="center"></td>
995 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +0000996 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000997</tr>
998<tr>
999 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.4 [dcl.friend]</td>
1000 <td class="broken"></td>
1001 <td class="broken"></td>
1002 <td class="broken"></td>
1003 <td></td>
1004 <td></td>
1005</tr>
1006<tr>
1007 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.5 [dcl.type]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001008 <td class="complete" align="center"></td>
1009 <td class="complete" align="center"></td>
1010 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001011 <td></td>
1012 <td></td>
1013</tr>
1014<tr>
1015 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.1 [dcl.type.cv]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001016 <td class="complete" align="center"></td>
1017 <td class="complete" align="center"></td>
1018 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001019 <td></td>
1020 <td></td>
1021</tr>
1022<tr>
1023 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.2 [dcl.type.simple]</td>
1024 <td class="medium"></td>
1025 <td class="advanced"></td>
1026 <td class="advanced"></td>
1027 <td></td>
1028 <td>Cannot parse template IDs.</td>
1029</tr>
1030<tr>
1031 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.3 [dcl.type.elab]</td>
1032 <td class="medium"></td>
1033 <td class="advanced"></td>
1034 <td class="advanced"></td>
1035 <td></td>
1036 <td>Cannot parse template IDs.</td>
1037</tr>
1038<tr>
1039 <td>&nbsp;&nbsp;7.2 [dcl.enum]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001040 <td class="complete" align="center"></td>
1041 <td class="complete" align="center"></td>
1042 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001043 <td></td>
1044 <td></td>
1045</tr>
1046<tr>
1047 <td>&nbsp;&nbsp;7.3 [basic.namespace]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001048 <td class="complete" align="center"></td>
1049 <td class="complete" align="center"></td>
1050 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001051 <td></td>
1052 <td></td>
1053</tr>
1054<tr>
1055 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.1 [namespace.def]</td>
1056 <td class="medium"></td>
1057 <td class="medium"></td>
1058 <td class="medium"></td>
1059 <td></td>
1060 <td>Cannot parse namespace aliases.</td>
1061</tr>
1062<tr>
1063 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.3.1.1 [namespace.unnamed]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001064 <td class="complete" align="center"></td>
1065 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001066 <td class="broken"></td>
1067 <td></td>
1068 <td>Unnamed namespace members cannot be looked up.</td>
1069</tr>
1070<tr>
1071 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.3.1.2 [namespace.memdef]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001072 <td class="complete" align="center"></td>
1073 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001074 <td class="advanced"></td>
1075 <td></td>
1076 <td>The friend stuff is not supported.</td>
1077</tr>
1078<tr>
1079 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.2 [namespace.alias]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001080 <td class="complete" align="center"></td>
1081 <td class="complete" align="center"></td>
1082 <td class="complete" align="center"></td>
Anders Carlsson5705e532009-03-31 17:17:14 +00001083 <td class="na">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001084 <td></td>
1085</tr>
1086<tr>
1087 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.3 [namespace.udecl]</td>
1088 <td class="broken" align="center"></td>
1089 <td class="broken" align="center"></td>
1090 <td class="broken" align="center"></td>
1091 <td></td>
1092 <td></td>
1093</tr>
1094<tr>
1095 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.4[namespace.udir]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001096 <td class="complete" align="center"></td>
1097 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001098 <td class="advanced"></td>
1099 <td class="broken" align="center"></td>
1100 <td>Example in p4 fails.</td>
1101</tr>
1102<tr><td>
1103 &nbsp;&nbsp;7.4 [dcl.asm]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001104 <td class="complete" align="center"></td>
1105 <td class="complete" align="center"></td>
1106 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001107 <td></td>
1108 <td></td>
1109</tr>
1110<tr>
1111 <td>&nbsp;&nbsp;7.5 [dcl.link]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001112 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001113 <td class="basic"></td>
1114 <td class="basic"></td>
1115 <td></td>
1116 <td></td>
1117</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001118<tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001119 <td>8 [dcl.decl]</td><td></td><td></td><td></td><td></td><td></td>
1120</tr>
1121<tr>
1122 <td>&nbsp;&nbsp;8.1 [dcl.name]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001123 <td class="complete" align="center"></td>
1124 <td class="complete" align="center"></td>
1125 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001126 <td class="na">N/A</td>
1127 <td></td>
1128</tr>
1129<tr>
1130 <td>&nbsp;&nbsp;8.2 [dcl.ambig.res]</td>
1131 <td class="complete" align="center">&#x2713;</td>
1132 <td class="na" align="center">N/A</td>
1133 <td class="complete" align="center">&#x2713;</td>
1134 <td class="na">N/A</td>
1135 <td></td>
1136</tr>
1137<tr>
1138 <td>&nbsp;&nbsp;8.3 [dcl.meaning]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001139 <td class="complete" align="center"></td>
1140 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001141 <td class="advanced" align="center"></td>
1142 <td class="na">N/A</td>
1143 <td>Qualified declarator-ids are not fully implemented.</td>
1144</tr>
1145 <tr>
1146 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.1 [dcl.ptr]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001147 <td class="complete" align="center"></td>
1148 <td class="complete" align="center"></td>
1149 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001150 <td class="na">N/A</td>
1151 <td></td>
1152 </tr>
1153 <tr>
1154 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.2 [dcl.ref]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001155 <td class="complete" align="center"></td>
1156 <td class="complete" align="center"></td>
1157 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001158 <td class="na">N/A</td>
1159 <td></td>
1160 </tr>
1161 <tr>
1162 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.3 [dcl.mptr]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001163 <td class="complete" align="center"></td>
1164 <td class="complete" align="center"></td>
1165 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001166 <td class="na">N/A</td>
1167 <td></td>
1168 </tr>
1169 <tr>
1170 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.4 [dcl.array]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001171 <td class="complete" align="center"></td>
1172 <td class="complete" align="center"></td>
1173 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001174 <td class="na">N/A</td>
1175 <td></td>
1176 </tr>
1177 <tr>
1178 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.5 [dcl.fct]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001179 <td class="complete" align="center"></td>
1180 <td class="complete" align="center"></td>
1181 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001182 <td class="na">N/A</td>
1183 <td></td>
1184 </tr>
1185 <tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001186 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.6 [dcl.fct.default]</td>
1187 <td class="advanced" align="center"></td>
1188 <td class="advanced" align="center"></td>
1189 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001190 <td class="na">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001191 <td>Missing default arguments for templates.</td>
1192</tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001193<tr>
1194 <td>&nbsp;&nbsp;8.4 [dcl.fct.def]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001195 <td class="complete" align="center"></td>
1196 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001197 <td class="medium" align="center"></td>
1198 <td class="basic" align="center"></td>
1199 <td>ctor-initializers are not fully type-checked.</td>
1200</tr>
1201<tr>
1202 <td>&nbsp;&nbsp;8.5 [dcl.init]</td>
1203 <td class="advanced" align="center"></td>
1204 <td class="advanced" align="center"></td>
1205 <td class="medium" align="center"></td>
1206 <td class="medium" align="center"></td>
1207 <td></td>
1208</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001209<tr>
1210 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.1[dcl.init.aggr]</td>
1211 <td class="advanced" align="center"></td>
1212 <td class="advanced" align="center"></td>
1213 <td class="medium" align="center"></td>
1214 <td class="basic" align="center"></td>
1215 <td>No CodeGen for initializing non-aggregates or dynamic initialization.</td>
1216</tr>
Douglas Gregor35adb752009-03-12 00:09:31 +00001217<tr>
1218 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.2[dcl.init.string]</td>
1219 <td class="advanced" align="center"></td>
1220 <td class="advanced" align="center"></td>
1221 <td class="medium" align="center"></td>
1222 <td class="basic" align="center"></td>
1223 <td></td>
1224</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001225<tr>
1226 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.3 [dcl.init.ref]</td>
1227 <td class="advanced" align="center"></td>
1228 <td class="advanced" align="center"></td>
1229 <td class="medium" align="center"></td>
1230 <td class="basic" align="center"></td>
1231 <td></td>
1232</tr>
1233<tr>
1234 <td>9 [class]</td>
1235 <td class="advanced" align="center"></td>
1236 <td></td>
1237 <td></td>
1238 <td></td>
1239 <td></td>
1240</tr>
1241<tr>
1242 <td>&nbsp;&nbsp;9.1 [class.name]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001243 <td class="complete" align="center"></td>
1244 <td class="complete" align="center"></td>
1245 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001246 <td class="na" align="center">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001247 <td></td>
1248</tr>
1249<tr>
1250 <td>&nbsp;&nbsp;9.2 [class.mem]</td>
1251 <td class="advanced" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001252 <td class="medium" align="center"></td>
1253 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001254 <td class="basic" align="center"></td>
1255 <td>No parser support for using declarations or member templates.</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001256</tr>
1257<tr>
1258 <td>&nbsp;&nbsp;9.3 [class.mfct]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001259 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001260 <td class="advanced" align="center"></td>
1261 <td class="advanced" align="center"></td>
1262 <td class="basic" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001263 <td></td>
1264</tr>
1265<tr>
1266 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.1 [class.mfct.non-static]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001267 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001268 <td class="medium" align="center"></td>
1269 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001270 <td class="basic" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001271 <td></td>
1272</tr>
1273<tr>
1274 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001275 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001276 <td class="medium" align="center"></td>
1277 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001278 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001279 <td></td>
1280</tr>
1281<tr>
1282 <td>&nbsp;&nbsp;9.4 [class.static]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001283 <td class="complete" align="center"></td>
1284 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001285 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001286 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001287 <td></td>
1288</tr>
1289<tr>
1290 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001291 <td class="complete" align="center"></td>
1292 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001293 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001294 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001295 <td></td>
1296</tr>
1297<tr>
1298 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001299 <td class="complete" align="center"></td>
1300 <td class="complete" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001301 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001302 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001303 <td></td>
1304</tr>
1305<tr>
1306 <td>&nbsp;&nbsp;9.5 [class.union]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001307 <td class="complete" align="center"></td>
1308 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001309 <td class="medium"></td>
1310 <td class="medium"></td>
1311 <td>Semantic analysis does not yet check all of the requirements placed on the members of unions.</td>
1312</tr>
1313<tr>
1314 <td>&nbsp;&nbsp;9.6 [class.bit]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001315 <td class="complete" align="center"></td>
1316 <td class="complete" align="center"></td>
1317 <td class="complete" align="center"></td>
1318 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001319 <td></td>
1320</tr>
1321<tr>
1322 <td>&nbsp;&nbsp;9.7 [class.nest]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001323 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001324 <td class="advanced"></td>
1325 <td class="advanced"></td>
1326 <td class="na" align="center">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001327 <td></td>
1328</tr>
1329<tr>
1330 <td>&nbsp;&nbsp;9.8 [class.local]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001331 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001332 <td class="medium"></td>
1333 <td class="broken"></td>
1334 <td class="broken"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001335 <td></td>
1336</tr>
1337<tr>
1338 <td>&nbsp;&nbsp;9.9 [class.nested.type]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001339 <td class="complete" align="center"></td>
1340 <td class="complete" align="center"></td>
1341 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001342 <td class="na" align="center">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001343 <td></td>
1344</tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001345<tr>
1346 <td>10 [class.derived]</td>
1347 <td class="advanced" align="center"></td>
1348 <td class="advanced" align="center"></td>
1349 <td class="medium" align="center"></td>
1350 <td class="broken" align="center"></td>
1351 <td></td>
1352</tr>
1353<tr>
1354 <td>&nbsp;&nbsp;10.1 [class.mi]</td>
1355 <td class="advanced" align="center"></td>
1356 <td class="advanced" align="center"></td>
1357 <td class="medium" align="center"></td>
1358 <td class="broken" align="center"></td>
1359 <td>No layout of base classes</td>
1360</tr>
1361<tr>
1362 <td>&nbsp;&nbsp;10.2 [class.member.lookup]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001363 <td class="complete" align="center"></td>
1364 <td class="complete" align="center"></td>
1365 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001366 <td class="na" align="center">N/A</td>
1367 <td></td>
1368</tr>
1369<tr>
1370 <td>&nbsp;&nbsp;10.3 [class.virtual]</td>
1371 <td class="advanced" align="center"></td>
1372 <td class="medium" align="center"></td>
1373 <td class="basic" align="center"></td>
1374 <td class="broken" align="center"></td>
1375 <td>No semantic analysis for overriding virtual functions or inheriting a virtual function. No layout of classes with virtual functions.</td>
1376</tr>
Anders Carlsson1edac4d2009-03-24 01:24:06 +00001377<tr>
1378 <td>&nbsp;&nbsp;10.4 [class.abstract]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001379 <td class="complete" align="center"></td>
1380 <td class="complete" align="center"></td>
1381 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001382 <td class="na" align="center">N/A</td>
Anders Carlsson1edac4d2009-03-24 01:24:06 +00001383 <td></td>
1384 </tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001385<tr>
1386 <td>11 [class.access]</td>
1387 <td class="medium" align="center"></td>
1388 <td class="medium" align="center"></td>
1389 <td class="broken" align="center"></td>
1390 <td class="na" align="center">N/A</td>
1391 <td></td>
1392</tr>
1393<tr>
1394 <td>&nbsp;&nbsp;11.1 [class.access.spec]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001395 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001396 <td class="advanced" align="center"></td>
Douglas Gregor07554022009-05-12 17:55:28 +00001397 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001398 <td class="na" align="center">N/A</td>
1399 <td></td>
1400</tr>
1401<tr>
1402 <td>&nbsp;&nbsp;11.2 [class.access.base]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001403 <td class="complete" align="center"></td>
1404 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001405 <td class="broken" align="center"></td>
1406 <td class="na" align="center">N/A</td>
1407 <td></td>
1408</tr>
1409<tr>
1410 <td>&nbsp;&nbsp;11.3 [class.access.dcl]</td>
1411 <td class="broken" align="center"></td>
1412 <td class="broken" align="center"></td>
1413 <td class="broken" align="center"></td>
1414 <td class="na" align="center">N/A</td>
1415 <td></td>
1416</tr>
1417<tr>
1418 <td>&nbsp;&nbsp;11.4 [class.friend]</td>
1419 <td class="broken" align="center"></td>
1420 <td class="broken" align="center"></td>
1421 <td class="broken" align="center"></td>
1422 <td class="na" align="center">N/A</td>
1423 <td></td>
1424</tr>
1425<tr>
1426 <td>&nbsp;&nbsp;11.5 [class.protected]</td>
1427 <td class="na" align="center"></td>
Douglas Gregor07554022009-05-12 17:55:28 +00001428 <td class="complete" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001429 <td class="broken" align="center"></td>
1430 <td class="na" align="center">N/A</td>
1431 <td></td>
1432</tr>
1433<tr>
1434 <td>&nbsp;&nbsp;11.6 [class.access.virt]</td>
1435 <td class="na" align="center"></td>
1436 <td class="na" align="center"></td>
1437 <td class="broken" align="center"></td>
1438 <td class="na" align="center">N/A</td>
1439 <td></td>
1440</tr>
1441<tr>
1442 <td>&nbsp;&nbsp;11.7 [class.paths]</td>
1443 <td class="na" align="center"></td>
1444 <td class="na" align="center"></td>
1445 <td class="broken" align="center"></td>
1446 <td class="na" align="center">N/A</td>
1447 <td></td>
1448</tr>
1449<tr>
1450 <td>&nbsp;&nbsp;11.8 [class.access.nest]</td>
1451 <td class="na" align="center"></td>
1452 <td class="na" align="center"></td>
1453 <td class="broken" align="center"></td>
1454 <td class="na" align="center">N/A</td>
1455 <td></td>
1456</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001457<tr><td>12 [special]</td><td></td><td></td><td></td><td></td><td></td></tr>
1458<tr>
1459 <td>&nbsp;&nbsp;12.1 [class.ctor]</td>
1460 <td class="advanced" align="center"></td>
1461 <td class="medium" align="center"></td>
1462 <td class="basic" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001463 <td class="basic" align="center"></td>
1464 <td>Implicitly-declared constructors are never defined.</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001465</tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001466<tr>
1467 <td>&nbsp;&nbsp;12.2 [class.temporary]</td>
1468 <td class="na" align="center">N/A</td>
1469 <td class="basic" align="center"></td>
1470 <td class="basic" align="center"></td>
1471 <td class="basic" align="center"></td>
1472 <td>Implementation of temporary objects is in its initial stages.</td>
1473</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001474<tr>
1475 <td>&nbsp;&nbsp;12.3 [class.conv]</td>
1476 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001477 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001478 <td class="medium" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001479 <td class="broken" align="center"></td>
1480 <td></td>
1481</tr>
1482<tr>
1483 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.3.1 [class.conv.ctor]</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001484 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001485 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001486 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001487 <td class="broken" align="center"></td>
1488 <td></td>
1489</tr>
1490<tr>
1491 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.3.2 [class.conv.fct]</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001492 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001493 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001494 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001495 <td class="broken" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001496 <td>No support for inheritance of conversion functions.</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001497</tr>
1498<tr>
1499 <td>&nbsp;&nbsp;12.4 [class.dtor]</td>
1500 <td class="advanced" align="center"></td>
1501 <td class="medium" align="center"></td>
1502 <td class="basic" align="center"></td>
1503 <td class="broken" align="center"></td>
1504 <td>Most of the semantics of destructors are unimplemented.</td>
1505</tr>
1506<tr><td>&nbsp;&nbsp;12.5 [class.free]</td><td></td><td></td><td></td><td></td><td></td></tr>
1507<tr><td>&nbsp;&nbsp;12.6 [class.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
1508<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;12.6.1 [class.expl.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
1509<tr>
1510 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.6.2 [class.base.init]</td>
1511 <td class="advanced" align="center"></td>
1512 <td class="medium" align="center"></td>
1513 <td class="basic" align="center"></td>
1514 <td class="broken" align="center"></td>
1515 <td>No actual direct initialization; implicit initialization not checked.</td>
1516</tr>
1517<tr><td>&nbsp;&nbsp;12.7 [class.cdtor]</td><td></td><td></td><td></td><td></td><td></td></tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001518<tr>
1519 <td>&nbsp;&nbsp;12.8 [class.copy]</td>
1520 <td class="advanced" align="center"></td>
1521 <td class="advanced" align="center"></td>
1522 <td class="medium" align="center"></td>
1523 <td class="broken" align="center"></td>
1524 <td>Copy assignment operators are mostly ignored by semantic analysis.</td>
1525</tr>
1526
Cedric Venet3d658642009-02-14 20:20:19 +00001527<tr><td>13 [over]</td><td></td><td></td><td></td><td></td><td></td></tr>
1528<tr>
1529 <td>&nbsp;&nbsp;13.1 [over.load]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001530 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001531 <td class="basic" align="center"></td>
1532 <td class="basic" align="center"></td>
1533 <td class="broken" align="center"></td>
1534 <td>Missing name mangling.</td>
1535</tr>
1536<tr>
1537 <td>&nbsp;&nbsp;13.2 [over.dcl]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001538 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001539 <td class="basic" align="center"></td>
1540 <td class="basic" align="center"></td>
1541 <td class="broken" align="center"></td>
1542 <td></td>
1543</tr>
1544<tr>
1545 <td>&nbsp;&nbsp;13.3 [over.match]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001546 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001547 <td class="basic" align="center"></td>
1548 <td class="basic" align="center"></td>
1549 <td class="broken" align="center"></td>
1550 <td></td>
1551</tr>
1552<tr>
1553 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.1 [over.match.funcs]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001554 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001555 <td class="basic" align="center"></td>
1556 <td class="basic" align="center"></td>
1557 <td class="broken" align="center"></td>
1558 <td></td>
1559</tr>
1560<tr>
1561 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1 [over.match.call]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001562 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001563 <td class="basic" align="center"></td>
1564 <td class="basic" align="center"></td>
1565 <td class="broken" align="center"></td>
1566 <td></td>
1567</tr>
1568<tr>
1569 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1.1 [over.call.func]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001570 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001571 <td class="basic" align="center"></td>
1572 <td class="basic" align="center"></td>
1573 <td class="broken" align="center"></td>
1574 <td></td>
1575</tr>
1576<tr>
1577 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1.2 [over.call.object]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001578 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001579 <td class="medium" align="center"></td>
1580 <td class="advanced" align="center"></td>
1581 <td class="broken" align="center"></td>
1582 <td>Missing AST representation for the implicit conversion to a function reference/pointer</td>
1583</tr>
1584<tr>
1585 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.2 [over.match.oper]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001586 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001587 <td class="advanced" align="center"></td>
1588 <td class="advanced" align="center"></td>
1589 <td class="broken" align="center"></td>
1590 <td></td>
1591</tr>
1592<tr>
1593 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.3 [over.match.ctor]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001594 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001595 <td class="basic" align="center"></td>
1596 <td class="basic" align="center"></td>
1597 <td class="broken" align="center"></td>
1598 <td></td>
1599</tr>
1600<tr>
1601 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.4 [over.match.copy]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001602 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001603 <td class="basic" align="center"></td>
1604 <td class="basic" align="center"></td>
1605 <td class="broken" align="center"></td>
1606 <td></td>
1607</tr>
1608<tr>
1609 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.5 [over.match.conv]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001610 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001611 <td class="broken" align="center"></td>
1612 <td class="broken" align="center"></td>
1613 <td class="broken" align="center"></td>
1614 <td></td>
1615</tr>
1616<tr>
1617 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.6 [over.match.ref]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001618 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001619 <td class="basic" align="center"></td>
1620 <td class="basic" align="center"></td>
1621 <td class="broken" align="center"></td>
1622 <td></td>
1623</tr>
1624<tr>
1625 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.2 [over.match.viable]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001626 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001627 <td class="medium" align="center"></td>
1628 <td class="medium" align="center"></td>
1629 <td class="broken" align="center"></td>
1630 <td></td>
1631</tr>
1632<tr>
1633 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.3 [over.match.best]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001634 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001635 <td class="basic" align="center"></td>
1636 <td class="basic" align="center"></td>
1637 <td class="broken" align="center"></td>
1638 <td></td>
1639</tr>
1640<tr>
1641 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1 [over.best.ics]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001642 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001643 <td class="medium" align="center"></td>
1644 <td class="medium" align="center"></td>
1645 <td class="broken" align="center"></td>
1646 <td></td>
1647</tr>
1648<tr>
1649 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.1 [over.ics.scs]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001650 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001651 <td class="medium" align="center"></td>
1652 <td class="medium" align="center"></td>
1653 <td class="broken" align="center"></td>
1654 <td></td>
1655</tr>
1656<tr>
1657 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.2 [over.ics.user]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001658 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001659 <td class="basic" align="center"></td>
1660 <td class="basic" align="center"></td>
1661 <td class="broken" align="center"></td>
1662 <td></td>
1663</tr>
1664<tr>
1665 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.3 [over.ics.ellipsis]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001666 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001667 <td class="medium" align="center"></td>
1668 <td class="medium" align="center"></td>
1669 <td class="broken" align="center"></td>
1670 <td></td>
1671</tr>
1672<tr>
1673 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.4 [over.ics.ref]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001674 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001675 <td class="medium" align="center"></td>
1676 <td class="medium" align="center"></td>
1677 <td class="broken" align="center"></td>
1678 <td></td>
1679</tr>
1680<tr>
1681 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.2 [over.ics.rank]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00001682 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001683 <td class="medium" align="center"></td>
1684 <td class="medium" align="center"></td>
1685 <td class="broken" align="center"></td>
1686 <td></td>
1687</tr>
1688<tr>
1689 <td>&nbsp;&nbsp;13.4 [over.over]</td>
1690 <td class="advanced" align="center"></td>
1691 <td class="medium" align="center"></td>
1692 <td class="basic" align="center"></td>
1693 <td class="broken" align="center"></td>
1694 <td>Error messages need some work. Without templates or using
1695 declarations, we don't have any ambiguities, so the semantic
1696 analysis is incomplete.</td>
1697</tr>
1698<tr>
1699 <td>&nbsp;&nbsp;13.5 [over.oper]</td>
1700 <td class="advanced" align="center"></td>
1701 <td class="advanced" align="center"></td>
1702 <td class="medium" align="center"></td>
1703 <td class="broken" align="center"></td>
1704 <td>Some overloaded operators can only be called with function syntax, e.g., <code>operator[](x)</code>.</td>
1705</tr>
1706<tr>
1707 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.1 [over.unary]</td>
1708 <td class="na" align="center">N/A</td>
1709 <td class="advanced" align="center"></td>
1710 <td class="advanced" align="center"></td>
1711 <td class="broken" align="center"></td>
1712 <td></td>
1713</tr>
1714<tr>
1715 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.2 [over.binary]</td>
1716 <td class="na" align="center">N/A</td>
1717 <td class="advanced" align="center"></td>
1718 <td class="advanced" align="center"></td>
1719 <td class="broken" align="center"></td>
1720 <td></td>
1721</tr>
1722<tr>
1723 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.3 [over.ass]</td>
1724 <td class="na" align="center">N/A</td>
1725 <td class="advanced" align="center"></td>
1726 <td class="advanced" align="center"></td>
1727 <td class="broken" align="center"></td>
1728 <td></td>
1729</tr>
1730<tr>
1731 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.4 [over.call]</td>
1732 <td class="na" align="center">N/A</td>
1733 <td class="advanced" align="center"></td>
1734 <td class="advanced" align="center"></td>
1735 <td class="broken" align="center"></td>
1736 <td></td>
1737</tr>
1738<tr>
1739 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.5 [over.sub]</td>
1740 <td class="na" align="center">N/A</td>
1741 <td class="advanced" align="center"></td>
1742 <td class="advanced" align="center"></td>
1743 <td class="broken" align="center"></td>
1744 <td></td>
1745</tr>
1746<tr>
1747 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.6 [over.ref]</td>
1748 <td class="na" align="center">N/A</td>
1749 <td class="advanced" align="center"></td>
1750 <td class="advanced" align="center"></td>
1751 <td class="broken" align="center"></td>
1752 <td></td>
1753</tr>
1754<tr>
1755 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.7 [over.inc]</td>
1756 <td class="na" align="center">N/A</td>
1757 <td class="advanced" align="center"></td>
1758 <td class="advanced" align="center"></td>
1759 <td class="broken" align="center"></td>
1760 <td></td>
1761</tr>
1762<tr>
1763 <td>&nbsp;&nbsp;13.6 [over.built]</td>
1764 <td class="na" align="center">N/A</td>
1765 <td class="advanced" align="center"></td>
1766 <td class="medium" align="center"></td>
1767 <td class="broken" align="center"></td>
1768 <td>Missing pointer-to-member versions (p11, p16) and support for
1769 the ternary operator (p24, p25).</td>
1770</tr>
Douglas Gregor07554022009-05-12 17:55:28 +00001771<tr>
1772 <td>14 [temp]</td>
1773 <td class="basic" align="center">N/A</td>
1774 <td class="basic" align="center"></td>
1775 <td class="broken" align="center"></td>
1776 <td class="broken" align="center"></td>
1777 <td></td>
1778</tr>
1779<tr>
1780 <td>&nbsp;&nbsp;14.1 [temp.param]</td>
1781 <td class="complete" align="center">&#x2713;</td>
1782 <td class="complete" align="center">&#x2713;</td>
1783 <td class="medium" align="center"></td>
1784 <td class="na" align="center">N/A</td>
1785 <td>Template template parameters cannot actually be used in templates</td>
1786</tr>
1787<tr>
1788 <td>&nbsp;&nbsp;14.2 [temp.names]</td>
1789 <td class="medium" align="center"></td>
1790 <td class="basic" align="center"></td>
1791 <td class="basic" align="center"></td>
1792 <td class="na" align="center">N/A</td>
1793 <td>Cannot name function template specializations</td>
1794</tr>
1795<tr>
1796 <td>&nbsp;&nbsp;14.3 [temp.arg]</td>
1797 <td class="complete" align="center"></td>
1798 <td class="medium" align="center"></td>
1799 <td class="basic" align="center"></td>
1800 <td class="na" align="center">N/A</td>
1801 <td>Cannot name function template specializations</td>
1802</tr>
1803<tr>
1804 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.1 [temp.arg.type]</td>
1805 <td class="complete" align="center">&#x2713;</td>
1806 <td class="complete" align="center">&#x2713;</td>
1807 <td class="complete" align="center"></td>
1808 <td class="na" align="center">N/A</td>
1809 <td>Paragraph 3 will be tested elsewhere</td>
1810</tr>
1811<tr>
1812 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.2 [temp.arg.nontype]</td>
1813 <td class="complete" align="center"></td>
1814 <td class="complete" align="center"></td>
1815 <td class="complete" align="center"></td>
1816 <td class="na" align="center">N/A</td>
1817 <td></td>
1818</tr>
1819<tr>
1820 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.3 [temp.arg.template]</td>
1821 <td class="complete" align="center"></td>
1822 <td class="medium" align="center"></td>
1823 <td class="basic" align="center"></td>
1824 <td class="na" align="center">N/A</td>
1825 <td></td>
1826</tr>
1827<tr>
1828 <td>&nbsp;&nbsp;14.4 [temp.type]</td>
1829 <td class="na" align="center">N/A</td>
1830 <td class="complete" align="center">&#x2713;</td>
1831 <td class="complete" align="center">&#x2713;</td>
1832 <td class="na" align="center">N/A</td>
1833 <td></td>
1834</tr>
1835<tr>
1836 <td>&nbsp;&nbsp;14.5 [temp.decls]</td><td></td><td></td><td></td><td></td><td></td>
1837</tr>
1838<tr>
1839 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.1 [temp.class]</td>
1840 <td class="medium" align="center"></td>
1841 <td class="medium" align="center"></td>
1842 <td class="basic" align="center"></td>
1843 <td class="broken" align="center"></td>
1844 <td>No out-of-line definitions of the members of a template.</td>
1845</tr>
1846<tr>
1847 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.1 [temp.mem.func]</td>
1848 <td class="medium" align="center"></td>
1849 <td class="medium" align="center"></td>
1850 <td class="basic" align="center"></td>
1851 <td class="broken" align="center"></td>
1852 <td>No out-of-line definitions of the member functions of a class template.</td>
1853</tr>
1854<tr>
1855 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.2 [temp.mem.class]</td>
1856 <td class="medium" align="center"></td>
1857 <td class="medium" align="center"></td>
1858 <td class="basic" align="center"></td>
1859 <td class="broken" align="center"></td>
1860 <td>No out-of-line definitions of the member classes of a class template.</td>
1861</tr>
1862<tr>
1863 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.3 [temp.static]</td>
1864 <td class="medium" align="center"></td>
1865 <td class="medium" align="center"></td>
1866 <td class="basic" align="center"></td>
1867 <td class="broken" align="center"></td>
1868 <td>No out-of-line definitions of the static data members of a class template.</td>
1869</tr>
1870<tr>
1871 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.2 [temp.mem]</td>
1872 <td class="broken" align="center"></td>
1873 <td class="broken" align="center"></td>
1874 <td class="broken" align="center"></td>
1875 <td class="broken" align="center"></td>
1876 <td></td>
1877</tr>
1878<tr>
1879 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.3 [temp.friend]</td>
1880 <td class="broken" align="center"></td>
1881 <td class="broken" align="center"></td>
1882 <td class="broken" align="center"></td>
1883 <td class="na" align="center">N/A</td>
1884 <td></td>
1885</tr>
1886<tr>
1887 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.4 [temp.class.spec]</td>
1888 <td class="broken" align="center"></td>
1889 <td class="broken" align="center"></td>
1890 <td class="broken" align="center"></td>
1891 <td class="broken" align="center"></td>
1892 <td></td>
1893</tr>
1894<tr>
1895 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.1 [temp.class.spec.match]</td>
1896 <td class="broken" align="center"></td>
1897 <td class="broken" align="center"></td>
1898 <td class="broken" align="center"></td>
1899 <td class="na" align="center">N/A</td>
1900 <td></td>
1901</tr>
1902<tr>
1903 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.2 [temp.class.order]</td>
1904 <td class="broken" align="center"></td>
1905 <td class="broken" align="center"></td>
1906 <td class="broken" align="center"></td>
1907 <td class="na" align="center">N/A</td>
1908 <td></td>
1909</tr>
1910<tr>
1911 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.3 [temp.class.spec.mfunc]</td>
1912 <td class="broken" align="center"></td>
1913 <td class="broken" align="center"></td>
1914 <td class="broken" align="center"></td>
1915 <td class="na" align="center">N/A</td>
1916 <td></td>
1917</tr>
1918<tr>
1919 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.5 [temp.fct]</td>
1920 <td class="basic" align="center"></td>
1921 <td class="broken" align="center"></td>
1922 <td class="broken" align="center"></td>
1923 <td class="broken" align="center"></td>
1924 <td></td>
1925</tr>
1926<tr>
1927 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.1 [temp.over.link]</td>
1928 <td class="broken" align="center"></td>
1929 <td class="broken" align="center"></td>
1930 <td class="broken" align="center"></td>
1931 <td class="na" align="center">N/A</td>
1932 <td></td>
1933</tr>
1934<tr>
1935 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.2 [temp.func.order]</td>
1936 <td class="broken" align="center"></td>
1937 <td class="broken" align="center"></td>
1938 <td class="broken" align="center"></td>
1939 <td class="na" align="center">N/A</td>
1940 <td></td>
1941</tr>
1942<tr>
1943 <td>&nbsp;&nbsp;14.6 [temp.res]</td>
1944 <td class="basic" align="center"></td>
1945 <td class="basic" align="center"></td>
1946 <td class="basic" align="center"></td>
1947 <td class="na" align="center"></td>
1948 <td></td>
1949</tr>
1950<tr>
1951 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.1 [temp.local]</td>
1952 <td class="medium" align="center"></td>
1953 <td class="medium" align="center"></td>
1954 <td class="medium" align="center"></td>
1955 <td class="na" align="center"></td>
1956 <td></td>
1957</tr>
1958<tr>
1959 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.2 [temp.dep]</td>
1960 <td class="na" align="center">N/A</td>
1961 <td class="medium" align="center"></td>
1962 <td class="medium" align="center"></td>
1963 <td class="na" align="center"></td>
1964 <td></td>
1965</tr>
1966<tr>
1967 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.1 [temp.dep.type]</td>
1968 <td class="na" align="center">N/A</td>
1969 <td class="medium" align="center"></td>
1970 <td class="medium" align="center"></td>
1971 <td class="na" align="center"></td>
1972 <td></td>
1973</tr>
1974<tr>
1975 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.2 [temp.dep.expr]</td>
1976 <td class="na" align="center">N/A</td>
1977 <td class="medium" align="center"></td>
1978 <td class="medium" align="center"></td>
1979 <td class="na" align="center"></td>
1980 <td></td>
1981</tr>
1982<tr>
1983 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.3 [temp.dep.constexpr]</td>
1984 <td class="na" align="center">N/A</td>
1985 <td class="medium" align="center"></td>
1986 <td class="medium" align="center"></td>
1987 <td class="na" align="center"></td>
1988 <td></td>
1989</tr>
1990<tr>
1991 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.4 [temp.dep.temp]</td>
1992 <td class="na" align="center">N/A</td>
1993 <td class="medium" align="center"></td>
1994 <td class="medium" align="center"></td>
1995 <td class="na" align="center"></td>
1996 <td></td>
1997</tr>
1998<tr>
1999 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.3 [temp.nondep]</td>
2000 <td class="na" align="center">N/A</td>
2001 <td class="complete" align="center"></td>
2002 <td class="complete" align="center"></td>
2003 <td class="na" align="center"></td>
2004 <td></td>
2005</tr>
2006<tr>
2007 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.4 [temp.dep.res]</td>
2008 <td class="na" align="center">N/A</td>
2009 <td class="basic" align="center"></td>
2010 <td class="basic" align="center"></td>
2011 <td class="na" align="center"></td>
2012 <td></td>
2013</tr>
2014<tr>
2015 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.4.1 [temp.point]</td>
2016 <td class="na" align="center">N/A</td>
2017 <td class="broken" align="center"></td>
2018 <td class="broken" align="center"></td>
2019 <td class="na" align="center"></td>
2020 <td>Only class templates are instantiated</td>
2021</tr>
2022<tr>
2023 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.4.2 [temp.dep.candidate]</td>
2024 <td class="na" align="center">N/A</td>
2025 <td class="basic" align="center"></td>
2026 <td class="basic" align="center"></td>
2027 <td class="na" align="center"></td>
2028 <td>Not restricted to functions with external linkage</td>
2029</tr>
2030<tr>
2031 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.5 [temp.inject]</td>
2032 <td class="na" align="center">N/A</td>
2033 <td class="broken" align="center"></td>
2034 <td class="broken" align="center"></td>
2035 <td class="na" align="center"></td>
2036 <td></td>
2037</tr>
2038<tr>
2039 <td>&nbsp;&nbsp;14.7 [temp.spec]</td>
2040 <td class="basic" align="center"></td>
2041 <td class="basic" align="center"></td>
2042 <td class="basic" align="center"></td>
2043 <td class="broken" align="center"></td>
2044 <td>Function templates cannot be instantiated</td>
2045</tr>
2046<tr>
2047 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.1 [temp.inst]</td>
2048 <td class="na" align="center">N/A</td>
2049 <td class="basic" align="center"></td>
2050 <td class="basic" align="center"></td>
2051 <td class="broken" align="center"></td>
2052 <td>Function templates cannot be instantiated</td>
2053</tr>
2054<tr>
2055 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.2 [temp.explicit]</td>
2056 <td class="broken" align="center"></td>
2057 <td class="broken" align="center"></td>
2058 <td class="broken" align="center"></td>
2059 <td class="broken" align="center"></td>
2060 <td></td>
2061</tr>
2062<tr>
2063 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.3 [temp.expl.spec]</td>
2064 <td class="basic" align="center"></td>
2065 <td class="basic" align="center"></td>
2066 <td class="basic" align="center"></td>
2067 <td class="broken" align="center"></td>
2068 <td>Only class template specialization is available</td>
2069</tr>
2070<tr>
2071 <td>&nbsp;&nbsp;14.8 [temp.fct.spec]</td>
2072 <td class="broken" align="center"></td>
2073 <td class="broken" align="center"></td>
2074 <td class="broken" align="center"></td>
2075 <td class="broken" align="center"></td>
2076 <td></td>
2077</tr>
2078<tr>
2079 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.1 [temp.arg.explicit]</td>
2080 <td class="broken" align="center"></td>
2081 <td class="broken" align="center"></td>
2082 <td class="broken" align="center"></td>
2083 <td class="broken" align="center"></td>
2084 <td></td>
2085</tr>
2086<tr>
2087 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.2 [temp.deduct]</td>
2088 <td class="broken" align="center"></td>
2089 <td class="broken" align="center"></td>
2090 <td class="broken" align="center"></td>
2091 <td class="broken" align="center"></td>
2092 <td></td>
2093</tr>
2094<tr>
2095 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.1 [temp.deduct.call]</td>
2096 <td class="broken" align="center"></td>
2097 <td class="broken" align="center"></td>
2098 <td class="broken" align="center"></td>
2099 <td class="broken" align="center"></td>
2100 <td></td>
2101</tr>
2102<tr>
2103 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.2 [temp.deduct.funcaddr]</td>
2104 <td class="broken" align="center"></td>
2105 <td class="broken" align="center"></td>
2106 <td class="broken" align="center"></td>
2107 <td class="broken" align="center"></td>
2108 <td></td>
2109</tr>
2110<tr>
2111 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.3 [temp.deduct.conv]</td>
2112 <td class="broken" align="center"></td>
2113 <td class="broken" align="center"></td>
2114 <td class="broken" align="center"></td>
2115 <td class="broken" align="center"></td>
2116 <td></td>
2117</tr>
2118<tr>
2119 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.4 [temp.deduct.type]</td>
2120 <td class="broken" align="center"></td>
2121 <td class="broken" align="center"></td>
2122 <td class="broken" align="center"></td>
2123 <td class="broken" align="center"></td>
2124 <td></td>
2125</tr>
2126<tr>
2127 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.3 [temp.over]</td>
2128 <td class="broken" align="center"></td>
2129 <td class="broken" align="center"></td>
2130 <td class="broken" align="center"></td>
2131 <td class="broken" align="center"></td>
2132 <td></td>
2133</tr>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002134<tr>
2135 <td>15 [except]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00002136 <td class="complete" align="center"></td>
2137 <td class="complete" align="center"></td>
2138 <td class="complete" align="center"></td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002139 <td></td>
2140 <td></td>
2141</tr>
2142<tr>
2143 <td>&nbsp;&nbsp;15.1 [except.throw]</td>
2144 <td class="na" align="center">N/A</td>
2145 <td class="na" align="center">N/A</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00002146 <td class="advanced" align="center"></td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002147 <td></td>
Sebastian Redl972041f2009-04-27 20:27:31 +00002148 <td>Does not check for existence of copy constructor and destructor, and some other details</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002149</tr>
2150<tr>
2151 <td>&nbsp;&nbsp;15.2 [except.ctor]</td>
2152 <td class="na" align="center">N/A</td>
2153 <td class="na" align="center">N/A</td>
2154 <td class="na" align="center">N/A</td>
2155 <td></td>
2156 <td></td>
2157</tr>
2158<tr>
2159 <td>&nbsp;&nbsp;15.3 [except.handle]</td>
2160 <td class="na" align="center">N/A</td>
2161 <td class="na" align="center">N/A</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00002162 <td class="advanced" align="center"></td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002163 <td></td>
Sebastian Redl13e88542009-04-27 21:33:24 +00002164 <td>Not all constraints are checked</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002165</tr>
2166<tr>
2167 <td>&nbsp;&nbsp;15.4 [except.spec]</td>
Douglas Gregor07554022009-05-12 17:55:28 +00002168 <td class="complete" align="center"></td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002169 <td></td>
2170 <td></td>
2171 <td></td>
2172 <td></td>
2173</tr>
2174<tr>
2175 <td>&nbsp;&nbsp;15.5 [except.special]</td>
2176 <td class="na" align="center">N/A</td>
2177 <td class="na" align="center">N/A</td>
2178 <td class="na" align="center">N/A</td>
2179 <td class="na" align="center">N/A</td>
2180 <td></td>
2181</tr>
2182<tr>
2183 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.1 [except.terminate]</td>
2184 <td class="na" align="center">N/A</td>
2185 <td class="na" align="center">N/A</td>
2186 <td class="na" align="center">N/A</td>
2187 <td class="na" align="center">N/A</td>
2188 <td></td>
2189</tr>
2190<tr>
2191 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.2 [except.unexpected]</td>
2192 <td class="na" align="center">N/A</td>
2193 <td class="na" align="center">N/A</td>
2194 <td class="na" align="center">N/A</td>
2195 <td class="na" align="center">N/A</td>
2196 <td></td>
2197</tr>
2198<tr>
2199 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.3 [except.uncaught]</td>
2200 <td class="na" align="center">N/A</td>
2201 <td class="na" align="center">N/A</td>
2202 <td class="na" align="center">N/A</td>
2203 <td class="na" align="center">N/A</td>
2204 <td></td>
2205</tr>
2206<tr>
2207 <td>&nbsp;&nbsp;15.6 [except.access]</td>
2208 <td class="na" align="center">N/A</td>
2209 <td class="na" align="center">N/A</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002210 <td class="na" align="center">N/A</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00002211 <td class="na" align="center">N/A</td>
2212 <td>Redundant - struck from C++0x</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00002213</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00002214<tr><td>16 [cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2215<tr><td>&nbsp;&nbsp;16.1 [cpp.cond]</td><td></td><td></td><td></td><td></td><td></td></tr>
2216<tr><td>&nbsp;&nbsp;16.2 [cpp.include]</td><td></td><td></td><td></td><td></td><td></td></tr>
2217<tr><td>&nbsp;&nbsp;16.3 [cpp.replace]</td><td></td><td></td><td></td><td></td><td></td></tr>
2218<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.1 [cpp.subst]</td><td></td><td></td><td></td><td></td><td></td></tr>
2219<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.2 [cpp.stringize]</td><td></td><td></td><td></td><td></td><td></td></tr>
2220<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.3 [cpp.concat]</td><td></td><td></td><td></td><td></td><td></td></tr>
2221<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.4 [cpp.rescan]</td><td></td><td></td><td></td><td></td><td></td></tr>
2222<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.5 [cpp.scope]</td><td></td><td></td><td></td><td></td><td></td></tr>
2223<tr><td>&nbsp;&nbsp;16.4 [cpp.line]</td><td></td><td></td><td></td><td></td><td></td></tr>
2224<tr><td>&nbsp;&nbsp;16.5 [cpp.error]</td><td></td><td></td><td></td><td></td><td></td></tr>
2225<tr><td>&nbsp;&nbsp;16.6 [cpp.pragma]</td><td></td><td></td><td></td><td></td><td></td></tr>
2226<tr><td>&nbsp;&nbsp;16.7 [cpp.null]</td><td></td><td></td><td></td><td></td><td></td></tr>
2227<tr><td>&nbsp;&nbsp;16.8 [cpp.predefined]</td><td></td><td></td><td></td><td></td><td></td></tr>
2228<tr><td>A [gram]</td><td></td><td></td><td></td><td></td><td></td></tr>
2229<tr><td>&nbsp;&nbsp;A.1 [gram.key]</td><td></td><td></td><td></td><td></td><td></td></tr>
2230<tr><td>&nbsp;&nbsp;A.2 [gram.lex]</td><td></td><td></td><td></td><td></td><td></td></tr>
2231<tr><td>&nbsp;&nbsp;A.3 [gram.basic]</td><td></td><td></td><td></td><td></td><td></td></tr>
2232<tr><td>&nbsp;&nbsp;A.4 [gram.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
2233<tr><td>&nbsp;&nbsp;A.5 [gram.stmt]</td><td></td><td></td><td></td><td></td><td></td></tr>
2234<tr><td>&nbsp;&nbsp;A.6 [gram.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2235<tr><td>&nbsp;&nbsp;A.7 [gram.decl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2236<tr><td>&nbsp;&nbsp;A.8 [gram.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
2237<tr><td>&nbsp;&nbsp;A.9 [gram.derived]</td><td></td><td></td><td></td><td></td><td></td></tr>
2238<tr><td>&nbsp;&nbsp;A.10 [gram.special]</td><td></td><td></td><td></td><td></td><td></td></tr>
2239<tr><td>&nbsp;&nbsp;A.11 [gram.over]</td><td></td><td></td><td></td><td></td><td></td></tr>
2240<tr><td>&nbsp;&nbsp;A.12 [gram.temp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2241<tr><td>&nbsp;&nbsp;A.13 [gram.except]</td><td></td><td></td><td></td><td></td><td></td></tr>
2242<tr><td>&nbsp;&nbsp;A.14 [gram.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2243<tr><td>B [implimits]</td><td></td><td></td><td></td><td></td><td></td></tr>
2244<tr><td>C [diff]</td><td></td><td></td><td></td><td></td><td></td></tr>
2245<tr><td>&nbsp;&nbsp;C.1 [diff.iso]</td><td></td><td></td><td></td><td></td><td></td></tr>
2246<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.1 [diff.lex]</td><td></td><td></td><td></td><td></td><td></td></tr>
2247<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.2 [diff.basic]</td><td></td><td></td><td></td><td></td><td></td></tr>
2248<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.3 [diff.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
2249<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.4 [diff.stat]</td><td></td><td></td><td></td><td></td><td></td></tr>
2250<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.5 [diff.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2251<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.6 [diff.decl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2252<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.7 [diff.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
2253<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.8 [diff.special]</td><td></td><td></td><td></td><td></td><td></td></tr>
2254<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.9 [diff.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2255<tr><td>&nbsp;&nbsp;C.2 [diff.library]</td><td></td><td></td><td></td><td></td><td></td></tr>
2256<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.2.1 [diff.mods.to.headers]</td><td></td><td></td><td></td><td></td><td></td></tr>
2257<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.2.2 [diff.mods.to.definitions]</td><td></td><td></td><td></td><td></td><td></td></tr>
2258<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.2.2.2 [diff.wchar.t]</td><td></td><td></td><td></td><td></td><td></td></tr>
2259<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.2.2.3 [diff.header.iso646.h]</td><td></td><td></td><td></td><td></td><td></td></tr>
2260<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.2.2.4 [diff.null]</td><td></td><td></td><td></td><td></td><td></td></tr>
2261<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.2.3 [diff.mods.to.declarations]</td><td></td><td></td><td></td><td></td><td></td></tr>
2262<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.2.4 [diff.mods.to.behavior]</td><td></td><td></td><td></td><td></td><td></td></tr>
2263<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.2.4.1 [diff.offsetof]</td><td></td><td></td><td></td><td></td><td></td></tr>
2264<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.2.4.2 [diff.malloc]</td><td></td><td></td><td></td><td></td><td></td></tr>
2265<tr><td>D [depr]</td><td></td><td></td><td></td><td></td><td></td></tr>
2266<tr><td>&nbsp;&nbsp;D.1 [depr.incr.bool]</td><td></td><td></td><td></td><td></td><td></td></tr>
2267<tr><td>&nbsp;&nbsp;D.2 [depr.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
2268<tr><td>&nbsp;&nbsp;D.3 [depr.access.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2269<tr><td>&nbsp;&nbsp;D.4 [depr.string]</td><td></td><td></td><td></td><td></td><td></td></tr>
2270<tr><td>&nbsp;&nbsp;D.5 [depr.c.headers]</td><td></td><td></td><td></td><td></td><td></td></tr>
2271<tr><td>E [extendid]</td><td></td><td></td><td></td><td></td><td></td></tr>
2272<tr>
2273 <td colspan="6" align="center" bgcolor="#ffffcc">C++0x Features</td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00002274</tr>
2275<tr>
Cedric Venet3d658642009-02-14 20:20:19 +00002276 <td>Explicit conversion operators (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf">N2437</a>)</td>
Douglas Gregor07554022009-05-12 17:55:28 +00002277 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00002278 <td class="medium" align="center"></td>
2279 <td class="advanced" align="center"></td>
2280 <td class="broken"></td>
2281 <td>No name mangling; ASTs don't contain calls to conversion operators</td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00002282</tr>
2283<tr>
Anders Carlssonc31a0ce2009-03-16 17:28:26 +00002284 <td>Static assertions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.pdf">N1720</a>)</td>
Douglas Gregor07554022009-05-12 17:55:28 +00002285 <td class="complete" align="center"></td>
2286 <td class="complete" align="center"></td>
2287 <td class="complete" align="center"></td>
Anders Carlssonc31a0ce2009-03-16 17:28:26 +00002288 <td class="na">N/A</td>
2289 <td></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00002290</tr>
2291<tr>
Sebastian Redl0b5e7fb2009-04-12 17:41:24 +00002292 <td>Deleted functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm">N2346</a>)</td>
Douglas Gregor07554022009-05-12 17:55:28 +00002293 <td class="complete" align="center"></td>
2294 <td class="complete" align="center"></td>
2295 <td class="complete" align="center"></td>
Sebastian Redl0b5e7fb2009-04-12 17:41:24 +00002296 <td class="na">N/A</td>
2297 <td></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00002298</tr>
2299<tr>
Sebastian Redl0b5e7fb2009-04-12 17:41:24 +00002300 <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>
Douglas Gregor07554022009-05-12 17:55:28 +00002301 <td class="complete" align="center"></td>
2302 <td class="complete" align="center"></td>
2303 <td class="complete" align="center"></td>
Sebastian Redl0b5e7fb2009-04-12 17:41:24 +00002304 <td class="broken"></td>
2305 <td></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00002306</tr>
2307<tr>
2308 <td>nullptr (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">N2431</a>)</td>
Douglas Gregor07554022009-05-12 17:55:28 +00002309 <td class="complete" align="center"></td>
2310 <td class="complete" align="center"></td>
2311 <td class="complete" align="center"></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00002312 <td class="broken"></td>
2313 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +00002314</tr>
2315
2316</table>
Douglas Gregor01cf1122009-05-12 18:36:58 +00002317<br />
Cedric Venet3d658642009-02-14 20:20:19 +00002318</div>
2319</body>
2320</html>