blob: f69f84e9f75fd090dfb858f68a15beb92b3a6242 [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">
10 .na { background-color: #C0C0C0 }
11 .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>
57 <th>Complete!</th>
58 </tr>
59 <tr>
60 <td></td>
61 <td class="na">N/A</td>
62 <td class="broken"></td>
63 <td class="basic"></td>
64 <td class="medium"></td>
65 <td class="advanced"></td>
66 <td class="complete" align="center">&#x2713;</td>
67 </tr>
68</table>
69
70<p>A feature is "complete" when the appropriate Clang component (Parse, AST,
71Sema, CodeGen) implements the behavior described in all of the
72paragraphs in the relevant C++ standard. Note that many C++ features are
73actually described in several different sections within the standard. The major components are:</p>
74
75<dl>
76 <dt>Parse</dt>
77 <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>
78
79 <dt>AST</dt>
80 <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>
81
82 <dt>Sema</dt>
83 <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>
84
85 <dt>CodeGen</dt>
86 <dd>Clang parses, type-checks, and generates code for this feature, allowing one to compile and execute programs.</dd>
87</dl>
88
89<p>Updates to this table are welcome! Since Clang already supports
90much of C, and therefore much C++, many of the currently-white cells
91could be filled in. If you wish to do so, please compare Clang's
92implementation against the C++ standard and provide a patch that
93updates the table accordingly. Tests for the various features are also
94welcome!</p>
95
96<table width="689" border="1" cellspacing="0">
97 <tr>
98 <th>Section</th>
99 <th>Parse</th>
100 <th>AST</th>
101 <th>Sema</th>
102 <th>CodeGen</th>
103 <th>Notes</th>
104 </tr>
105<tr>
106 <td>2 [lex]</td>
107 <td class="complete" align="center">&#x2713;</td>
108 <td class="na">N/A</td>
109 <td class="na">N/A</td>
110 <td class="na">N/A</td>
111 <td></td>
112</tr>
113<tr>
114 <td>&nbsp;&nbsp;2.1 [lex.phases]</td>
115 <td class="advanced" align="center"></td>
116 <td class="na">N/A</td>
117 <td class="na">N/A</td>
118 <td class="na">N/A</td>
119 <td>Extended characters aren't handled.</td>
120</tr>
121<tr>
122 <td>&nbsp;&nbsp;2.2 [lex.charset]</td>
123 <td class="basic"></td>
124 <td class="na">N/A</td>
125 <td class="na">N/A</td>
126 <td class="na">N/A</td>
127 <td>No support for extended characters.</td>
128</tr>
129<tr>
130 <td>&nbsp;&nbsp;2.3 [lex.trigraph]</td>
131 <td class="complete" align="center">&#x2713;</td>
132 <td class="na">N/A</td>
133 <td class="na">N/A</td>
134 <td class="na">N/A</td>
135 <td></td>
136</tr>
137<tr>
138 <td>&nbsp;&nbsp;2.4 [lex.pptoken]</td>
139 <td class="complete" align="center">&#x2713;</td>
140 <td class="na">N/A</td>
141 <td class="na">N/A</td>
142 <td class="na">N/A</td>
143 <td></td>
144</tr>
145<tr>
146 <td>&nbsp;&nbsp;2.5 [lex.digraph]</td>
147 <td class="complete" align="center">&#x2713;</td>
148 <td class="na">N/A</td>
149 <td class="na">N/A</td>
150 <td class="na">N/A</td>
151 <td></td>
152</tr>
153<tr>
154 <td>&nbsp;&nbsp;2.6 [lex.token]</td>
155 <td class="complete" align="center">&#x2713;</td>
156 <td class="na">N/A</td>
157 <td class="na">N/A</td>
158 <td class="na">N/A</td>
159 <td></td>
160</tr>
161<tr>
162 <td>&nbsp;&nbsp;2.7 [lex.comment]</td>
163 <td class="advanced" align="center"></td>
164 <td></td>
165 <td class="na">N/A</td>
166 <td class="na">N/A</td>
167 <td>NDR "form feed or vtab in comment" is not diagnosed. No AST representation of comments.</td>
168</tr>
169<tr>
170 <td>&nbsp;&nbsp;2.8 [lex.header]</td>
171 <td class="complete" align="center">&#x2713;</td>
172 <td class="na">N/A</td>
173 <td class="na">N/A</td>
174 <td class="na">N/A</td>
175 <td></td>
176</tr>
177<tr>
178 <td>&nbsp;&nbsp;2.9 [lex.ppnumber]</td>
179 <td class="complete" align="center">&#x2713;</td>
180 <td class="na">N/A</td>
181 <td class="na">N/A</td>
182 <td class="na">N/A</td>
183 <td></td>
184</tr>
185<tr>
186 <td>&nbsp;&nbsp;2.10 [lex.name]</td>
187 <td class="advanced" align="center"></td>
188 <td class="na">N/A</td>
189 <td class="na">N/A</td>
190 <td class="na">N/A</td>
191 <td>No support for extended characters</td>
192</tr>
193<tr>
194 <td>&nbsp;&nbsp;2.11 [lex.key]</td>
195 <td class="complete" align="center">&#x2713;</td>
196 <td class="na">N/A</td>
197 <td class="na">N/A</td>
198 <td class="na">N/A</td>
199 <td></td>
200</tr>
201<tr>
202 <td>&nbsp;&nbsp;2.12 [lex.operators]</td>
203 <td class="complete" align="center">&#x2713;</td>
204 <td class="na">N/A</td>
205 <td class="na">N/A</td>
206 <td class="na">N/A</td>
207 <td></td>
208</tr>
209<tr>
210 <td>&nbsp;&nbsp;2.13 [lex.literal]</td>
211 <td class="complete" align="center">&#x2713;</td>
212 <td class="na">N/A</td>
213 <td class="na">N/A</td>
214 <td class="na">N/A</td>
215 <td></td>
216</tr>
217<tr>
218 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.1 [lex.icon]</td>
219 <td class="complete" align="center">&#x2713;</td>
220 <td class="na">N/A</td>
221 <td class="na">N/A</td>
222 <td class="na">N/A</td>
223 <td></td>
224</tr>
225<tr>
226 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.2 [lex.ccon]</td>
227 <td class="advanced" align="center"></td>
228 <td class="na">N/A</td>
229 <td class="na">N/A</td>
230 <td class="na">N/A</td>
231 <td>Poor support for extended characters</td>
232</tr>
233<tr>
234 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.3 [lex.fcon]</td>
235 <td class="complete" align="center">&#x2713;</td>
236 <td class="na">N/A</td>
237 <td class="na">N/A</td>
238 <td class="na">N/A</td>
239 <td></td>
240</tr>
241<tr>
242 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.4 [lex.string]</td>
243 <td class="advanced" align="center"></td>
244 <td class="na">N/A</td>
245 <td class="na">N/A</td>
246 <td class="na">N/A</td>
247 <td>Poor support for extended characters</td>
248</tr>
249<tr>
250 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.5 [lex.bool]</td>
251 <td class="complete" align="center">&#x2713;</td>
252 <td class="na">N/A</td>
253 <td class="na">N/A</td>
254 <td class="na">N/A</td>
255 <td></td>
256</tr>
257<tr>
258<td>3 [basic]</td>
259 <td class="na">N/A</td>
260 <td class="na">N/A</td>
261 <td class="na">N/A</td>
262 <td class="na">N/A</td>
263 <td></td>
264</tr>
265<tr>
266 <td>&nbsp;&nbsp;3.1 [basic.def]</td>
267 <td></td>
268 <td></td>
269 <td></td>
270 <td class="na">N/A</td>
271 <td></td>
272</tr>
273<tr>
274 <td>&nbsp;&nbsp;3.2 [basic.def.odr]</td>
275 <td></td>
276 <td></td>
277 <td></td>
278 <td></td>
279 <td></td>
280</tr>
281<tr>
282 <td>&nbsp;&nbsp;3.3 [basic.scope]</td>
283 <td class="na">N/A</td>
284 <td class="na">N/A</td>
285 <td class="complete" align="center">&#x2713;</td>
286 <td class="na">N/A</td>
287 <td></td>
288</tr>
289<tr>
290 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.1 [basic.scope.pdecl]</td>
291 <td class="na">N/A</td>
292 <td class="na">N/A</td>
Sebastian Redl0393e282009-05-10 20:06:11 +0000293 <td class="complete" align="center">&#x2713;</td>
Cedric Venet3d658642009-02-14 20:20:19 +0000294 <td class="na">N/A</td>
Sebastian Redl0393e282009-05-10 20:06:11 +0000295 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000296</tr>
297<tr>
298 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.2 [basic.scope.local]</td>
299 <td class="na">N/A</td>
300 <td class="na">N/A</td>
Sebastian Redl0393e282009-05-10 20:06:11 +0000301 <td class="complete" align="center">&#x2713;</td>
Cedric Venet3d658642009-02-14 20:20:19 +0000302 <td class="na">N/A</td>
Sebastian Redl0393e282009-05-10 20:06:11 +0000303 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000304</tr>
305<tr>
306 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.3 [basic.scope.proto]</td>
307 <td class="na">N/A</td>
308 <td class="na">N/A</td>
309 <td class="complete" align="center">&#x2713;</td>
310 <td class="na">N/A</td>
311 <td></td>
312</tr>
313<tr>
314 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.4 [basic.funscope]</td>
315 <td class="na">N/A</td>
316 <td class="na">N/A</td>
317 <td class="complete" align="center">&#x2713;</td>
318 <td class="na">N/A</td>
319 <td></td>
320</tr>
321<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.5 [basic.scope.namespace]</td><td></td><td></td><td></td><td></td><td></td></tr>
322<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.6 [basic.scope.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
323<tr>
324 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.7 [basic.scope.hiding]</td>
325 <td class="na">N/A</td>
326 <td class="na">N/A</td>
327 <td class="complete" align="center">&#x2713;</td>
328 <td class="na">N/A</td>
329 <td></td>
330</tr>
331<tr>
332 <td>&nbsp;&nbsp;3.4 [basic.lookup]</td>
333 <td class="na">N/A</td>
334 <td class="na">N/A</td>
335 <td class="complete" align="center">&#x2713;</td>
336 <td class="na">N/A</td>
337 <td></td>
338</tr>
339<tr>
340 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.1 [basic.lookup.unqual]</td>
341 <td class="na">N/A</td>
342 <td class="na">N/A</td>
343 <td class="medium"></td>
344 <td class="na">N/A</td>
345 <td>Many cases beyond simple global and function-local lookup don't work</td>
346</tr>
347<tr>
348 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.2 [basic.lookup.argdep]</td>
349 <td class="na">N/A</td>
350 <td class="advanced" align="center"></td>
351 <td class="advanced" align="center"></td>
352 <td class="na">N/A</td>
353 <td>Missing support for templates, friend functions.</td>
354</tr>
355<tr>
356 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.3 [basic.lookup.qual]</td>
357 <td class="na">N/A</td>
358 <td class="na">N/A</td>
359 <td class="advanced"></td>
360 <td class="na">N/A</td>
361 <td></td>
362</tr>
363<tr>
364 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.4.3.1 [class.qual]</td>
365 <td class="na">N/A</td>
366 <td class="na">N/A</td>
367 <td class="advanced"></td>
368 <td class="na">N/A</td>
369 <td></td>
370</tr>
371<tr>
372 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.4.3.2 [namespace.qual]</td>
373 <td class="na">N/A</td>
374 <td class="na">N/A</td>
375 <td class="advanced"></td>
376 <td class="na">N/A</td>
377 <td></td>
378</tr>
379<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.4 [basic.lookup.elab]</td><td></td><td></td><td></td><td></td><td></td></tr>
380<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.5 [basic.lookup.classref]</td><td></td><td></td><td></td><td></td><td></td></tr>
381<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.6 [basic.lookup.udir]</td><td></td><td></td><td></td><td></td><td></td></tr>
382<tr><td>&nbsp;&nbsp;3.5 [basic.link]</td><td></td><td></td><td></td><td></td><td></td></tr>
383<tr><td>&nbsp;&nbsp;3.6 [basic.start]</td><td></td><td></td><td></td><td></td><td></td></tr>
384<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.1 [basic.start.main]</td><td></td><td></td><td></td><td></td><td></td></tr>
385<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.2 [basic.start.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
386<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.3 [basic.start.term]</td><td></td><td></td><td></td><td></td><td></td></tr>
387<tr><td>&nbsp;&nbsp;3.7 [basic.stc]</td><td></td><td></td><td></td><td></td><td></td></tr>
388<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.1 [basic.stc.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
389<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.2 [basic.stc.auto]</td><td></td><td></td><td></td><td></td><td></td></tr>
390<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.3 [basic.stc.dynamic]</td><td></td><td></td><td></td><td></td><td></td></tr>
391<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>
392<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>
393<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.4 [basic.stc.inherit]</td><td></td><td></td><td></td><td></td><td></td></tr>
394<tr><td>&nbsp;&nbsp;3.8 [basic.life]</td><td></td><td></td><td></td><td></td><td></td></tr>
395<tr><td>&nbsp;&nbsp;3.9 [basic.types]</td><td></td><td></td><td></td><td></td><td></td></tr>
396<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.1 [basic.fundamental]</td><td></td><td></td><td></td><td></td><td></td></tr>
397<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.2 [basic.compound]</td><td></td><td></td><td></td><td></td><td></td></tr>
398<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.3 [basic.type.qualifier]</td><td></td><td></td><td></td><td></td><td></td></tr>
399<tr><td>&nbsp;&nbsp;3.10 [basic.lval]</td><td></td><td></td><td></td><td></td><td></td></tr>
400<tr>
401 <td>4 [conv]</td>
402 <td class="complete" align="center">&#x2713;</td>
403 <td class="complete" align="center">&#x2713;</td>
404 <td class="complete" align="center">&#x2713;</td>
405 <td></td>
406 <td></td>
407</tr>
408<tr>
409 <td>&nbsp;&nbsp;4.1 [conv.lval]</td>
410 <td class="complete" align="center">&#x2713;</td>
411 <td class="complete" align="center">&#x2713;</td>
412 <td class="advanced" align="center"></td> <!-- p2: sizeof -->
413 <td></td>
414 <td></td>
415</tr>
416<tr>
417 <td>&nbsp;&nbsp;4.2 [conv.array]</td>
418 <td class="complete" align="center">&#x2713;</td>
419 <td class="complete" align="center">&#x2713;</td>
420 <td class="complete" align="center">&#x2713;</td>
421 <td></td>
422 <td></td>
423</tr>
424<tr>
425 <td>&nbsp;&nbsp;4.3 [conv.func]</td>
426 <td class="complete" align="center">&#x2713;</td>
427 <td class="complete" align="center">&#x2713;</td>
428 <td class="advanced" align="center"></td>
429 <td></td>
430 <td></td>
431</tr>
432<tr>
433 <td>&nbsp;&nbsp;4.4 [conv.qual]</td>
434 <td class="complete" align="center">&#x2713;</td>
435 <td class="complete" align="center">&#x2713;</td>
436 <td class="complete" align="center">&#x2713;</td>
437 <td></td>
438 <td></td>
439</tr>
440<tr>
441 <td>&nbsp;&nbsp;4.5 [conv.prom]</td>
442 <td class="complete" align="center">&#x2713;</td>
443 <td class="complete" align="center">&#x2713;</td>
444 <td class="complete" align="center">&#x2713;</td>
445 <td></td>
446 <td></td>
447</tr>
448<tr>
449 <td>&nbsp;&nbsp;4.6 [conv.fpprom]</td>
450 <td class="complete" align="center">&#x2713;</td>
451 <td class="complete" align="center">&#x2713;</td>
452 <td class="complete" align="center">&#x2713;</td>
453 <td></td>
454 <td></td>
455</tr>
456<tr>
457 <td>&nbsp;&nbsp;4.7 [conv.integral]</td>
458 <td class="complete" align="center">&#x2713;</td>
459 <td class="complete" align="center">&#x2713;</td>
460 <td class="complete" align="center">&#x2713;</td>
461 <td></td>
462 <td></td>
463</tr>
464<tr>
465 <td>&nbsp;&nbsp;4.8 [conv.double]</td>
466 <td class="complete" align="center">&#x2713;</td>
467 <td class="complete" align="center">&#x2713;</td>
468 <td class="complete" align="center">&#x2713;</td>
469 <td></td>
470 <td></td>
471</tr>
472<tr>
473 <td>&nbsp;&nbsp;4.9 [conv.fpint]</td>
474 <td class="complete" align="center">&#x2713;</td>
475 <td class="complete" align="center">&#x2713;</td>
476 <td class="complete" align="center">&#x2713;</td>
477 <td></td>
478 <td></td>
479</tr>
480<tr>
481 <td>&nbsp;&nbsp;4.10 [conv.ptr]</td>
482 <td class="complete" align="center">&#x2713;</td>
483 <td class="complete" align="center">&#x2713;</td>
484 <td class="complete" align="center">&#x2713;</td>
485 <td></td>
486 <td></td>
487</tr>
488<tr>
489 <td>&nbsp;&nbsp;4.11 [conv.mem]</td>
490 <td class="complete" align="center">&#x2713;</td>
491 <td class="complete" align="center">&#x2713;</td>
492 <td class="complete" align="center">&#x2713;</td>
493 <td></td>
494 <td></td>
495</tr>
496<tr>
497 <td>&nbsp;&nbsp;4.12 [conv.bool]</td>
498 <td class="complete" align="center">&#x2713;</td>
499 <td class="complete" align="center">&#x2713;</td>
500 <td class="complete" align="center">&#x2713;</td>
501 <td></td>
502 <td></td>
503</tr>
504<tr>
505 <td>5 [expr]</td>
506 <td class="na">N/A</td>
507 <td class="na">N/A</td>
508 <td class="complete" align="center">&#x2713;</td>
509 <td></td>
510 <td></td>
511</tr>
512<tr>
513 <td>&nbsp;&nbsp;5.1 [expr.prim]</td>
514 <td class="medium" align="center"></td>
515 <td class="medium" align="center"></td>
516 <td class="medium" align="center"></td>
517 <td></td>
518 <td>template-ids are not supported, name lookup is not complete</td>
519</tr>
520<tr><td>&nbsp;&nbsp;5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td></td></tr>
521<tr>
522 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.1 [expr.sub]</td>
523 <td class="complete" align="center">&#x2713;</td>
524 <td class="complete" align="center">&#x2713;</td>
525 <td class="complete" align="center">&#x2713;</td>
526 <td></td>
527 <td></td>
528</tr>
529<tr>
530 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.2 [expr.call]</td>
531 <td class="complete" align="center">&#x2713;</td>
532 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +0000533 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000534 <td></td>
Douglas Gregor35adb752009-03-12 00:09:31 +0000535 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000536</tr>
537<tr>
538 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.3 [expr.type.conv]</td>
539 <td class="complete" align="center">&#x2713;</td>
540 <td class="complete" align="center">&#x2713;</td>
541 <td class="basic"></td>
542 <td></td>
543 <td>Only between non-class types</td>
544</tr>
545<tr>
546 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.4 [expr.pseudo]</td>
547 <td class="broken"></td>
548 <td class="broken"></td>
549 <td class="broken"></td>
550 <td></td>
551 <td></td>
552</tr>
553<tr>
554 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.5 [expr.ref]</td>
555 <td class="complete" align="center">&#x2713;</td>
556 <td class="medium"></td>
557 <td class="medium"></td>
558 <td></td>
559 <td>Cannot look up operator names, qualified-ids, or names in base classes</td>
560</tr>
561<tr>
562 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.6 [expr.post.incr]</td>
563 <td class="complete" align="center">&#x2713;</td>
564 <td class="complete" align="center">&#x2713;</td>
565 <td class="complete" align="center">&#x2713;</td>
566 <td></td>
567 <td></td>
568</tr>
569<tr>
570 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.7 [expr.dynamic.cast]</td>
571 <td class="complete" align="center">&#x2713;</td>
572 <td class="complete" align="center">&#x2713;</td>
573 <td class="complete" align="center">&#x2713;</td>
574 <td></td>
575 <td></td>
576</tr>
577<tr>
578 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.8 [expr.typeid]</td>
579 <td class="complete" align="center">&#x2713;</td>
580 <td class="complete" align="center">&#x2713;</td>
581 <td class="complete" align="center">&#x2713;</td>
582 <td></td>
583 <td></td>
584</tr>
585<tr>
586 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.9 [expr.static.cast]</td>
587 <td class="complete" align="center">&#x2713;</td>
588 <td class="complete" align="center">&#x2713;</td>
589 <td class="advanced" align="center"></td>
590 <td></td>
591 <td>Some custom conversions don't work.</td>
592</tr>
593<tr>
594 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.10 [expr.reinterpret.cast]</td>
595 <td class="complete" align="center">&#x2713;</td>
596 <td class="complete" align="center">&#x2713;</td>
597 <td class="complete" align="center">&#x2713;</td>
598 <td></td>
599 <td></td>
600</tr>
601<tr>
602 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.11 [expr.const.cast]</td>
603 <td class="complete" align="center">&#x2713;</td>
604 <td class="complete" align="center">&#x2713;</td>
605 <td class="complete" align="center">&#x2713;</td>
606 <td></td>
607 <td></td>
608</tr>
609<tr><td>&nbsp;&nbsp;5.3 [expr.unary]</td><td></td><td></td><td></td><td></td><td></td></tr>
610<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.1 [expr.unary.op]</td><td></td><td></td><td></td><td></td><td></td></tr>
611<tr>
612 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p1 Unary *</td>
613 <td class="complete" align="center">&#x2713;</td>
614 <td class="complete" align="center">&#x2713;</td>
615 <td class="complete" align="center">&#x2713;</td>
616 <td></td>
617 <td></td>
618</tr>
619<tr>
620 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p2-5 Unary &amp;</td>
621 <td class="complete" align="center">&#x2713;</td>
622 <td class="complete" align="center">&#x2713;</td>
623 <td class="complete" align="center">&#x2713;</td>
624 <td></td>
625 <td></td>
626</tr>
627<tr>
628 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p6 Unary +</td>
629 <td class="complete" align="center">&#x2713;</td>
630 <td class="complete" align="center">&#x2713;</td>
631 <td class="complete" align="center">&#x2713;</td>
632 <td></td>
633 <td></td>
634</tr>
635<tr>
636 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p7 Unary -</td>
637 <td class="complete" align="center">&#x2713;</td>
638 <td class="complete" align="center">&#x2713;</td>
639 <td class="complete" align="center">&#x2713;</td>
640 <td></td>
641 <td></td>
642</tr>
643<tr>
644 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p8 Unary !</td>
645 <td class="complete" align="center">&#x2713;</td>
646 <td class="complete" align="center">&#x2713;</td>
647 <td class="complete" align="center">&#x2713;</td>
648 <td></td>
649 <td></td>
650</tr>
651<tr>
652 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p9 Unary ~</td>
653 <td class="complete" align="center">&#x2713;</td>
654 <td class="complete" align="center">&#x2713;</td>
655 <td class="complete" align="center">&#x2713;</td>
656 <td></td>
657 <td></td>
658</tr>
659<tr>
660 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.2 [expr.pre.incr]</td>
661 <td class="complete" align="center">&#x2713;</td>
662 <td class="complete" align="center">&#x2713;</td>
663 <td class="complete" align="center">&#x2713;</td>
664 <td></td>
665 <td></td>
666</tr>
667<tr>
668 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.3 [expr.sizeof]</td>
669 <td class="complete" align="center">&#x2713;</td>
670 <td class="complete" align="center">&#x2713;</td>
671 <td class="complete" align="center">&#x2713;</td>
672 <td></td>
673 <td></td>
674</tr>
675<tr>
676 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.4 [expr.new]</td>
677 <td class="complete" align="center">&#x2713;</td>
678 <td class="complete" align="center">&#x2713;</td>
679 <td class="advanced" align="center"></td>
680 <td></td>
681 <td>operator delete is not looked up, initialization not quite correct</td>
682</tr>
683<tr>
684 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.5 [expr.delete]</td>
685 <td class="complete" align="center">&#x2713;</td>
686 <td class="complete" align="center">&#x2713;</td>
687 <td class="complete" align="center">&#x2713;</td>
688 <td></td>
689 <td></td>
690</tr>
691<tr>
692 <td>&nbsp;&nbsp;5.4 [expr.cast]</td>
693 <td class="complete" align="center">&#x2713;</td>
694 <td class="complete" align="center">&#x2713;</td>
695 <td class="medium"></td>
696 <td></td>
697 <td>Too lenient, and may not always have correct semantics</td>
698</tr>
699<tr>
700 <td>&nbsp;&nbsp;5.5 [expr.mptr.oper]</td>
701 <td class="complete" align="center">&#x2713;</td>
702 <td class="advanced"></td>
703 <td class="advanced"></td>
704 <td></td>
705 <td>Dereferenced member function pointers have the wrong type.</td>
706</tr>
707<tr>
708 <td>&nbsp;&nbsp;5.6 [expr.mul]</td>
709 <td class="complete" align="center">&#x2713;</td>
710 <td class="complete" align="center">&#x2713;</td>
711 <td class="complete" align="center">&#x2713;</td>
712 <td></td>
713 <td></td>
714</tr>
715<tr>
716 <td>&nbsp;&nbsp;5.7 [expr.add]</td>
717 <td class="complete" align="center">&#x2713;</td>
718 <td class="complete" align="center">&#x2713;</td>
719 <td class="complete" align="center">&#x2713;</td>
720 <td></td>
721 <td></td>
722</tr>
723<tr>
724 <td>&nbsp;&nbsp;5.8 [expr.shift]</td>
725 <td class="complete" align="center">&#x2713;</td>
726 <td class="complete" align="center">&#x2713;</td>
727 <td class="complete" align="center">&#x2713;</td>
728 <td></td>
729 <td></td>
730</tr>
731<tr>
732 <td>&nbsp;&nbsp;5.9 [expr.rel]</td>
733 <td class="complete" align="center">&#x2713;</td>
734 <td class="complete" align="center">&#x2713;</td>
735 <td class="complete" align="center">&#x2713;</td>
736 <td></td>
737 <td></td>
738</tr>
739<tr>
740 <td>&nbsp;&nbsp;5.10 [expr.eq]</td>
741 <td class="complete" align="center">&#x2713;</td>
742 <td class="complete" align="center">&#x2713;</td>
743 <td class="complete" align="center">&#x2713;</td>
744 <td></td>
745 <td></td>
746</tr>
747<tr>
748 <td>&nbsp;&nbsp;5.11 [expr.bit.and]</td>
749 <td class="complete" align="center">&#x2713;</td>
750 <td class="complete" align="center">&#x2713;</td>
751 <td class="complete" align="center">&#x2713;</td>
752 <td></td>
753 <td></td>
754</tr>
755<tr>
756 <td>&nbsp;&nbsp;5.12 [expr.xor]</td>
757 <td class="complete" align="center">&#x2713;</td>
758 <td class="complete" align="center">&#x2713;</td>
759 <td class="complete" align="center">&#x2713;</td>
760 <td></td>
761 <td></td>
762</tr>
763<tr>
764 <td>&nbsp;&nbsp;5.13 [expr.or]</td>
765 <td class="complete" align="center">&#x2713;</td>
766 <td class="complete" align="center">&#x2713;</td>
767 <td class="complete" align="center">&#x2713;</td>
768 <td></td>
769 <td></td>
770</tr>
771<tr>
772 <td>&nbsp;&nbsp;5.14 [expr.log.and]</td>
773 <td class="complete" align="center">&#x2713;</td>
774 <td class="complete" align="center">&#x2713;</td>
775 <td class="complete" align="center">&#x2713;</td>
776 <td></td>
777 <td></td>
778</tr>
779<tr>
780 <td>&nbsp;&nbsp;5.15 [expr.log.or]</td>
781 <td class="complete" align="center">&#x2713;</td>
782 <td class="complete" align="center">&#x2713;</td>
783 <td class="complete" align="center">&#x2713;</td>
784 <td></td>
785 <td></td>
786</tr>
787<tr>
788 <td>&nbsp;&nbsp;5.16 [expr.cond]</td>
789 <td class="complete" align="center">&#x2713;</td>
790 <td class="complete" align="center">&#x2713;</td>
Sebastian Redl78eb8742009-04-19 21:53:20 +0000791 <td class="complete" align="center">&#x2713;</td>
Cedric Venet3d658642009-02-14 20:20:19 +0000792 <td></td>
Sebastian Redl78eb8742009-04-19 21:53:20 +0000793 <td>some invalid hierarchy casts still accepted, but that's a general problem</td>
Cedric Venet3d658642009-02-14 20:20:19 +0000794</tr>
795<tr>
796 <td>&nbsp;&nbsp;5.17 [expr.ass]</td>
797 <td class="complete" align="center">&#x2713;</td>
798 <td class="complete" align="center">&#x2713;</td>
799 <td class="complete" align="center">&#x2713;</td>
800 <td></td>
801 <td></td>
802</tr>
803<tr>
804 <td>&nbsp;&nbsp;5.18 [expr.comma]</td>
805 <td class="complete" align="center">&#x2713;</td>
806 <td class="complete" align="center">&#x2713;</td>
807 <td class="complete" align="center">&#x2713;</td>
808 <td></td>
809 <td></td>
810</tr>
811<tr>
812 <td>&nbsp;&nbsp;5.19 [expr.const]</td>
813 <td class="complete" align="center">&#x2713;</td>
814 <td class="complete" align="center">&#x2713;</td>
815 <td class="basic"></td>
816 <td></td>
817 <td>Uses C semantics</td>
818</tr>
819<tr>
820 <td>6 [stmt.stmt]</td>
821 <td class="complete" align="center">&#x2713;</td>
822 <td class="complete" align="center">&#x2713;</td>
823 <td class="complete" align="center">&#x2713;</td>
824 <td></td>
825 <td></td>
826</tr>
827<tr>
828 <td>&nbsp;&nbsp;6.1 [stmt.label]</td>
829 <td class="complete" align="center">&#x2713;</td>
830 <td class="complete" align="center">&#x2713;</td>
831 <td class="complete" align="center">&#x2713;</td>
832 <td></td>
833 <td></td>
834</tr>
835<tr>
836 <td>&nbsp;&nbsp;6.2 [stmt.expr]</td>
837 <td class="complete" align="center">&#x2713;</td>
838 <td class="complete" align="center">&#x2713;</td>
839 <td class="complete" align="center">&#x2713;</td>
840 <td></td>
841 <td></td>
842</tr>
843<tr>
844 <td>&nbsp;&nbsp;6.3 [stmt.block]</td>
845 <td class="complete" align="center">&#x2713;</td>
846 <td class="complete" align="center">&#x2713;</td>
847 <td class="complete" align="center">&#x2713;</td>
848 <td></td>
849 <td></td>
850</tr>
851<tr>
852 <td>&nbsp;&nbsp;6.4 [stmt.select]</td>
853 <td class="complete" align="center">&#x2713;</td>
854 <td class="complete" align="center">&#x2713;</td>
855 <td class="advanced" align="center"></td>
856 <td></td>
857 <td>Conversion of declarations to required types not really supported.</td>
858</tr>
859<tr>
860 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.4.1 [stmt.if]</td>
861 <td class="complete" align="center">&#x2713;</td>
862 <td class="complete" align="center">&#x2713;</td>
863 <td class="complete" align="center">&#x2713;</td>
864 <td></td>
865 <td></td>
866</tr>
867<tr>
868 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.4.2 [stmt.switch]</td>
869 <td class="complete" align="center">&#x2713;</td>
870 <td class="complete" align="center">&#x2713;</td>
871 <td class="complete" align="center">&#x2713;</td>
872 <td></td>
873 <td></td>
874</tr>
875<tr>
876 <td>&nbsp;&nbsp;6.5 [stmt.iter]</td>
877 <td class="complete" align="center">&#x2713;</td>
878 <td class="complete" align="center">&#x2713;</td>
879 <td class="advanced" align="center"></td>
880 <td></td>
881 <td>Conversion of declarations to required types not really supported.</td>
882</tr>
883<tr>
884 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.1 [stmt.while]</td>
885 <td class="complete" align="center">&#x2713;</td>
886 <td class="complete" align="center">&#x2713;</td>
887 <td class="complete" align="center">&#x2713;</td>
888 <td></td>
889 <td></td>
890</tr>
891<tr>
892 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.2 [stmt.do]</td>
893 <td class="complete" align="center">&#x2713;</td>
894 <td class="complete" align="center">&#x2713;</td>
895 <td class="complete" align="center">&#x2713;</td>
896 <td></td>
897 <td></td>
898</tr>
899<tr>
900 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.3 [stmt.for]</td>
901 <td class="complete" align="center">&#x2713;</td>
902 <td class="complete" align="center">&#x2713;</td>
903 <td class="complete" align="center">&#x2713;</td>
904 <td></td>
905 <td></td>
906</tr>
907<tr>
908 <td>&nbsp;&nbsp;6.6 [stmt.jump]</td>
909 <td class="complete" align="center">&#x2713;</td>
910 <td class="complete" align="center">&#x2713;</td>
911 <td class="complete" align="center">&#x2713;</td>
912 <td></td>
913 <td></td>
914</tr>
915<tr>
916 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.1 [stmt.break]</td>
917 <td class="complete" align="center">&#x2713;</td>
918 <td class="complete" align="center">&#x2713;</td>
919 <td class="complete" align="center">&#x2713;</td>
920 <td></td>
921 <td></td>
922</tr>
923<tr>
924 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.2 [stmt.cont]</td>
925 <td class="complete" align="center">&#x2713;</td>
926 <td class="complete" align="center">&#x2713;</td>
927 <td class="complete" align="center">&#x2713;</td>
928 <td></td>
929 <td></td>
930</tr>
931<tr>
932 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.3 [stmt.return]</td>
933 <td class="complete" align="center">&#x2713;</td>
934 <td class="complete" align="center">&#x2713;</td>
935 <td class="complete" align="center">&#x2713;</td>
936 <td></td>
937 <td></td>
938</tr>
939<tr>
940 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.4 [stmt.goto]</td>
941 <td class="complete" align="center">&#x2713;</td>
942 <td class="complete" align="center">&#x2713;</td>
943 <td class="complete" align="center">&#x2713;</td>
944 <td></td>
945 <td></td>
946</tr>
947<tr>
948 <td>&nbsp;&nbsp;6.7 [stmt.dcl]</td>
949 <td class="complete" align="center">&#x2713;</td>
950 <td class="complete" align="center">&#x2713;</td>
951 <td class="advanced" align="center"></td>
952 <td></td>
953 <td>Skipping of initialization is not flagged. Existence and accessibility of destructors is not tested for.</td>
954</tr>
955<tr>
956 <td>&nbsp;&nbsp;6.8 [stmt.ambig]</td>
957 <td class="complete" align="center">&#x2713;</td>
958 <td class="complete" align="center">&#x2713;</td>
959 <td class="complete" align="center">&#x2713;</td>
960 <td></td>
961 <td></td>
962</tr>
963<tr><td>7 [dcl.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
964<tr><td>
965 &nbsp;&nbsp;7.1 [dcl.spec]</td>
966 <td class="advanced" align="center"></td>
967 <td class="advanced" align="center"></td>
968 <td class="advanced" align="center"></td>
969 <td></td>
970 <td>No support for friend declarations.</td>
971</tr>
972<tr>
973 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.1 [dcl.stc]</td>
974 <td class="complete" align="center">&#x2713;</td>
975 <td class="advanced" align="center"></td>
976 <td class="advanced" align="center"></td>
977 <td></td>
978 <td>Linkage merging has some errors.</td>
979</tr>
980<tr>
981 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.2 [dcl.fct.spec]</td>
982 <td class="complete" align="center">&#x2713;</td>
983 <td class="complete" align="center">&#x2713;</td>
984 <td class="complete" align="center">&#x2713;</td>
985 <td></td>
986 <td></td>
987</tr>
988<tr>
989 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.3 [dcl.typedef]</td>
990 <td class="complete" align="center">&#x2713;</td>
991 <td class="complete" align="center">&#x2713;</td>
992 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +0000993 <td class="complete" align="center">&#x2713;</td>
994 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +0000995</tr>
996<tr>
997 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.4 [dcl.friend]</td>
998 <td class="broken"></td>
999 <td class="broken"></td>
1000 <td class="broken"></td>
1001 <td></td>
1002 <td></td>
1003</tr>
1004<tr>
1005 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.5 [dcl.type]</td>
1006 <td class="complete" align="center">&#x2713;</td>
1007 <td class="complete" align="center">&#x2713;</td>
1008 <td class="complete" align="center">&#x2713;</td>
1009 <td></td>
1010 <td></td>
1011</tr>
1012<tr>
1013 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.1 [dcl.type.cv]</td>
1014 <td class="complete" align="center">&#x2713;</td>
1015 <td class="complete" align="center">&#x2713;</td>
1016 <td class="complete" align="center">&#x2713;</td>
1017 <td></td>
1018 <td></td>
1019</tr>
1020<tr>
1021 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.2 [dcl.type.simple]</td>
1022 <td class="medium"></td>
1023 <td class="advanced"></td>
1024 <td class="advanced"></td>
1025 <td></td>
1026 <td>Cannot parse template IDs.</td>
1027</tr>
1028<tr>
1029 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.3 [dcl.type.elab]</td>
1030 <td class="medium"></td>
1031 <td class="advanced"></td>
1032 <td class="advanced"></td>
1033 <td></td>
1034 <td>Cannot parse template IDs.</td>
1035</tr>
1036<tr>
1037 <td>&nbsp;&nbsp;7.2 [dcl.enum]</td>
1038 <td class="complete" align="center">&#x2713;</td>
1039 <td class="complete" align="center">&#x2713;</td>
1040 <td class="complete" align="center">&#x2713;</td>
1041 <td></td>
1042 <td></td>
1043</tr>
1044<tr>
1045 <td>&nbsp;&nbsp;7.3 [basic.namespace]</td>
1046 <td class="complete" align="center">&#x2713;</td>
1047 <td class="complete" align="center">&#x2713;</td>
1048 <td class="complete" align="center">&#x2713;</td>
1049 <td></td>
1050 <td></td>
1051</tr>
1052<tr>
1053 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.1 [namespace.def]</td>
1054 <td class="medium"></td>
1055 <td class="medium"></td>
1056 <td class="medium"></td>
1057 <td></td>
1058 <td>Cannot parse namespace aliases.</td>
1059</tr>
1060<tr>
1061 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.3.1.1 [namespace.unnamed]</td>
1062 <td class="complete" align="center">&#x2713;</td>
1063 <td class="complete" align="center">&#x2713;</td>
1064 <td class="broken"></td>
1065 <td></td>
1066 <td>Unnamed namespace members cannot be looked up.</td>
1067</tr>
1068<tr>
1069 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.3.1.2 [namespace.memdef]</td>
1070 <td class="complete" align="center">&#x2713;</td>
1071 <td class="complete" align="center">&#x2713;</td>
1072 <td class="advanced"></td>
1073 <td></td>
1074 <td>The friend stuff is not supported.</td>
1075</tr>
1076<tr>
1077 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.2 [namespace.alias]</td>
Anders Carlsson5705e532009-03-31 17:17:14 +00001078 <td class="complete" align="center">&#x2713;</td>
1079 <td class="complete" align="center">&#x2713;</td>
1080 <td class="complete" align="center">&#x2713;</td>
1081 <td class="na">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001082 <td></td>
1083</tr>
1084<tr>
1085 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.3 [namespace.udecl]</td>
1086 <td class="broken" align="center"></td>
1087 <td class="broken" align="center"></td>
1088 <td class="broken" align="center"></td>
1089 <td></td>
1090 <td></td>
1091</tr>
1092<tr>
1093 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.4[namespace.udir]</td>
1094 <td class="complete" align="center">&#x2713;</td>
1095 <td class="complete" align="center">&#x2713;</td>
1096 <td class="advanced"></td>
1097 <td class="broken" align="center"></td>
1098 <td>Example in p4 fails.</td>
1099</tr>
1100<tr><td>
1101 &nbsp;&nbsp;7.4 [dcl.asm]</td>
1102 <td class="complete" align="center">&#x2713;</td>
1103 <td class="complete" align="center">&#x2713;</td>
1104 <td class="complete" align="center">&#x2713;</td>
1105 <td></td>
1106 <td></td>
1107</tr>
1108<tr>
1109 <td>&nbsp;&nbsp;7.5 [dcl.link]</td>
1110 <td class="complete" align="center">&#x2713;</td>
1111 <td class="basic"></td>
1112 <td class="basic"></td>
1113 <td></td>
1114 <td></td>
1115</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001116<tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001117 <td>8 [dcl.decl]</td><td></td><td></td><td></td><td></td><td></td>
1118</tr>
1119<tr>
1120 <td>&nbsp;&nbsp;8.1 [dcl.name]</td>
1121 <td class="complete" align="center">&#x2713;</td>
1122 <td class="complete" align="center">&#x2713;</td>
1123 <td class="complete" align="center">&#x2713;</td>
1124 <td class="na">N/A</td>
1125 <td></td>
1126</tr>
1127<tr>
1128 <td>&nbsp;&nbsp;8.2 [dcl.ambig.res]</td>
1129 <td class="complete" align="center">&#x2713;</td>
1130 <td class="na" align="center">N/A</td>
1131 <td class="complete" align="center">&#x2713;</td>
1132 <td class="na">N/A</td>
1133 <td></td>
1134</tr>
1135<tr>
1136 <td>&nbsp;&nbsp;8.3 [dcl.meaning]</td>
1137 <td class="complete" align="center">&#x2713;</td>
1138 <td class="complete" align="center">&#x2713;</td>
1139 <td class="advanced" align="center"></td>
1140 <td class="na">N/A</td>
1141 <td>Qualified declarator-ids are not fully implemented.</td>
1142</tr>
1143 <tr>
1144 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.1 [dcl.ptr]</td>
1145 <td class="complete" align="center">&#x2713;</td>
1146 <td class="complete" align="center">&#x2713;</td>
1147 <td class="complete" align="center">&#x2713;</td>
1148 <td class="na">N/A</td>
1149 <td></td>
1150 </tr>
1151 <tr>
1152 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.2 [dcl.ref]</td>
1153 <td class="complete" align="center">&#x2713;</td>
1154 <td class="complete" align="center">&#x2713;</td>
1155 <td class="complete" align="center">&#x2713;</td>
1156 <td class="na">N/A</td>
1157 <td></td>
1158 </tr>
1159 <tr>
1160 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.3 [dcl.mptr]</td>
1161 <td class="complete" align="center">&#x2713;</td>
1162 <td class="complete" align="center">&#x2713;</td>
1163 <td class="complete" align="center">&#x2713;</td>
1164 <td class="na">N/A</td>
1165 <td></td>
1166 </tr>
1167 <tr>
1168 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.4 [dcl.array]</td>
1169 <td class="complete" align="center">&#x2713;</td>
1170 <td class="complete" align="center">&#x2713;</td>
1171 <td class="complete" align="center">&#x2713;</td>
1172 <td class="na">N/A</td>
1173 <td></td>
1174 </tr>
1175 <tr>
1176 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.5 [dcl.fct]</td>
1177 <td class="complete" align="center">&#x2713;</td>
1178 <td class="complete" align="center">&#x2713;</td>
1179 <td class="complete" align="center">&#x2713;</td>
1180 <td class="na">N/A</td>
1181 <td></td>
1182 </tr>
1183 <tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001184 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.6 [dcl.fct.default]</td>
1185 <td class="advanced" align="center"></td>
1186 <td class="advanced" align="center"></td>
1187 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001188 <td class="na">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001189 <td>Missing default arguments for templates.</td>
1190</tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001191<tr>
1192 <td>&nbsp;&nbsp;8.4 [dcl.fct.def]</td>
1193 <td class="complete" align="center">&#x2713;</td>
1194 <td class="complete" align="center">&#x2713;</td>
1195 <td class="medium" align="center"></td>
1196 <td class="basic" align="center"></td>
1197 <td>ctor-initializers are not fully type-checked.</td>
1198</tr>
1199<tr>
1200 <td>&nbsp;&nbsp;8.5 [dcl.init]</td>
1201 <td class="advanced" align="center"></td>
1202 <td class="advanced" align="center"></td>
1203 <td class="medium" align="center"></td>
1204 <td class="medium" align="center"></td>
1205 <td></td>
1206</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001207<tr>
1208 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.1[dcl.init.aggr]</td>
1209 <td class="advanced" align="center"></td>
1210 <td class="advanced" align="center"></td>
1211 <td class="medium" align="center"></td>
1212 <td class="basic" align="center"></td>
1213 <td>No CodeGen for initializing non-aggregates or dynamic initialization.</td>
1214</tr>
Douglas Gregor35adb752009-03-12 00:09:31 +00001215<tr>
1216 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.2[dcl.init.string]</td>
1217 <td class="advanced" align="center"></td>
1218 <td class="advanced" align="center"></td>
1219 <td class="medium" align="center"></td>
1220 <td class="basic" align="center"></td>
1221 <td></td>
1222</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001223<tr>
1224 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.3 [dcl.init.ref]</td>
1225 <td class="advanced" align="center"></td>
1226 <td class="advanced" align="center"></td>
1227 <td class="medium" align="center"></td>
1228 <td class="basic" align="center"></td>
1229 <td></td>
1230</tr>
1231<tr>
1232 <td>9 [class]</td>
1233 <td class="advanced" align="center"></td>
1234 <td></td>
1235 <td></td>
1236 <td></td>
1237 <td></td>
1238</tr>
1239<tr>
1240 <td>&nbsp;&nbsp;9.1 [class.name]</td>
1241 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001242 <td class="complete" align="center">&#x2713;</td>
1243 <td class="complete" align="center">&#x2713;</td>
1244 <td class="na" align="center">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001245 <td></td>
1246</tr>
1247<tr>
1248 <td>&nbsp;&nbsp;9.2 [class.mem]</td>
1249 <td class="advanced" align="center"></td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001250 <td class="medium" align="center"></td>
1251 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001252 <td class="basic" align="center"></td>
1253 <td>No parser support for using declarations or member templates.</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001254</tr>
1255<tr>
1256 <td>&nbsp;&nbsp;9.3 [class.mfct]</td>
1257 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001258 <td class="advanced" align="center"></td>
1259 <td class="advanced" align="center"></td>
1260 <td class="basic" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001261 <td></td>
1262</tr>
1263<tr>
1264 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.1 [class.mfct.non-static]</td>
1265 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001266 <td class="medium" align="center"></td>
1267 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001268 <td class="basic" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001269 <td></td>
1270</tr>
1271<tr>
1272 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td>
1273 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001274 <td class="medium" align="center"></td>
1275 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001276 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001277 <td></td>
1278</tr>
1279<tr>
1280 <td>&nbsp;&nbsp;9.4 [class.static]</td>
1281 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001282 <td class="complete" align="center">&#x2713;</td>
1283 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001284 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001285 <td></td>
1286</tr>
1287<tr>
1288 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td>
1289 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001290 <td class="complete" align="center">&#x2713;</td>
1291 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001292 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001293 <td></td>
1294</tr>
1295<tr>
1296 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td>
1297 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor35adb752009-03-12 00:09:31 +00001298 <td class="complete" align="center">&#x2713;</td>
1299 <td class="medium" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001300 <td class="basic"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001301 <td></td>
1302</tr>
1303<tr>
1304 <td>&nbsp;&nbsp;9.5 [class.union]</td>
1305 <td class="complete" align="center">&#x2713;</td>
1306 <td class="complete" align="center">&#x2713;</td>
1307 <td class="medium"></td>
1308 <td class="medium"></td>
1309 <td>Semantic analysis does not yet check all of the requirements placed on the members of unions.</td>
1310</tr>
1311<tr>
1312 <td>&nbsp;&nbsp;9.6 [class.bit]</td>
1313 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001314 <td class="complete" align="center">&#x2713;</td>
1315 <td class="complete" align="center">&#x2713;</td>
1316 <td class="complete" align="center">&#x2713;</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001317 <td></td>
1318</tr>
1319<tr>
1320 <td>&nbsp;&nbsp;9.7 [class.nest]</td>
1321 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001322 <td class="advanced"></td>
1323 <td class="advanced"></td>
1324 <td class="na" align="center">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001325 <td></td>
1326</tr>
1327<tr>
1328 <td>&nbsp;&nbsp;9.8 [class.local]</td>
1329 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001330 <td class="medium"></td>
1331 <td class="broken"></td>
1332 <td class="broken"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001333 <td></td>
1334</tr>
1335<tr>
1336 <td>&nbsp;&nbsp;9.9 [class.nested.type]</td>
1337 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001338 <td class="complete" align="center">&#x2713;</td>
1339 <td class="complete" align="center">&#x2713;</td>
1340 <td class="na" align="center">N/A</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001341 <td></td>
1342</tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001343<tr>
1344 <td>10 [class.derived]</td>
1345 <td class="advanced" align="center"></td>
1346 <td class="advanced" align="center"></td>
1347 <td class="medium" align="center"></td>
1348 <td class="broken" align="center"></td>
1349 <td></td>
1350</tr>
1351<tr>
1352 <td>&nbsp;&nbsp;10.1 [class.mi]</td>
1353 <td class="advanced" align="center"></td>
1354 <td class="advanced" align="center"></td>
1355 <td class="medium" align="center"></td>
1356 <td class="broken" align="center"></td>
1357 <td>No layout of base classes</td>
1358</tr>
1359<tr>
1360 <td>&nbsp;&nbsp;10.2 [class.member.lookup]</td>
1361 <td class="complete" align="center">&#x2713;</td>
1362 <td class="complete" align="center">&#x2713;</td>
1363 <td class="complete" align="center">&#x2713;</td>
1364 <td class="na" align="center">N/A</td>
1365 <td></td>
1366</tr>
1367<tr>
1368 <td>&nbsp;&nbsp;10.3 [class.virtual]</td>
1369 <td class="advanced" align="center"></td>
1370 <td class="medium" align="center"></td>
1371 <td class="basic" align="center"></td>
1372 <td class="broken" align="center"></td>
1373 <td>No semantic analysis for overriding virtual functions or inheriting a virtual function. No layout of classes with virtual functions.</td>
1374</tr>
Anders Carlsson1edac4d2009-03-24 01:24:06 +00001375<tr>
1376 <td>&nbsp;&nbsp;10.4 [class.abstract]</td>
1377 <td class="complete" align="center">&#x2713;</td>
1378 <td class="complete" align="center">&#x2713;</td>
1379 <td class="complete" align="center">&#x2713;</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001380 <td class="na" align="center">N/A</td>
Anders Carlsson1edac4d2009-03-24 01:24:06 +00001381 <td></td>
1382 </tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001383<tr>
1384 <td>11 [class.access]</td>
1385 <td class="medium" align="center"></td>
1386 <td class="medium" align="center"></td>
1387 <td class="broken" align="center"></td>
1388 <td class="na" align="center">N/A</td>
1389 <td></td>
1390</tr>
1391<tr>
1392 <td>&nbsp;&nbsp;11.1 [class.access.spec]</td>
1393 <td class="complete" align="center">&#x2713;</td>
1394 <td class="advanced" align="center"></td>
1395 <td class="complete" align="center">&#x2713;</td>
1396 <td class="na" align="center">N/A</td>
1397 <td></td>
1398</tr>
1399<tr>
1400 <td>&nbsp;&nbsp;11.2 [class.access.base]</td>
1401 <td class="complete" align="center">&#x2713;</td>
1402 <td class="complete" align="center">&#x2713;</td>
1403 <td class="broken" align="center"></td>
1404 <td class="na" align="center">N/A</td>
1405 <td></td>
1406</tr>
1407<tr>
1408 <td>&nbsp;&nbsp;11.3 [class.access.dcl]</td>
1409 <td class="broken" align="center"></td>
1410 <td class="broken" align="center"></td>
1411 <td class="broken" align="center"></td>
1412 <td class="na" align="center">N/A</td>
1413 <td></td>
1414</tr>
1415<tr>
1416 <td>&nbsp;&nbsp;11.4 [class.friend]</td>
1417 <td class="broken" align="center"></td>
1418 <td class="broken" align="center"></td>
1419 <td class="broken" align="center"></td>
1420 <td class="na" align="center">N/A</td>
1421 <td></td>
1422</tr>
1423<tr>
1424 <td>&nbsp;&nbsp;11.5 [class.protected]</td>
1425 <td class="na" align="center"></td>
1426 <td class="complete" align="center">&#x2713;</td>
1427 <td class="broken" align="center"></td>
1428 <td class="na" align="center">N/A</td>
1429 <td></td>
1430</tr>
1431<tr>
1432 <td>&nbsp;&nbsp;11.6 [class.access.virt]</td>
1433 <td class="na" align="center"></td>
1434 <td class="na" align="center"></td>
1435 <td class="broken" align="center"></td>
1436 <td class="na" align="center">N/A</td>
1437 <td></td>
1438</tr>
1439<tr>
1440 <td>&nbsp;&nbsp;11.7 [class.paths]</td>
1441 <td class="na" align="center"></td>
1442 <td class="na" align="center"></td>
1443 <td class="broken" align="center"></td>
1444 <td class="na" align="center">N/A</td>
1445 <td></td>
1446</tr>
1447<tr>
1448 <td>&nbsp;&nbsp;11.8 [class.access.nest]</td>
1449 <td class="na" align="center"></td>
1450 <td class="na" align="center"></td>
1451 <td class="broken" align="center"></td>
1452 <td class="na" align="center">N/A</td>
1453 <td></td>
1454</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001455<tr><td>12 [special]</td><td></td><td></td><td></td><td></td><td></td></tr>
1456<tr>
1457 <td>&nbsp;&nbsp;12.1 [class.ctor]</td>
1458 <td class="advanced" align="center"></td>
1459 <td class="medium" align="center"></td>
1460 <td class="basic" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001461 <td class="basic" align="center"></td>
1462 <td>Implicitly-declared constructors are never defined.</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001463</tr>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001464<tr>
1465 <td>&nbsp;&nbsp;12.2 [class.temporary]</td>
1466 <td class="na" align="center">N/A</td>
1467 <td class="basic" align="center"></td>
1468 <td class="basic" align="center"></td>
1469 <td class="basic" align="center"></td>
1470 <td>Implementation of temporary objects is in its initial stages.</td>
1471</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001472<tr>
1473 <td>&nbsp;&nbsp;12.3 [class.conv]</td>
1474 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001475 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001476 <td class="medium" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001477 <td class="broken" align="center"></td>
1478 <td></td>
1479</tr>
1480<tr>
1481 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.3.1 [class.conv.ctor]</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001482 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001483 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001484 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001485 <td class="broken" align="center"></td>
1486 <td></td>
1487</tr>
1488<tr>
1489 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.3.2 [class.conv.fct]</td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001490 <td class="complete" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001491 <td class="advanced" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001492 <td class="advanced" align="center"></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001493 <td class="broken" align="center"></td>
Douglas Gregor6d507a62009-05-07 17:50:16 +00001494 <td>No support for inheritance of conversion functions.</td>
Cedric Venet3d658642009-02-14 20:20:19 +00001495</tr>
1496<tr>
1497 <td>&nbsp;&nbsp;12.4 [class.dtor]</td>
1498 <td class="advanced" align="center"></td>
1499 <td class="medium" align="center"></td>
1500 <td class="basic" align="center"></td>
1501 <td class="broken" align="center"></td>
1502 <td>Most of the semantics of destructors are unimplemented.</td>
1503</tr>
1504<tr><td>&nbsp;&nbsp;12.5 [class.free]</td><td></td><td></td><td></td><td></td><td></td></tr>
1505<tr><td>&nbsp;&nbsp;12.6 [class.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
1506<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;12.6.1 [class.expl.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
1507<tr>
1508 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.6.2 [class.base.init]</td>
1509 <td class="advanced" align="center"></td>
1510 <td class="medium" align="center"></td>
1511 <td class="basic" align="center"></td>
1512 <td class="broken" align="center"></td>
1513 <td>No actual direct initialization; implicit initialization not checked.</td>
1514</tr>
1515<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 +00001516<tr>
1517 <td>&nbsp;&nbsp;12.8 [class.copy]</td>
1518 <td class="advanced" align="center"></td>
1519 <td class="advanced" align="center"></td>
1520 <td class="medium" align="center"></td>
1521 <td class="broken" align="center"></td>
1522 <td>Copy assignment operators are mostly ignored by semantic analysis.</td>
1523</tr>
1524
Cedric Venet3d658642009-02-14 20:20:19 +00001525<tr><td>13 [over]</td><td></td><td></td><td></td><td></td><td></td></tr>
1526<tr>
1527 <td>&nbsp;&nbsp;13.1 [over.load]</td>
1528 <td class="complete" align="center">&#x2713;</td>
1529 <td class="basic" align="center"></td>
1530 <td class="basic" align="center"></td>
1531 <td class="broken" align="center"></td>
1532 <td>Missing name mangling.</td>
1533</tr>
1534<tr>
1535 <td>&nbsp;&nbsp;13.2 [over.dcl]</td>
1536 <td class="complete" align="center">&#x2713;</td>
1537 <td class="basic" align="center"></td>
1538 <td class="basic" align="center"></td>
1539 <td class="broken" align="center"></td>
1540 <td></td>
1541</tr>
1542<tr>
1543 <td>&nbsp;&nbsp;13.3 [over.match]</td>
1544 <td class="complete" align="center">&#x2713;</td>
1545 <td class="basic" align="center"></td>
1546 <td class="basic" align="center"></td>
1547 <td class="broken" align="center"></td>
1548 <td></td>
1549</tr>
1550<tr>
1551 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.1 [over.match.funcs]</td>
1552 <td class="complete" align="center">&#x2713;</td>
1553 <td class="basic" align="center"></td>
1554 <td class="basic" align="center"></td>
1555 <td class="broken" align="center"></td>
1556 <td></td>
1557</tr>
1558<tr>
1559 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1 [over.match.call]</td>
1560 <td class="complete" align="center">&#x2713;</td>
1561 <td class="basic" align="center"></td>
1562 <td class="basic" align="center"></td>
1563 <td class="broken" align="center"></td>
1564 <td></td>
1565</tr>
1566<tr>
1567 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1.1 [over.call.func]</td>
1568 <td class="complete" align="center">&#x2713;</td>
1569 <td class="basic" align="center"></td>
1570 <td class="basic" align="center"></td>
1571 <td class="broken" align="center"></td>
1572 <td></td>
1573</tr>
1574<tr>
1575 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1.2 [over.call.object]</td>
1576 <td class="complete" align="center">&#x2713;</td>
1577 <td class="medium" align="center"></td>
1578 <td class="advanced" align="center"></td>
1579 <td class="broken" align="center"></td>
1580 <td>Missing AST representation for the implicit conversion to a function reference/pointer</td>
1581</tr>
1582<tr>
1583 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.2 [over.match.oper]</td>
1584 <td class="complete" align="center">&#x2713;</td>
1585 <td class="advanced" align="center"></td>
1586 <td class="advanced" align="center"></td>
1587 <td class="broken" align="center"></td>
1588 <td></td>
1589</tr>
1590<tr>
1591 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.3 [over.match.ctor]</td>
1592 <td class="complete" align="center">&#x2713;</td>
1593 <td class="basic" align="center"></td>
1594 <td class="basic" align="center"></td>
1595 <td class="broken" align="center"></td>
1596 <td></td>
1597</tr>
1598<tr>
1599 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.4 [over.match.copy]</td>
1600 <td class="complete" align="center">&#x2713;</td>
1601 <td class="basic" align="center"></td>
1602 <td class="basic" align="center"></td>
1603 <td class="broken" align="center"></td>
1604 <td></td>
1605</tr>
1606<tr>
1607 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.5 [over.match.conv]</td>
1608 <td class="complete" align="center">&#x2713;</td>
1609 <td class="broken" align="center"></td>
1610 <td class="broken" align="center"></td>
1611 <td class="broken" align="center"></td>
1612 <td></td>
1613</tr>
1614<tr>
1615 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.6 [over.match.ref]</td>
1616 <td class="complete" align="center">&#x2713;</td>
1617 <td class="basic" align="center"></td>
1618 <td class="basic" align="center"></td>
1619 <td class="broken" align="center"></td>
1620 <td></td>
1621</tr>
1622<tr>
1623 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.2 [over.match.viable]</td>
1624 <td class="complete" align="center">&#x2713;</td>
1625 <td class="medium" align="center"></td>
1626 <td class="medium" align="center"></td>
1627 <td class="broken" align="center"></td>
1628 <td></td>
1629</tr>
1630<tr>
1631 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.3 [over.match.best]</td>
1632 <td class="complete" align="center">&#x2713;</td>
1633 <td class="basic" align="center"></td>
1634 <td class="basic" align="center"></td>
1635 <td class="broken" align="center"></td>
1636 <td></td>
1637</tr>
1638<tr>
1639 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1 [over.best.ics]</td>
1640 <td class="complete" align="center">&#x2713;</td>
1641 <td class="medium" align="center"></td>
1642 <td class="medium" align="center"></td>
1643 <td class="broken" align="center"></td>
1644 <td></td>
1645</tr>
1646<tr>
1647 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.1 [over.ics.scs]</td>
1648 <td class="complete" align="center">&#x2713;</td>
1649 <td class="medium" align="center"></td>
1650 <td class="medium" align="center"></td>
1651 <td class="broken" align="center"></td>
1652 <td></td>
1653</tr>
1654<tr>
1655 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.2 [over.ics.user]</td>
1656 <td class="complete" align="center">&#x2713;</td>
1657 <td class="basic" align="center"></td>
1658 <td class="basic" align="center"></td>
1659 <td class="broken" align="center"></td>
1660 <td></td>
1661</tr>
1662<tr>
1663 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.3 [over.ics.ellipsis]</td>
1664 <td class="complete" align="center">&#x2713;</td>
1665 <td class="medium" align="center"></td>
1666 <td class="medium" align="center"></td>
1667 <td class="broken" align="center"></td>
1668 <td></td>
1669</tr>
1670<tr>
1671 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.4 [over.ics.ref]</td>
1672 <td class="complete" align="center">&#x2713;</td>
1673 <td class="medium" align="center"></td>
1674 <td class="medium" align="center"></td>
1675 <td class="broken" align="center"></td>
1676 <td></td>
1677</tr>
1678<tr>
1679 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.2 [over.ics.rank]</td>
1680 <td class="complete" align="center">&#x2713;</td>
1681 <td class="medium" align="center"></td>
1682 <td class="medium" align="center"></td>
1683 <td class="broken" align="center"></td>
1684 <td></td>
1685</tr>
1686<tr>
1687 <td>&nbsp;&nbsp;13.4 [over.over]</td>
1688 <td class="advanced" align="center"></td>
1689 <td class="medium" align="center"></td>
1690 <td class="basic" align="center"></td>
1691 <td class="broken" align="center"></td>
1692 <td>Error messages need some work. Without templates or using
1693 declarations, we don't have any ambiguities, so the semantic
1694 analysis is incomplete.</td>
1695</tr>
1696<tr>
1697 <td>&nbsp;&nbsp;13.5 [over.oper]</td>
1698 <td class="advanced" align="center"></td>
1699 <td class="advanced" align="center"></td>
1700 <td class="medium" align="center"></td>
1701 <td class="broken" align="center"></td>
1702 <td>Some overloaded operators can only be called with function syntax, e.g., <code>operator[](x)</code>.</td>
1703</tr>
1704<tr>
1705 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.1 [over.unary]</td>
1706 <td class="na" align="center">N/A</td>
1707 <td class="advanced" align="center"></td>
1708 <td class="advanced" align="center"></td>
1709 <td class="broken" align="center"></td>
1710 <td></td>
1711</tr>
1712<tr>
1713 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.2 [over.binary]</td>
1714 <td class="na" align="center">N/A</td>
1715 <td class="advanced" align="center"></td>
1716 <td class="advanced" align="center"></td>
1717 <td class="broken" align="center"></td>
1718 <td></td>
1719</tr>
1720<tr>
1721 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.3 [over.ass]</td>
1722 <td class="na" align="center">N/A</td>
1723 <td class="advanced" align="center"></td>
1724 <td class="advanced" align="center"></td>
1725 <td class="broken" align="center"></td>
1726 <td></td>
1727</tr>
1728<tr>
1729 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.4 [over.call]</td>
1730 <td class="na" align="center">N/A</td>
1731 <td class="advanced" align="center"></td>
1732 <td class="advanced" align="center"></td>
1733 <td class="broken" align="center"></td>
1734 <td></td>
1735</tr>
1736<tr>
1737 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.5 [over.sub]</td>
1738 <td class="na" align="center">N/A</td>
1739 <td class="advanced" align="center"></td>
1740 <td class="advanced" align="center"></td>
1741 <td class="broken" align="center"></td>
1742 <td></td>
1743</tr>
1744<tr>
1745 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.6 [over.ref]</td>
1746 <td class="na" align="center">N/A</td>
1747 <td class="advanced" align="center"></td>
1748 <td class="advanced" align="center"></td>
1749 <td class="broken" align="center"></td>
1750 <td></td>
1751</tr>
1752<tr>
1753 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.7 [over.inc]</td>
1754 <td class="na" align="center">N/A</td>
1755 <td class="advanced" align="center"></td>
1756 <td class="advanced" align="center"></td>
1757 <td class="broken" align="center"></td>
1758 <td></td>
1759</tr>
1760<tr>
1761 <td>&nbsp;&nbsp;13.6 [over.built]</td>
1762 <td class="na" align="center">N/A</td>
1763 <td class="advanced" align="center"></td>
1764 <td class="medium" align="center"></td>
1765 <td class="broken" align="center"></td>
1766 <td>Missing pointer-to-member versions (p11, p16) and support for
1767 the ternary operator (p24, p25).</td>
1768</tr>
1769<tr><td>14 [temp]</td><td></td><td></td><td></td><td></td><td></td></tr>
1770<tr><td>&nbsp;&nbsp;14.1 [temp.param]</td><td></td><td></td><td></td><td></td><td></td></tr>
1771<tr><td>&nbsp;&nbsp;14.2 [temp.names]</td><td></td><td></td><td></td><td></td><td></td></tr>
1772<tr><td>&nbsp;&nbsp;14.3 [temp.arg]</td><td></td><td></td><td></td><td></td><td></td></tr>
1773<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.1 [temp.arg.type]</td><td></td><td></td><td></td><td></td><td></td></tr>
1774<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.2 [temp.arg.nontype]</td><td></td><td></td><td></td><td></td><td></td></tr>
1775<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.3 [temp.arg.template]</td><td></td><td></td><td></td><td></td><td></td></tr>
1776<tr><td>&nbsp;&nbsp;14.4 [temp.type]</td><td></td><td></td><td></td><td></td><td></td></tr>
1777<tr><td>&nbsp;&nbsp;14.5 [temp.decls]</td><td></td><td></td><td></td><td></td><td></td></tr>
1778<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.1 [temp.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
1779<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.1 [temp.mem.func]</td><td></td><td></td><td></td><td></td><td></td></tr>
1780<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.2 [temp.mem.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
1781<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.3 [temp.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
1782<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.2 [temp.mem]</td><td></td><td></td><td></td><td></td><td></td></tr>
1783<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.3 [temp.friend]</td><td></td><td></td><td></td><td></td><td></td></tr>
1784<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.4 [temp.class.spec]</td><td></td><td></td><td></td><td></td><td></td></tr>
1785<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.1 [temp.class.spec.match]</td><td></td><td></td><td></td><td></td><td></td></tr>
1786<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.2 [temp.class.order]</td><td></td><td></td><td></td><td></td><td></td></tr>
1787<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.3 [temp.class.spec.mfunc]</td><td></td><td></td><td></td><td></td><td></td></tr>
1788<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.5 [temp.fct]</td><td></td><td></td><td></td><td></td><td></td></tr>
1789<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.1 [temp.over.link]</td><td></td><td></td><td></td><td></td><td></td></tr>
1790<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.2 [temp.func.order]</td><td></td><td></td><td></td><td></td><td></td></tr>
1791<tr><td>&nbsp;&nbsp;14.6 [temp.res]</td><td></td><td></td><td></td><td></td><td></td></tr>
1792<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.1 [temp.local]</td><td></td><td></td><td></td><td></td><td></td></tr>
1793<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.2 [temp.dep]</td><td></td><td></td><td></td><td></td><td></td></tr>
1794<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.1 [temp.dep.type]</td><td></td><td></td><td></td><td></td><td></td></tr>
1795<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.2 [temp.dep.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
1796<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.3 [temp.dep.constexpr]</td><td></td><td></td><td></td><td></td><td></td></tr>
1797<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.4 [temp.dep.temp]</td><td></td><td></td><td></td><td></td><td></td></tr>
1798<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.3 [temp.nondep]</td><td></td><td></td><td></td><td></td><td></td></tr>
1799<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.4 [temp.dep.res]</td><td></td><td></td><td></td><td></td><td></td></tr>
1800<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.4.1 [temp.point]</td><td></td><td></td><td></td><td></td><td></td></tr>
1801<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.4.2 [temp.dep.candidate]</td><td></td><td></td><td></td><td></td><td></td></tr>
1802<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.5 [temp.inject]</td><td></td><td></td><td></td><td></td><td></td></tr>
1803<tr><td>&nbsp;&nbsp;14.7 [temp.spec]</td><td></td><td></td><td></td><td></td><td></td></tr>
1804<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.1 [temp.inst]</td><td></td><td></td><td></td><td></td><td></td></tr>
1805<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.2 [temp.explicit]</td><td></td><td></td><td></td><td></td><td></td></tr>
1806<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.3 [temp.expl.spec]</td><td></td><td></td><td></td><td></td><td></td></tr>
1807<tr><td>&nbsp;&nbsp;14.8 [temp.fct.spec]</td><td></td><td></td><td></td><td></td><td></td></tr>
1808<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.1 [temp.arg.explicit]</td><td></td><td></td><td></td><td></td><td></td></tr>
1809<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.2 [temp.deduct]</td><td></td><td></td><td></td><td></td><td></td></tr>
1810<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.1 [temp.deduct.call]</td><td></td><td></td><td></td><td></td><td></td></tr>
1811<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.2 [temp.deduct.funcaddr]</td><td></td><td></td><td></td><td></td><td></td></tr>
1812<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.3 [temp.deduct.conv]</td><td></td><td></td><td></td><td></td><td></td></tr>
1813<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.4 [temp.deduct.type]</td><td></td><td></td><td></td><td></td><td></td></tr>
1814<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.3 [temp.over]</td><td></td><td></td><td></td><td></td><td></td></tr>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001815<tr>
1816 <td>15 [except]</td>
1817 <td class="complete" align="center">&#x2713;</td>
1818 <td class="complete" align="center">&#x2713;</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00001819 <td class="complete" align="center">&#x2713;</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001820 <td></td>
1821 <td></td>
1822</tr>
1823<tr>
1824 <td>&nbsp;&nbsp;15.1 [except.throw]</td>
1825 <td class="na" align="center">N/A</td>
1826 <td class="na" align="center">N/A</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00001827 <td class="advanced" align="center"></td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001828 <td></td>
Sebastian Redl972041f2009-04-27 20:27:31 +00001829 <td>Does not check for existence of copy constructor and destructor, and some other details</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001830</tr>
1831<tr>
1832 <td>&nbsp;&nbsp;15.2 [except.ctor]</td>
1833 <td class="na" align="center">N/A</td>
1834 <td class="na" align="center">N/A</td>
1835 <td class="na" align="center">N/A</td>
1836 <td></td>
1837 <td></td>
1838</tr>
1839<tr>
1840 <td>&nbsp;&nbsp;15.3 [except.handle]</td>
1841 <td class="na" align="center">N/A</td>
1842 <td class="na" align="center">N/A</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00001843 <td class="advanced" align="center"></td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001844 <td></td>
Sebastian Redl13e88542009-04-27 21:33:24 +00001845 <td>Not all constraints are checked</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001846</tr>
1847<tr>
1848 <td>&nbsp;&nbsp;15.4 [except.spec]</td>
Sebastian Redl7dc81342009-04-29 17:30:04 +00001849 <td class="complete" align="center">&#x2713;</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001850 <td></td>
1851 <td></td>
1852 <td></td>
1853 <td></td>
1854</tr>
1855<tr>
1856 <td>&nbsp;&nbsp;15.5 [except.special]</td>
1857 <td class="na" align="center">N/A</td>
1858 <td class="na" align="center">N/A</td>
1859 <td class="na" align="center">N/A</td>
1860 <td class="na" align="center">N/A</td>
1861 <td></td>
1862</tr>
1863<tr>
1864 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.1 [except.terminate]</td>
1865 <td class="na" align="center">N/A</td>
1866 <td class="na" align="center">N/A</td>
1867 <td class="na" align="center">N/A</td>
1868 <td class="na" align="center">N/A</td>
1869 <td></td>
1870</tr>
1871<tr>
1872 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.2 [except.unexpected]</td>
1873 <td class="na" align="center">N/A</td>
1874 <td class="na" align="center">N/A</td>
1875 <td class="na" align="center">N/A</td>
1876 <td class="na" align="center">N/A</td>
1877 <td></td>
1878</tr>
1879<tr>
1880 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.3 [except.uncaught]</td>
1881 <td class="na" align="center">N/A</td>
1882 <td class="na" align="center">N/A</td>
1883 <td class="na" align="center">N/A</td>
1884 <td class="na" align="center">N/A</td>
1885 <td></td>
1886</tr>
1887<tr>
1888 <td>&nbsp;&nbsp;15.6 [except.access]</td>
1889 <td class="na" align="center">N/A</td>
1890 <td class="na" align="center">N/A</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001891 <td class="na" align="center">N/A</td>
Sebastian Redl972041f2009-04-27 20:27:31 +00001892 <td class="na" align="center">N/A</td>
1893 <td>Redundant - struck from C++0x</td>
Sebastian Redlf331fb42009-04-27 18:25:15 +00001894</tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001895<tr><td>16 [cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
1896<tr><td>&nbsp;&nbsp;16.1 [cpp.cond]</td><td></td><td></td><td></td><td></td><td></td></tr>
1897<tr><td>&nbsp;&nbsp;16.2 [cpp.include]</td><td></td><td></td><td></td><td></td><td></td></tr>
1898<tr><td>&nbsp;&nbsp;16.3 [cpp.replace]</td><td></td><td></td><td></td><td></td><td></td></tr>
1899<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.1 [cpp.subst]</td><td></td><td></td><td></td><td></td><td></td></tr>
1900<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.2 [cpp.stringize]</td><td></td><td></td><td></td><td></td><td></td></tr>
1901<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.3 [cpp.concat]</td><td></td><td></td><td></td><td></td><td></td></tr>
1902<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.4 [cpp.rescan]</td><td></td><td></td><td></td><td></td><td></td></tr>
1903<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.5 [cpp.scope]</td><td></td><td></td><td></td><td></td><td></td></tr>
1904<tr><td>&nbsp;&nbsp;16.4 [cpp.line]</td><td></td><td></td><td></td><td></td><td></td></tr>
1905<tr><td>&nbsp;&nbsp;16.5 [cpp.error]</td><td></td><td></td><td></td><td></td><td></td></tr>
1906<tr><td>&nbsp;&nbsp;16.6 [cpp.pragma]</td><td></td><td></td><td></td><td></td><td></td></tr>
1907<tr><td>&nbsp;&nbsp;16.7 [cpp.null]</td><td></td><td></td><td></td><td></td><td></td></tr>
1908<tr><td>&nbsp;&nbsp;16.8 [cpp.predefined]</td><td></td><td></td><td></td><td></td><td></td></tr>
1909<tr><td>A [gram]</td><td></td><td></td><td></td><td></td><td></td></tr>
1910<tr><td>&nbsp;&nbsp;A.1 [gram.key]</td><td></td><td></td><td></td><td></td><td></td></tr>
1911<tr><td>&nbsp;&nbsp;A.2 [gram.lex]</td><td></td><td></td><td></td><td></td><td></td></tr>
1912<tr><td>&nbsp;&nbsp;A.3 [gram.basic]</td><td></td><td></td><td></td><td></td><td></td></tr>
1913<tr><td>&nbsp;&nbsp;A.4 [gram.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
1914<tr><td>&nbsp;&nbsp;A.5 [gram.stmt]</td><td></td><td></td><td></td><td></td><td></td></tr>
1915<tr><td>&nbsp;&nbsp;A.6 [gram.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
1916<tr><td>&nbsp;&nbsp;A.7 [gram.decl]</td><td></td><td></td><td></td><td></td><td></td></tr>
1917<tr><td>&nbsp;&nbsp;A.8 [gram.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
1918<tr><td>&nbsp;&nbsp;A.9 [gram.derived]</td><td></td><td></td><td></td><td></td><td></td></tr>
1919<tr><td>&nbsp;&nbsp;A.10 [gram.special]</td><td></td><td></td><td></td><td></td><td></td></tr>
1920<tr><td>&nbsp;&nbsp;A.11 [gram.over]</td><td></td><td></td><td></td><td></td><td></td></tr>
1921<tr><td>&nbsp;&nbsp;A.12 [gram.temp]</td><td></td><td></td><td></td><td></td><td></td></tr>
1922<tr><td>&nbsp;&nbsp;A.13 [gram.except]</td><td></td><td></td><td></td><td></td><td></td></tr>
1923<tr><td>&nbsp;&nbsp;A.14 [gram.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
1924<tr><td>B [implimits]</td><td></td><td></td><td></td><td></td><td></td></tr>
1925<tr><td>C [diff]</td><td></td><td></td><td></td><td></td><td></td></tr>
1926<tr><td>&nbsp;&nbsp;C.1 [diff.iso]</td><td></td><td></td><td></td><td></td><td></td></tr>
1927<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.1 [diff.lex]</td><td></td><td></td><td></td><td></td><td></td></tr>
1928<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.2 [diff.basic]</td><td></td><td></td><td></td><td></td><td></td></tr>
1929<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.3 [diff.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
1930<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.4 [diff.stat]</td><td></td><td></td><td></td><td></td><td></td></tr>
1931<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.5 [diff.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
1932<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.6 [diff.decl]</td><td></td><td></td><td></td><td></td><td></td></tr>
1933<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.7 [diff.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
1934<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.8 [diff.special]</td><td></td><td></td><td></td><td></td><td></td></tr>
1935<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.9 [diff.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
1936<tr><td>&nbsp;&nbsp;C.2 [diff.library]</td><td></td><td></td><td></td><td></td><td></td></tr>
1937<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>
1938<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>
1939<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>
1940<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>
1941<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>
1942<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>
1943<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>
1944<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>
1945<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>
1946<tr><td>D [depr]</td><td></td><td></td><td></td><td></td><td></td></tr>
1947<tr><td>&nbsp;&nbsp;D.1 [depr.incr.bool]</td><td></td><td></td><td></td><td></td><td></td></tr>
1948<tr><td>&nbsp;&nbsp;D.2 [depr.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
1949<tr><td>&nbsp;&nbsp;D.3 [depr.access.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
1950<tr><td>&nbsp;&nbsp;D.4 [depr.string]</td><td></td><td></td><td></td><td></td><td></td></tr>
1951<tr><td>&nbsp;&nbsp;D.5 [depr.c.headers]</td><td></td><td></td><td></td><td></td><td></td></tr>
1952<tr><td>E [extendid]</td><td></td><td></td><td></td><td></td><td></td></tr>
1953<tr>
1954 <td colspan="6" align="center" bgcolor="#ffffcc">C++0x Features</td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00001955</tr>
1956<tr>
Cedric Venet3d658642009-02-14 20:20:19 +00001957 <td>Explicit conversion operators (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf">N2437</a>)</td>
1958 <td class="complete" align="center">&#x2713;</td>
1959 <td class="medium" align="center"></td>
1960 <td class="advanced" align="center"></td>
1961 <td class="broken"></td>
1962 <td>No name mangling; ASTs don't contain calls to conversion operators</td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00001963</tr>
1964<tr>
Anders Carlssonc31a0ce2009-03-16 17:28:26 +00001965 <td>Static assertions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.pdf">N1720</a>)</td>
1966 <td class="complete" align="center">&#x2713;</td>
1967 <td class="complete" align="center">&#x2713;</td>
1968 <td class="complete" align="center">&#x2713;</td>
1969 <td class="na">N/A</td>
1970 <td></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00001971</tr>
1972<tr>
Sebastian Redl0b5e7fb2009-04-12 17:41:24 +00001973 <td>Deleted functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm">N2346</a>)</td>
1974 <td class="complete" align="center">&#x2713;</td>
1975 <td class="complete" align="center">&#x2713;</td>
1976 <td class="complete" align="center">&#x2713;</td>
1977 <td class="na">N/A</td>
1978 <td></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00001979</tr>
1980<tr>
Sebastian Redl0b5e7fb2009-04-12 17:41:24 +00001981 <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>
1982 <td class="complete" align="center">&#x2713;</td>
1983 <td class="complete" align="center">&#x2713;</td>
1984 <td class="complete" align="center">&#x2713;</td>
1985 <td class="broken"></td>
1986 <td></td>
Sebastian Redl6e8ed162009-05-10 18:38:11 +00001987</tr>
1988<tr>
1989 <td>nullptr (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">N2431</a>)</td>
1990 <td class="complete" align="center">&#x2713;</td>
1991 <td class="complete" align="center">&#x2713;</td>
1992 <td class="complete" align="center">&#x2713;</td>
1993 <td class="broken"></td>
1994 <td></td>
Cedric Venet3d658642009-02-14 20:20:19 +00001995</tr>
1996
1997</table>
1998
1999</div>
2000</body>
2001</html>