blob: d49d273caddafe44c81bab4ea020092d691fe045 [file] [log] [blame]
Shih-wei Liaof8fd82b2010-02-10 11:10:31 -08001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
3<html>
4<head>
5 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6 <title>Clang - C++ Support</title>
7 <link type="text/css" rel="stylesheet" href="menu.css">
8 <link type="text/css" rel="stylesheet" href="content.css">
9 <style type="text/css">
10 .na { background-color: #C0C0C0; text-align: center; }
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<p>Last updated: $Date: 2010-02-09 08:50:54 -0800 (Tue, 09 Feb 2010) $</p>
28
29<h1>Clang C++ Status</h1>
30
31 <ul>
32 <li><a href="#projects">Projects Building with Clang</a></li>
33 <li><a href="#specification">Implementation Status by Section</a></li>
34 <li><a href="#cxx0x">C++0x Status</a></li>
35 </ul>
36
37<p>Clang currently implements nearly all of the ISO C++ 1998 standard
38(including the defects addressed in the ISO C++ 2003 standard), with
39the few notable exceptions listed below. However, the implementation
40of Clang C++ is still quite immature, with many remaining bugs that
41are likely to cause compiler crashes, erroneous errors and warnings,
42and miscompiled code. The <a href="http://llvm.org/bugs/">LLVM bug
43tracker</a> contains a Clang C++ component that tracks known Clang C++
44bugs.</p>
45
46<p>Clang is currently missing implementations of the following C++98/03 features and common extensions:</p>
47 <ul>
48
49 <li>Access control: Clang does not perform access-control checking
50 at this time, so it will fail to diagnose invalid accesses. Work
51 is underway to implement this feature.</li>
52
53 <li>Friends and friend templates: Clang parses friends and friend
54 templates for the most part, but they are not used in access
55 control and there are a number of problems with friend templates
56 and friends within class templates.</li>
57
58 <li>GNU <a href="http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Strong-Using.html">strong using</a> extension.</li>
59
60 <li>Qualified member accesses that disambiguate the base class in a diamond-shaped inheritance hierarchy.</li>
61
62 </ul>
63
64 <h2 id="projects">Projects Building with Clang</h2>
65
66 <p>Clang is now capable of compiling some language C++ projects, or
67large pieces of such projects. The following table describes various
68projects that we have attempted to compile with Clang along with the results of that attempt.</p>
69
70 <p> At this point in time, each new C++ project typically uncovers
71new bugs. We keep track of these in the <a
72 href="http://llvm.org/bugs/">LLVM bug tracker</a> via tracking bugs,
73which are used to relate all of the bugs known to affect that
74particular project. Introducing a new project in this list typically requires a liason familiar with LLVM or Clang development, who is able to provide detailed bug reports and track progress for the particular project.</p>
75
76<table width="689" border="1" cellspacing="0">
77 <tr>
78 <th>Project</th>
79 <th>Status</th>
80 <th>Last Tested</th>
81 <th>Tracking Bug</th>
82 </tr>
83 <tr>
84 <td><a href="http://clang.llvm.org">Clang</a> and <a href="http://llvm.org">LLVM</a></td>
85 <td>Successful self-hosting achieved</td>
86 <td>Continually</td>
87 <td></td>
88 </tr>
89 <tr>
90 <td><a href="http://www.cmake.org">CMake</a></td>
91 <td>Compiles, passes regression tests (debug build)</td>
92 <td>February 9, 2010</td>
93 <td></td>
94 </tr>
95 <tr>
96 <td><a href="http://qt.nokia.com">Qt</a></td>
97 <td>Partially compiles; miscompilation of uic prevents complete compilation, qmake works, some small examples also.</td>
98 <td>February 9, 2010</td>
99 <td><a href="http://llvm.org/bugs/show_bug.cgi?id=5881">PR5881</a></td>
100 </tr>
101 <tr>
102 <td><a href="http://www.boost.org">Boost</a></td>
103 <td>Some libraries (e.g., Boost.MPL) successfully build and pass regression tests, the majority still fail.</td>
104 <td>February 5, 2010</td>
105 <td><a href="http://llvm.org/bugs/show_bug.cgi?id=6023">PR6023</a></td>
106 </tr>
107</table>
108
109 <h2 id="specification">Implementation Status by Section</h2>
110
111
112<!-- Within this table: The colors we're using to color-code our level
113of support for a given section:
114
115 White (no background): not considered/tested.
116 #C11B17: Broken.
117 #F88017: Some useful examples work
118 #FDD017: Many examples work
119 #347C17: Nearly everything works
120 #00FF00 + check mark: Implementation complete!
121 -->
122
123<p>The following table is used to help track our implementation
124 progress toward implementing the complete C++03 standard. We use a
125 simple, somewhat arbitrary color-coding scheme to describe the
126 relative completeness of features by section:</p>
127
128<table width="689" border="1" cellspacing="0">
129 <tr>
130 <th>Not started/not evaluated</th>
131 <th>Not Applicable</th>
132 <th>Broken</th>
133 <th>Some examples work</th>
134 <th>Many examples work</th>
135 <th>Nearly everything works</th>
136 <th>Complete</th>
137 <th>Complete (with tests for each paragraph)</th>
138 </tr>
139 <tr>
140 <td></td>
141 <td class="na">N/A</td>
142 <td class="broken"></td>
143 <td class="basic"></td>
144 <td class="medium"></td>
145 <td class="advanced"></td>
146 <td class="complete"></td>
147 <td class="complete" align="center">&#x2713;</td>
148 </tr>
149</table>
150
151<p>A feature is "complete" when the appropriate Clang component (Parse, AST,
152Sema, CodeGen) implements the behavior described in all of the
153paragraphs in the relevant C++ standard. Note that many C++ features are
154actually described in several different sections within the standard. The major components are:</p>
155
156<dl>
157 <dt>Parse</dt>
158 <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>
159
160 <dt>AST</dt>
161 <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>
162
163 <dt>Sema</dt>
164 <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>
165
166 <dt>CodeGen</dt>
167 <dd>Clang parses, type-checks, and generates code for this feature, allowing one to compile and execute programs.</dd>
168</dl>
169
170<p>Updates to this table are welcome! Since Clang already supports
171much of C, and therefore much C++, many of the currently-white cells
172could be filled in. If you wish to do so, please compare Clang's
173implementation against the C++ standard and provide a patch that
174updates the table accordingly. Tests for the various features are also
175welcome!</p>
176
177<table width="689" border="1" cellspacing="0">
178 <tr>
179 <th>Section</th>
180 <th>Parse</th>
181 <th>AST</th>
182 <th>Sema</th>
183 <th>CodeGen</th>
184 <th>Notes</th>
185 </tr>
186<tr>
187 <td>2 [lex]</td>
188 <td class="complete" align="center"></td>
189 <td class="na">N/A</td>
190 <td class="na">N/A</td>
191 <td class="na">N/A</td>
192 <td></td>
193</tr>
194<tr>
195 <td>&nbsp;&nbsp;2.1 [lex.phases]</td>
196 <td class="advanced" align="center"></td>
197 <td class="na">N/A</td>
198 <td class="na">N/A</td>
199 <td class="na">N/A</td>
200 <td>Extended characters aren't handled.</td>
201</tr>
202<tr>
203 <td>&nbsp;&nbsp;2.2 [lex.charset]</td>
204 <td class="basic"></td>
205 <td class="na">N/A</td>
206 <td class="na">N/A</td>
207 <td class="na">N/A</td>
208 <td>No support for extended characters.</td>
209</tr>
210<tr>
211 <td>&nbsp;&nbsp;2.3 [lex.trigraph]</td>
212 <td class="complete" align="center"></td>
213 <td class="na">N/A</td>
214 <td class="na">N/A</td>
215 <td class="na">N/A</td>
216 <td></td>
217</tr>
218<tr>
219 <td>&nbsp;&nbsp;2.4 [lex.pptoken]</td>
220 <td class="complete" align="center"></td>
221 <td class="na">N/A</td>
222 <td class="na">N/A</td>
223 <td class="na">N/A</td>
224 <td></td>
225</tr>
226<tr>
227 <td>&nbsp;&nbsp;2.5 [lex.digraph]</td>
228 <td class="complete" align="center"></td>
229 <td class="na">N/A</td>
230 <td class="na">N/A</td>
231 <td class="na">N/A</td>
232 <td></td>
233</tr>
234<tr>
235 <td>&nbsp;&nbsp;2.6 [lex.token]</td>
236 <td class="complete" align="center"></td>
237 <td class="na">N/A</td>
238 <td class="na">N/A</td>
239 <td class="na">N/A</td>
240 <td></td>
241</tr>
242<tr>
243 <td>&nbsp;&nbsp;2.7 [lex.comment]</td>
244 <td class="advanced" align="center"></td>
245 <td></td>
246 <td class="na">N/A</td>
247 <td class="na">N/A</td>
248 <td>NDR "form feed or vtab in comment" is not diagnosed.</td>
249</tr>
250<tr>
251 <td>&nbsp;&nbsp;2.8 [lex.header]</td>
252 <td class="complete" align="center"></td>
253 <td class="na">N/A</td>
254 <td class="na">N/A</td>
255 <td class="na">N/A</td>
256 <td></td>
257</tr>
258<tr>
259 <td>&nbsp;&nbsp;2.9 [lex.ppnumber]</td>
260 <td class="complete" align="center"></td>
261 <td class="na">N/A</td>
262 <td class="na">N/A</td>
263 <td class="na">N/A</td>
264 <td></td>
265</tr>
266<tr>
267 <td>&nbsp;&nbsp;2.10 [lex.name]</td>
268 <td class="advanced" align="center"></td>
269 <td class="na">N/A</td>
270 <td class="na">N/A</td>
271 <td class="na">N/A</td>
272 <td>No support for extended characters</td>
273</tr>
274<tr>
275 <td>&nbsp;&nbsp;2.11 [lex.key]</td>
276 <td class="complete" align="center"></td>
277 <td class="na">N/A</td>
278 <td class="na">N/A</td>
279 <td class="na">N/A</td>
280 <td></td>
281</tr>
282<tr>
283 <td>&nbsp;&nbsp;2.12 [lex.operators]</td>
284 <td class="complete" align="center"></td>
285 <td class="na">N/A</td>
286 <td class="na">N/A</td>
287 <td class="na">N/A</td>
288 <td></td>
289</tr>
290<tr>
291 <td>&nbsp;&nbsp;2.13 [lex.literal]</td>
292 <td class="complete" align="center"></td>
293 <td class="na">N/A</td>
294 <td class="na">N/A</td>
295 <td class="na">N/A</td>
296 <td></td>
297</tr>
298<tr>
299 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.1 [lex.icon]</td>
300 <td class="complete" align="center"></td>
301 <td class="na">N/A</td>
302 <td class="na">N/A</td>
303 <td class="na">N/A</td>
304 <td></td>
305</tr>
306<tr>
307 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.2 [lex.ccon]</td>
308 <td class="advanced" align="center"></td>
309 <td class="na">N/A</td>
310 <td class="na">N/A</td>
311 <td class="na">N/A</td>
312 <td>Poor support for extended characters</td>
313</tr>
314<tr>
315 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.3 [lex.fcon]</td>
316 <td class="complete" align="center"></td>
317 <td class="na">N/A</td>
318 <td class="na">N/A</td>
319 <td class="na">N/A</td>
320 <td></td>
321</tr>
322<tr>
323 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.4 [lex.string]</td>
324 <td class="advanced" align="center"></td>
325 <td class="na">N/A</td>
326 <td class="na">N/A</td>
327 <td class="na">N/A</td>
328 <td>Poor support for extended characters</td>
329</tr>
330<tr>
331 <td>&nbsp;&nbsp;&nbsp;&nbsp;2.13.5 [lex.bool]</td>
332 <td class="complete" align="center"></td>
333 <td class="na">N/A</td>
334 <td class="na">N/A</td>
335 <td class="na">N/A</td>
336 <td></td>
337</tr>
338<tr>
339<td>3 [basic]</td>
340 <td class="na">N/A</td>
341 <td class="na">N/A</td>
342 <td class="na">N/A</td>
343 <td class="na">N/A</td>
344 <td></td>
345</tr>
346<tr>
347 <td>&nbsp;&nbsp;3.1 [basic.def]</td>
348 <td></td>
349 <td></td>
350 <td></td>
351 <td class="na">N/A</td>
352 <td></td>
353</tr>
354<tr>
355 <td>&nbsp;&nbsp;3.2 [basic.def.odr]</td>
356 <td></td>
357 <td></td>
358 <td></td>
359 <td></td>
360 <td></td>
361</tr>
362<tr>
363 <td>&nbsp;&nbsp;3.3 [basic.scope]</td>
364 <td class="na">N/A</td>
365 <td class="na">N/A</td>
366 <td class="complete" align="center"></td>
367 <td class="na">N/A</td>
368 <td></td>
369</tr>
370<tr>
371 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.1 [basic.scope.pdecl]</td>
372 <td class="na">N/A</td>
373 <td class="na">N/A</td>
374 <td class="complete" align="center"></td>
375 <td class="na">N/A</td>
376 <td></td>
377</tr>
378<tr>
379 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.2 [basic.scope.local]</td>
380 <td class="na">N/A</td>
381 <td class="na">N/A</td>
382 <td class="complete" align="center"></td>
383 <td class="na">N/A</td>
384 <td></td>
385</tr>
386<tr>
387 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.3 [basic.scope.proto]</td>
388 <td class="na">N/A</td>
389 <td class="na">N/A</td>
390 <td class="complete" align="center"></td>
391 <td class="na">N/A</td>
392 <td></td>
393</tr>
394<tr>
395 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.4 [basic.funscope]</td>
396 <td class="na">N/A</td>
397 <td class="na">N/A</td>
398 <td class="complete" align="center"></td>
399 <td class="na">N/A</td>
400 <td></td>
401</tr>
402<tr>
403 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.5 [basic.scope.namespace]</td>
404 <td class="na">N/A</td>
405 <td class="na">N/A</td>
406 <td class="complete"></td>
407 <td class="na">N/A</td>
408 <td></td>
409</tr>
410<tr>
411 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.6 [basic.scope.class]</td>
412 <td class="na">N/A</td>
413 <td class="na">N/A</td>
414 <td class="advanced"></td>
415 <td class="na">N/A</td>
416 <td>Does not check that reordering the members of a class maintains semantics.</td>
417</tr>
418<tr>
419 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.3.7 [basic.scope.hiding]</td>
420 <td class="na">N/A</td>
421 <td class="na">N/A</td>
422 <td class="complete" align="center"></td>
423 <td class="na">N/A</td>
424 <td></td>
425</tr>
426<tr>
427 <td>&nbsp;&nbsp;3.4 [basic.lookup]</td>
428 <td class="na">N/A</td>
429 <td class="na">N/A</td>
430 <td class="complete" align="center"></td>
431 <td class="na">N/A</td>
432 <td></td>
433</tr>
434<tr>
435 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.1 [basic.lookup.unqual]</td>
436 <td class="na">N/A</td>
437 <td class="na">N/A</td>
438 <td class="advanced"></td>
439 <td class="na">N/A</td>
440 <td></td>
441</tr>
442<tr>
443 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.2 [basic.lookup.argdep]</td>
444 <td class="na">N/A</td>
445 <td class="na">N/A</td>
446 <td class="complete"></td>
447 <td class="na">N/A</td>
448 <td></td>
449</tr>
450<tr>
451 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.3 [basic.lookup.qual]</td>
452 <td class="na">N/A</td>
453 <td class="na">N/A</td>
454 <td class="advanced"></td>
455 <td class="na">N/A</td>
456 <td></td>
457</tr>
458<tr>
459 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.4.3.1 [class.qual]</td>
460 <td class="na">N/A</td>
461 <td class="na">N/A</td>
462 <td class="advanced"></td>
463 <td class="na">N/A</td>
464 <td></td>
465</tr>
466<tr>
467 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.4.3.2 [namespace.qual]</td>
468 <td class="na">N/A</td>
469 <td class="na">N/A</td>
470 <td class="advanced"></td>
471 <td class="na">N/A</td>
472 <td></td>
473</tr>
474<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.4 [basic.lookup.elab]</td><td></td><td></td><td></td><td></td><td></td></tr>
475<tr>
476 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.5 [basic.lookup.classref]</td>
477 <td class="na">N/A</td>
478 <td class="na">N/A</td>
479 <td class="advanced"></td>
480 <td class="na">N/A</td>
481 <td>Missing ambiguity/consistency checks for paragraphs 3 (~type-name) and 7 (conversion-type-id)</td>
482</tr>
483<tr>
484 <td>&nbsp;&nbsp;&nbsp;&nbsp;3.4.6 [basic.lookup.udir]</td>
485 <td class="na">N/A</td>
486 <td class="na">N/A</td>
487 <td class="medium"></td>
488 <td class="na">N/A</td>
489 <td></td>
490</tr>
491<tr><td>&nbsp;&nbsp;3.5 [basic.link]</td><td></td><td></td><td></td><td></td><td></td></tr>
492<tr><td>&nbsp;&nbsp;3.6 [basic.start]</td><td></td><td></td><td></td><td></td><td></td></tr>
493<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.1 [basic.start.main]</td><td></td><td></td><td></td><td></td><td></td></tr>
494<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.2 [basic.start.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
495<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.6.3 [basic.start.term]</td><td></td><td></td><td></td><td></td><td></td></tr>
496<tr><td>&nbsp;&nbsp;3.7 [basic.stc]</td><td></td><td></td><td></td><td></td><td></td></tr>
497<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.1 [basic.stc.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
498<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.2 [basic.stc.auto]</td><td></td><td></td><td></td><td></td><td></td></tr>
499<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.3 [basic.stc.dynamic]</td><td></td><td></td><td></td><td></td><td></td></tr>
500<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>
501<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>
502<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.7.4 [basic.stc.inherit]</td><td></td><td></td><td></td><td></td><td></td></tr>
503<tr><td>&nbsp;&nbsp;3.8 [basic.life]</td><td></td><td></td><td></td><td></td><td></td></tr>
504<tr><td>&nbsp;&nbsp;3.9 [basic.types]</td><td></td><td></td><td></td><td></td><td></td></tr>
505<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.1 [basic.fundamental]</td><td></td><td></td><td></td><td></td><td></td></tr>
506<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.2 [basic.compound]</td><td></td><td></td><td></td><td></td><td></td></tr>
507<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;3.9.3 [basic.type.qualifier]</td><td></td><td></td><td></td><td></td><td></td></tr>
508<tr><td>&nbsp;&nbsp;3.10 [basic.lval]</td><td></td><td></td><td></td><td></td><td></td></tr>
509<tr>
510 <td>4 [conv]</td>
511 <td class="complete" align="center"></td>
512 <td class="complete" align="center"></td>
513 <td class="complete" align="center"></td>
514 <td></td>
515 <td></td>
516</tr>
517<tr>
518 <td>&nbsp;&nbsp;4.1 [conv.lval]</td>
519 <td class="complete" align="center"></td>
520 <td class="complete" align="center"></td>
521 <td class="advanced" align="center"></td> <!-- p2: sizeof -->
522 <td></td>
523 <td></td>
524</tr>
525<tr>
526 <td>&nbsp;&nbsp;4.2 [conv.array]</td>
527 <td class="complete" align="center"></td>
528 <td class="complete" align="center"></td>
529 <td class="complete" align="center"></td>
530 <td></td>
531 <td></td>
532</tr>
533<tr>
534 <td>&nbsp;&nbsp;4.3 [conv.func]</td>
535 <td class="complete" align="center"></td>
536 <td class="complete" align="center"></td>
537 <td class="advanced" align="center"></td>
538 <td></td>
539 <td></td>
540</tr>
541<tr>
542 <td>&nbsp;&nbsp;4.4 [conv.qual]</td>
543 <td class="complete" align="center"></td>
544 <td class="complete" align="center"></td>
545 <td class="complete" align="center"></td>
546 <td></td>
547 <td></td>
548</tr>
549<tr>
550 <td>&nbsp;&nbsp;4.5 [conv.prom]</td>
551 <td class="complete" align="center"></td>
552 <td class="complete" align="center"></td>
553 <td class="complete" align="center"></td>
554 <td></td>
555 <td></td>
556</tr>
557<tr>
558 <td>&nbsp;&nbsp;4.6 [conv.fpprom]</td>
559 <td class="complete" align="center"></td>
560 <td class="complete" align="center"></td>
561 <td class="complete" align="center"></td>
562 <td></td>
563 <td></td>
564</tr>
565<tr>
566 <td>&nbsp;&nbsp;4.7 [conv.integral]</td>
567 <td class="complete" align="center"></td>
568 <td class="complete" align="center"></td>
569 <td class="complete" align="center"></td>
570 <td></td>
571 <td></td>
572</tr>
573<tr>
574 <td>&nbsp;&nbsp;4.8 [conv.double]</td>
575 <td class="complete" align="center"></td>
576 <td class="complete" align="center"></td>
577 <td class="complete" align="center"></td>
578 <td></td>
579 <td></td>
580</tr>
581<tr>
582 <td>&nbsp;&nbsp;4.9 [conv.fpint]</td>
583 <td class="complete" align="center"></td>
584 <td class="complete" align="center"></td>
585 <td class="complete" align="center"></td>
586 <td></td>
587 <td></td>
588</tr>
589<tr>
590 <td>&nbsp;&nbsp;4.10 [conv.ptr]</td>
591 <td class="complete" align="center"></td>
592 <td class="complete" align="center"></td>
593 <td class="complete" align="center"></td>
594 <td></td>
595 <td></td>
596</tr>
597<tr>
598 <td>&nbsp;&nbsp;4.11 [conv.mem]</td>
599 <td class="complete" align="center"></td>
600 <td class="complete" align="center"></td>
601 <td class="complete" align="center"></td>
602 <td></td>
603 <td></td>
604</tr>
605<tr>
606 <td>&nbsp;&nbsp;4.12 [conv.bool]</td>
607 <td class="complete" align="center"></td>
608 <td class="complete" align="center"></td>
609 <td class="complete" align="center"></td>
610 <td></td>
611 <td></td>
612</tr>
613<tr>
614 <td>5 [expr]</td>
615 <td class="na">N/A</td>
616 <td class="na">N/A</td>
617 <td class="complete" align="center">&#x2713;</td>
618 <td class="na">N/A</td>
619 <td></td>
620</tr>
621<tr>
622 <td>&nbsp;&nbsp;5.1 [expr.prim]</td>
623 <td class="advanced" align="center"></td>
624 <td class="advanced" align="center"></td>
625 <td class="advanced" align="center"></td>
626 <td></td>
627 <td></td>
628</tr>
629<tr><td>&nbsp;&nbsp;5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td></td></tr>
630<tr>
631 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.1 [expr.sub]</td>
632 <td class="complete" align="center"></td>
633 <td class="complete" align="center"></td>
634 <td class="complete" align="center"></td>
635 <td></td>
636 <td></td>
637</tr>
638<tr>
639 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.2 [expr.call]</td>
640 <td class="complete" align="center"></td>
641 <td class="complete" align="center"></td>
642 <td class="advanced" align="center"></td>
643 <td></td>
644 <td></td>
645</tr>
646<tr>
647 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.3 [expr.type.conv]</td>
648 <td class="complete" align="center"></td>
649 <td class="advanced" align="center"></td>
650 <td class="advanced"></td>
651 <td></td>
652 <td></td>
653</tr>
654<tr>
655 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.4 [expr.pseudo]</td>
656 <td class="complete"></td>
657 <td class="complete"></td>
658 <td class="complete"></td>
659 <td class="complete"></td>
660 <td></td>
661</tr>
662<tr>
663 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.5 [expr.ref]</td>
664 <td class="complete" align="center"></td>
665 <td class="complete"></td>
666 <td class="complete"></td>
667 <td></td>
668 <td></td>
669</tr>
670<tr>
671 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.6 [expr.post.incr]</td>
672 <td class="complete" align="center"></td>
673 <td class="complete" align="center"></td>
674 <td class="complete" align="center"></td>
675 <td></td>
676 <td></td>
677</tr>
678<tr>
679 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.7 [expr.dynamic.cast]</td>
680 <td class="complete" align="center"></td>
681 <td class="complete" align="center"></td>
682 <td class="complete" align="center"></td>
683 <td></td>
684 <td></td>
685</tr>
686<tr>
687 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.8 [expr.typeid]</td>
688 <td class="complete" align="center"></td>
689 <td class="complete" align="center"></td>
690 <td class="complete" align="center"></td>
691 <td></td>
692 <td></td>
693</tr>
694<tr>
695 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.9 [expr.static.cast]</td>
696 <td class="complete" align="center"></td>
697 <td class="advanced" align="center"></td>
698 <td class="advanced" align="center"></td>
699 <td></td>
700 <td></td>
701</tr>
702<tr>
703 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.10 [expr.reinterpret.cast]</td>
704 <td class="complete" align="center"></td>
705 <td class="complete" align="center"></td>
706 <td class="complete" align="center"></td>
707 <td></td>
708 <td></td>
709</tr>
710<tr>
711 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.2.11 [expr.const.cast]</td>
712 <td class="complete" align="center"></td>
713 <td class="complete" align="center"></td>
714 <td class="complete" align="center"></td>
715 <td></td>
716 <td></td>
717</tr>
718<tr><td>&nbsp;&nbsp;5.3 [expr.unary]</td><td></td><td></td><td></td><td></td><td></td></tr>
719<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.1 [expr.unary.op]</td><td></td><td></td><td></td><td></td><td></td></tr>
720<tr>
721 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p1 Unary *</td>
722 <td class="complete" align="center"></td>
723 <td class="complete" align="center"></td>
724 <td class="complete" align="center"></td>
725 <td></td>
726 <td></td>
727</tr>
728<tr>
729 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p2-5 Unary &amp;</td>
730 <td class="complete" align="center"></td>
731 <td class="complete" align="center"></td>
732 <td class="complete" align="center"></td>
733 <td></td>
734 <td></td>
735</tr>
736<tr>
737 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p6 Unary +</td>
738 <td class="complete" align="center"></td>
739 <td class="complete" align="center"></td>
740 <td class="complete" align="center"></td>
741 <td></td>
742 <td></td>
743</tr>
744<tr>
745 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p7 Unary -</td>
746 <td class="complete" align="center"></td>
747 <td class="complete" align="center"></td>
748 <td class="complete" align="center"></td>
749 <td></td>
750 <td></td>
751</tr>
752<tr>
753 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p8 Unary !</td>
754 <td class="complete" align="center"></td>
755 <td class="complete" align="center"></td>
756 <td class="complete" align="center"></td>
757 <td></td>
758 <td></td>
759</tr>
760<tr>
761 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.3.1p9 Unary ~</td>
762 <td class="complete" align="center"></td>
763 <td class="complete" align="center"></td>
764 <td class="complete" align="center"></td>
765 <td></td>
766 <td></td>
767</tr>
768<tr>
769 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.2 [expr.pre.incr]</td>
770 <td class="complete" align="center"></td>
771 <td class="complete" align="center"></td>
772 <td class="complete" align="center"></td>
773 <td></td>
774 <td></td>
775</tr>
776<tr>
777 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.3 [expr.sizeof]</td>
778 <td class="complete" align="center"></td>
779 <td class="complete" align="center"></td>
780 <td class="complete" align="center"></td>
781 <td></td>
782 <td></td>
783</tr>
784<tr>
785 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.4 [expr.new]</td>
786 <td class="complete" align="center"></td>
787 <td class="complete" align="center"></td>
788 <td class="advanced" align="center"></td>
789 <td></td>
790 <td>operator delete is not looked up, initialization not quite correct</td>
791</tr>
792<tr>
793 <td>&nbsp;&nbsp;&nbsp;&nbsp;5.3.5 [expr.delete]</td>
794 <td class="complete" align="center"></td>
795 <td class="complete" align="center"></td>
796 <td class="complete" align="center"></td>
797 <td></td>
798 <td></td>
799</tr>
800<tr>
801 <td>&nbsp;&nbsp;5.4 [expr.cast]</td>
802 <td class="complete" align="center"></td>
803 <td class="advanced" align="center"></td>
804 <td class="advanced"></td>
805 <td></td>
806 <td></td>
807</tr>
808<tr>
809 <td>&nbsp;&nbsp;5.5 [expr.mptr.oper]</td>
810 <td class="complete" align="center"></td>
811 <td class="advanced"></td>
812 <td class="advanced"></td>
813 <td></td>
814 <td>Dereferenced member function pointers have the wrong type(see FIXME in CheckPointerToMemberOperands).</td>
815</tr>
816<tr>
817 <td>&nbsp;&nbsp;5.6 [expr.mul]</td>
818 <td class="complete" align="center"></td>
819 <td class="complete" align="center"></td>
820 <td class="complete" align="center"></td>
821 <td></td>
822 <td></td>
823</tr>
824<tr>
825 <td>&nbsp;&nbsp;5.7 [expr.add]</td>
826 <td class="complete" align="center"></td>
827 <td class="complete" align="center"></td>
828 <td class="complete" align="center"></td>
829 <td></td>
830 <td></td>
831</tr>
832<tr>
833 <td>&nbsp;&nbsp;5.8 [expr.shift]</td>
834 <td class="complete" align="center"></td>
835 <td class="complete" align="center"></td>
836 <td class="complete" align="center"></td>
837 <td></td>
838 <td></td>
839</tr>
840<tr>
841 <td>&nbsp;&nbsp;5.9 [expr.rel]</td>
842 <td class="complete" align="center"></td>
843 <td class="complete" align="center"></td>
844 <td class="complete" align="center"></td>
845 <td></td>
846 <td></td>
847</tr>
848<tr>
849 <td>&nbsp;&nbsp;5.10 [expr.eq]</td>
850 <td class="complete" align="center"></td>
851 <td class="complete" align="center"></td>
852 <td class="complete" align="center"></td>
853 <td></td>
854 <td></td>
855</tr>
856<tr>
857 <td>&nbsp;&nbsp;5.11 [expr.bit.and]</td>
858 <td class="complete" align="center"></td>
859 <td class="complete" align="center"></td>
860 <td class="complete" align="center"></td>
861 <td></td>
862 <td></td>
863</tr>
864<tr>
865 <td>&nbsp;&nbsp;5.12 [expr.xor]</td>
866 <td class="complete" align="center"></td>
867 <td class="complete" align="center"></td>
868 <td class="complete" align="center"></td>
869 <td></td>
870 <td></td>
871</tr>
872<tr>
873 <td>&nbsp;&nbsp;5.13 [expr.or]</td>
874 <td class="complete" align="center"></td>
875 <td class="complete" align="center"></td>
876 <td class="complete" align="center"></td>
877 <td></td>
878 <td></td>
879</tr>
880<tr>
881 <td>&nbsp;&nbsp;5.14 [expr.log.and]</td>
882 <td class="complete" align="center"></td>
883 <td class="complete" align="center"></td>
884 <td class="complete" align="center"></td>
885 <td></td>
886 <td></td>
887</tr>
888<tr>
889 <td>&nbsp;&nbsp;5.15 [expr.log.or]</td>
890 <td class="complete" align="center"></td>
891 <td class="complete" align="center"></td>
892 <td class="complete" align="center"></td>
893 <td></td>
894 <td></td>
895</tr>
896<tr>
897 <td>&nbsp;&nbsp;5.16 [expr.cond]</td>
898 <td class="complete" align="center"></td>
899 <td class="complete" align="center"></td>
900 <td class="complete" align="center"></td>
901 <td></td>
902 <td>some invalid hierarchy casts still accepted, but that's a general problem</td>
903</tr>
904<tr>
905 <td>&nbsp;&nbsp;5.17 [expr.ass]</td>
906 <td class="complete" align="center"></td>
907 <td class="complete" align="center"></td>
908 <td class="complete" align="center"></td>
909 <td></td>
910 <td></td>
911</tr>
912<tr>
913 <td>&nbsp;&nbsp;5.18 [expr.comma]</td>
914 <td class="complete" align="center"></td>
915 <td class="complete" align="center"></td>
916 <td class="complete" align="center"></td>
917 <td></td>
918 <td></td>
919</tr>
920<tr>
921 <td>&nbsp;&nbsp;5.19 [expr.const]</td>
922 <td class="complete" align="center"></td>
923 <td class="complete" align="center"></td>
924 <td class="basic"></td>
925 <td></td>
926 <td>Uses C semantics</td>
927</tr>
928<tr>
929 <td>6 [stmt.stmt]</td>
930 <td class="complete" align="center"></td>
931 <td class="complete" align="center"></td>
932 <td class="complete" align="center"></td>
933 <td></td>
934 <td></td>
935</tr>
936<tr>
937 <td>&nbsp;&nbsp;6.1 [stmt.label]</td>
938 <td class="complete" align="center"></td>
939 <td class="complete" align="center"></td>
940 <td class="complete" align="center"></td>
941 <td></td>
942 <td></td>
943</tr>
944<tr>
945 <td>&nbsp;&nbsp;6.2 [stmt.expr]</td>
946 <td class="complete" align="center"></td>
947 <td class="complete" align="center"></td>
948 <td class="complete" align="center"></td>
949 <td></td>
950 <td></td>
951</tr>
952<tr>
953 <td>&nbsp;&nbsp;6.3 [stmt.block]</td>
954 <td class="complete" align="center"></td>
955 <td class="complete" align="center"></td>
956 <td class="complete" align="center"></td>
957 <td></td>
958 <td></td>
959</tr>
960<tr>
961 <td>&nbsp;&nbsp;6.4 [stmt.select]</td>
962 <td class="complete" align="center"></td>
963 <td class="complete" align="center"></td>
964 <td class="advanced" align="center"></td>
965 <td></td>
966 <td>Conversion of declarations to required types not really supported.</td>
967</tr>
968<tr>
969 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.4.1 [stmt.if]</td>
970 <td class="complete" align="center"></td>
971 <td class="complete" align="center"></td>
972 <td class="complete" align="center"></td>
973 <td></td>
974 <td></td>
975</tr>
976<tr>
977 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.4.2 [stmt.switch]</td>
978 <td class="complete" align="center"></td>
979 <td class="complete" align="center"></td>
980 <td class="complete" align="center"></td>
981 <td></td>
982 <td></td>
983</tr>
984<tr>
985 <td>&nbsp;&nbsp;6.5 [stmt.iter]</td>
986 <td class="complete" align="center"></td>
987 <td class="complete" align="center"></td>
988 <td class="advanced" align="center"></td>
989 <td></td>
990 <td>Conversion of declarations to required types not really supported.</td>
991</tr>
992<tr>
993 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.1 [stmt.while]</td>
994 <td class="complete" align="center"></td>
995 <td class="complete" align="center"></td>
996 <td class="complete" align="center"></td>
997 <td></td>
998 <td></td>
999</tr>
1000<tr>
1001 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.2 [stmt.do]</td>
1002 <td class="complete" align="center"></td>
1003 <td class="complete" align="center"></td>
1004 <td class="complete" align="center"></td>
1005 <td></td>
1006 <td></td>
1007</tr>
1008<tr>
1009 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.5.3 [stmt.for]</td>
1010 <td class="complete" align="center"></td>
1011 <td class="complete" align="center"></td>
1012 <td class="complete" align="center"></td>
1013 <td></td>
1014 <td></td>
1015</tr>
1016<tr>
1017 <td>&nbsp;&nbsp;6.6 [stmt.jump]</td>
1018 <td class="complete" align="center"></td>
1019 <td class="complete" align="center"></td>
1020 <td class="complete" align="center"></td>
1021 <td></td>
1022 <td></td>
1023</tr>
1024<tr>
1025 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.1 [stmt.break]</td>
1026 <td class="complete" align="center"></td>
1027 <td class="complete" align="center"></td>
1028 <td class="complete" align="center"></td>
1029 <td></td>
1030 <td></td>
1031</tr>
1032<tr>
1033 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.2 [stmt.cont]</td>
1034 <td class="complete" align="center"></td>
1035 <td class="complete" align="center"></td>
1036 <td class="complete" align="center"></td>
1037 <td></td>
1038 <td></td>
1039</tr>
1040<tr>
1041 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.3 [stmt.return]</td>
1042 <td class="complete" align="center"></td>
1043 <td class="complete" align="center"></td>
1044 <td class="complete" align="center"></td>
1045 <td></td>
1046 <td></td>
1047</tr>
1048<tr>
1049 <td>&nbsp;&nbsp;&nbsp;&nbsp;6.6.4 [stmt.goto]</td>
1050 <td class="complete" align="center"></td>
1051 <td class="complete" align="center"></td>
1052 <td class="complete" align="center"></td>
1053 <td></td>
1054 <td></td>
1055</tr>
1056<tr>
1057 <td>&nbsp;&nbsp;6.7 [stmt.dcl]</td>
1058 <td class="complete" align="center"></td>
1059 <td class="complete" align="center"></td>
1060 <td class="advanced" align="center"></td>
1061 <td></td>
1062 <td>Existence and accessibility of destructors is not tested for.</td>
1063</tr>
1064<tr>
1065 <td>&nbsp;&nbsp;6.8 [stmt.ambig]</td>
1066 <td class="complete" align="center"></td>
1067 <td class="complete" align="center"></td>
1068 <td class="complete" align="center"></td>
1069 <td></td>
1070 <td></td>
1071</tr>
1072<tr><td>7 [dcl.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
1073<tr><td>
1074 &nbsp;&nbsp;7.1 [dcl.spec]</td>
1075 <td class="advanced" align="center"></td>
1076 <td class="advanced" align="center"></td>
1077 <td class="advanced" align="center"></td>
1078 <td></td>
1079 <td></td>
1080</tr>
1081<tr>
1082 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.1 [dcl.stc]</td>
1083 <td class="complete" align="center"></td>
1084 <td class="advanced" align="center"></td>
1085 <td class="advanced" align="center"></td>
1086 <td></td>
1087 <td>Linkage merging has some errors.</td>
1088</tr>
1089<tr>
1090 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.2 [dcl.fct.spec]</td>
1091 <td class="complete" align="center"></td>
1092 <td class="complete" align="center"></td>
1093 <td class="complete" align="center"></td>
1094 <td></td>
1095 <td></td>
1096</tr>
1097<tr>
1098 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.3 [dcl.typedef]</td>
1099 <td class="complete" align="center"></td>
1100 <td class="complete" align="center"></td>
1101 <td class="complete" align="center"></td>
1102 <td class="complete" align="center"></td>
1103 <td></td>
1104</tr>
1105<tr>
1106 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.4 [dcl.friend]</td>
1107 <td class="medium"></td>
1108 <td class="medium"></td>
1109 <td class="medium"></td>
1110 <td></td>
1111 <td></td>
1112</tr>
1113<tr>
1114 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.1.5 [dcl.type]</td>
1115 <td class="complete" align="center"></td>
1116 <td class="complete" align="center"></td>
1117 <td class="complete" align="center"></td>
1118 <td></td>
1119 <td></td>
1120</tr>
1121<tr>
1122 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.1 [dcl.type.cv]</td>
1123 <td class="complete" align="center"></td>
1124 <td class="complete" align="center"></td>
1125 <td class="complete" align="center"></td>
1126 <td></td>
1127 <td></td>
1128</tr>
1129<tr>
1130 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.2 [dcl.type.simple]</td>
1131 <td class="advanced"></td>
1132 <td class="advanced"></td>
1133 <td class="advanced"></td>
1134 <td></td>
1135 <td></td>
1136</tr>
1137<tr>
1138 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.5.3 [dcl.type.elab]</td>
1139 <td class="advanced"></td>
1140 <td class="advanced"></td>
1141 <td class="advanced"></td>
1142 <td></td>
1143 <td></td>
1144</tr>
1145<tr>
1146 <td>&nbsp;&nbsp;7.2 [dcl.enum]</td>
1147 <td class="complete" align="center"></td>
1148 <td class="complete" align="center"></td>
1149 <td class="complete" align="center"></td>
1150 <td></td>
1151 <td></td>
1152</tr>
1153<tr>
1154 <td>&nbsp;&nbsp;7.3 [basic.namespace]</td>
1155 <td class="complete" align="center"></td>
1156 <td class="complete" align="center"></td>
1157 <td class="complete" align="center"></td>
1158 <td></td>
1159 <td></td>
1160</tr>
1161<tr>
1162 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.1 [namespace.def]</td>
1163 <td class="advanced"></td>
1164 <td class="advanced"></td>
1165 <td class="advanced"></td>
1166 <td></td>
1167 <td></td>
1168</tr>
1169<tr>
1170 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.3.1.1 [namespace.unnamed]</td>
1171 <td class="complete" align="center"></td>
1172 <td class="complete" align="center"></td>
1173 <td class="complete"></td>
1174 <td></td>
1175 <td></td>
1176</tr>
1177<tr>
1178 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.3.1.2 [namespace.memdef]</td>
1179 <td class="complete" align="center"></td>
1180 <td class="complete" align="center"></td>
1181 <td class="advanced"></td>
1182 <td></td>
1183 <td></td>
1184</tr>
1185<tr>
1186 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.2 [namespace.alias]</td>
1187 <td class="complete" align="center"></td>
1188 <td class="complete" align="center"></td>
1189 <td class="complete" align="center"></td>
1190 <td class="na">N/A</td>
1191 <td></td>
1192</tr>
1193<tr>
1194 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.3 [namespace.udecl]</td>
1195 <td class="complete" align="center"></td>
1196 <td class="complete" align="center"></td>
1197 <td class="complete" align="center"></td>
1198 <td class="na">N/A</td>
1199 <td></td>
1200</tr>
1201<tr>
1202 <td>&nbsp;&nbsp;&nbsp;&nbsp;7.3.4[namespace.udir]</td>
1203 <td class="complete" align="center"></td>
1204 <td class="complete" align="center"></td>
1205 <td class="advanced"></td>
1206 <td class="broken" align="center"></td>
1207 <td>Example in p4 fails.</td>
1208</tr>
1209<tr><td>
1210 &nbsp;&nbsp;7.4 [dcl.asm]</td>
1211 <td class="complete" align="center"></td>
1212 <td class="complete" align="center"></td>
1213 <td class="complete" align="center"></td>
1214 <td></td>
1215 <td></td>
1216</tr>
1217<tr>
1218 <td>&nbsp;&nbsp;7.5 [dcl.link]</td>
1219 <td class="complete" align="center"></td>
1220 <td class="medium"></td>
1221 <td class="medium"></td>
1222 <td></td>
1223 <td></td>
1224</tr>
1225<tr>
1226 <td>8 [dcl.decl]</td><td></td><td></td><td></td><td></td><td></td>
1227</tr>
1228<tr>
1229 <td>&nbsp;&nbsp;8.1 [dcl.name]</td>
1230 <td class="complete" align="center"></td>
1231 <td class="complete" align="center"></td>
1232 <td class="complete" align="center"></td>
1233 <td class="na">N/A</td>
1234 <td></td>
1235</tr>
1236<tr>
1237 <td>&nbsp;&nbsp;8.2 [dcl.ambig.res]</td>
1238 <td class="complete" align="center">&#x2713;</td>
1239 <td class="na" align="center">N/A</td>
1240 <td class="complete" align="center">&#x2713;</td>
1241 <td class="na">N/A</td>
1242 <td></td>
1243</tr>
1244<tr>
1245 <td>&nbsp;&nbsp;8.3 [dcl.meaning]</td>
1246 <td class="complete" align="center"></td>
1247 <td class="complete" align="center"></td>
1248 <td class="advanced" align="center"></td>
1249 <td class="na">N/A</td>
1250 <td></td>
1251</tr>
1252 <tr>
1253 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.1 [dcl.ptr]</td>
1254 <td class="complete" align="center"></td>
1255 <td class="complete" align="center"></td>
1256 <td class="complete" align="center"></td>
1257 <td class="na">N/A</td>
1258 <td></td>
1259 </tr>
1260 <tr>
1261 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.2 [dcl.ref]</td>
1262 <td class="complete" align="center"></td>
1263 <td class="complete" align="center"></td>
1264 <td class="complete" align="center"></td>
1265 <td class="na">N/A</td>
1266 <td></td>
1267 </tr>
1268 <tr>
1269 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.3 [dcl.mptr]</td>
1270 <td class="complete" align="center"></td>
1271 <td class="complete" align="center"></td>
1272 <td class="complete" align="center"></td>
1273 <td class="na">N/A</td>
1274 <td></td>
1275 </tr>
1276 <tr>
1277 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.4 [dcl.array]</td>
1278 <td class="complete" align="center"></td>
1279 <td class="complete" align="center"></td>
1280 <td class="complete" align="center"></td>
1281 <td class="na">N/A</td>
1282 <td></td>
1283 </tr>
1284 <tr>
1285 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.5 [dcl.fct]</td>
1286 <td class="complete" align="center"></td>
1287 <td class="complete" align="center"></td>
1288 <td class="complete" align="center"></td>
1289 <td class="na">N/A</td>
1290 <td></td>
1291 </tr>
1292 <tr>
1293 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.3.6 [dcl.fct.default]</td>
1294 <td class="advanced" align="center"></td>
1295 <td class="advanced" align="center"></td>
1296 <td class="advanced" align="center"></td>
1297 <td class="na">N/A</td>
1298 <td>Partial support for default arguments of templates.</td>
1299</tr>
1300<tr>
1301 <td>&nbsp;&nbsp;8.4 [dcl.fct.def]</td>
1302 <td class="complete" align="center"></td>
1303 <td class="complete" align="center"></td>
1304 <td class="complete" align="center"></td>
1305 <td class="medium" align="center"></td>
1306 <td></td>
1307</tr>
1308<tr>
1309 <td>&nbsp;&nbsp;8.5 [dcl.init]</td>
1310 <td class="advanced" align="center"></td>
1311 <td class="advanced" align="center"></td>
1312 <td class="advanced" align="center"></td>
1313 <td class="medium" align="center"></td>
1314 <td></td>
1315</tr>
1316<tr>
1317 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.1[dcl.init.aggr]</td>
1318 <td class="advanced" align="center"></td>
1319 <td class="advanced" align="center"></td>
1320 <td class="medium" align="center"></td>
1321 <td class="basic" align="center"></td>
1322 <td>No CodeGen for dynamic initialization.</td>
1323</tr>
1324<tr>
1325 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.2[dcl.init.string]</td>
1326 <td class="advanced" align="center"></td>
1327 <td class="advanced" align="center"></td>
1328 <td class="medium" align="center"></td>
1329 <td class="basic" align="center"></td>
1330 <td></td>
1331</tr>
1332<tr>
1333 <td>&nbsp;&nbsp;&nbsp;&nbsp;8.5.3 [dcl.init.ref]</td>
1334 <td class="advanced" align="center"></td>
1335 <td class="advanced" align="center"></td>
1336 <td class="medium" align="center"></td>
1337 <td class="basic" align="center"></td>
1338 <td></td>
1339</tr>
1340<tr>
1341 <td>9 [class]</td>
1342 <td class="advanced" align="center"></td>
1343 <td></td>
1344 <td></td>
1345 <td></td>
1346 <td></td>
1347</tr>
1348<tr>
1349 <td>&nbsp;&nbsp;9.1 [class.name]</td>
1350 <td class="complete" align="center"></td>
1351 <td class="complete" align="center"></td>
1352 <td class="complete" align="center"></td>
1353 <td class="na" align="center">N/A</td>
1354 <td></td>
1355</tr>
1356<tr>
1357 <td>&nbsp;&nbsp;9.2 [class.mem]</td>
1358 <td class="advanced" align="center"></td>
1359 <td class="advanced" align="center"></td>
1360 <td class="advanced" align="center"></td>
1361 <td class="medium" align="center"></td>
1362 <td></td>
1363</tr>
1364<tr>
1365 <td>&nbsp;&nbsp;9.3 [class.mfct]</td>
1366 <td class="complete" align="center"></td>
1367 <td class="advanced" align="center"></td>
1368 <td class="advanced" align="center"></td>
1369 <td class="basic" align="center"></td>
1370 <td></td>
1371</tr>
1372<tr>
1373 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.1 [class.mfct.non-static]</td>
1374 <td class="complete" align="center"></td>
1375 <td class="advanced" align="center"></td>
1376 <td class="advanced" align="center"></td>
1377 <td class="basic" align="center"></td>
1378 <td></td>
1379</tr>
1380<tr>
1381 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.3.2 [class.this]</td>
1382 <td class="complete" align="center"></td>
1383 <td class="advanced" align="center"></td>
1384 <td class="advanced" align="center"></td>
1385 <td class="basic"></td>
1386 <td></td>
1387</tr>
1388<tr>
1389 <td>&nbsp;&nbsp;9.4 [class.static]</td>
1390 <td class="complete" align="center"></td>
1391 <td class="complete" align="center"></td>
1392 <td class="advanced" align="center"></td>
1393 <td class="basic"></td>
1394 <td></td>
1395</tr>
1396<tr>
1397 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.1 [class.static.mfct]</td>
1398 <td class="complete" align="center"></td>
1399 <td class="complete" align="center"></td>
1400 <td class="advanced" align="center"></td>
1401 <td class="basic"></td>
1402 <td></td>
1403</tr>
1404<tr>
1405 <td>&nbsp;&nbsp;&nbsp;&nbsp;9.4.2 [class.static.data]</td>
1406 <td class="complete" align="center"></td>
1407 <td class="complete" align="center"></td>
1408 <td class="advanced" align="center"></td>
1409 <td class="basic"></td>
1410 <td></td>
1411</tr>
1412<tr>
1413 <td>&nbsp;&nbsp;9.5 [class.union]</td>
1414 <td class="complete" align="center"></td>
1415 <td class="complete" align="center"></td>
1416 <td class="complete"></td>
1417 <td class="complete"></td>
1418 <td></td>
1419</tr>
1420<tr>
1421 <td>&nbsp;&nbsp;9.6 [class.bit]</td>
1422 <td class="complete" align="center"></td>
1423 <td class="complete" align="center"></td>
1424 <td class="complete" align="center"></td>
1425 <td class="complete" align="center"></td>
1426 <td></td>
1427</tr>
1428<tr>
1429 <td>&nbsp;&nbsp;9.7 [class.nest]</td>
1430 <td class="complete" align="center"></td>
1431 <td class="advanced"></td>
1432 <td class="advanced"></td>
1433 <td class="na" align="center">N/A</td>
1434 <td></td>
1435</tr>
1436<tr>
1437 <td>&nbsp;&nbsp;9.8 [class.local]</td>
1438 <td class="complete" align="center">&#x2713;</td>
1439 <td class="complete" align="center">&#x2713;</td>
1440 <td class="complete" align="center">&#x2713;</td>
1441 <td class="na" align="center">N/A</td>
1442 <td></td>
1443</tr>
1444<tr>
1445 <td>&nbsp;&nbsp;9.9 [class.nested.type]</td>
1446 <td class="complete" align="center">&#x2713;</td>
1447 <td class="complete" align="center">&#x2713;</td>
1448 <td class="complete" align="center">&#x2713;</td>
1449 <td class="na" align="center">N/A</td>
1450 <td></td>
1451</tr>
1452<tr>
1453 <td>10 [class.derived]</td>
1454 <td class="advanced" align="center"></td>
1455 <td class="advanced" align="center"></td>
1456 <td class="advanced" align="center"></td>
1457 <td class="medium" align="center"></td>
1458 <td></td>
1459</tr>
1460<tr>
1461 <td>&nbsp;&nbsp;10.1 [class.mi]</td>
1462 <td class="advanced" align="center"></td>
1463 <td class="advanced" align="center"></td>
1464 <td class="advanced" align="center"></td>
1465 <td class="medium" align="center"></td>
1466 <td></td>
1467</tr>
1468<tr>
1469 <td>&nbsp;&nbsp;10.2 [class.member.lookup]</td>
1470 <td class="complete" align="center"></td>
1471 <td class="complete" align="center"></td>
1472 <td class="complete" align="center"></td>
1473 <td class="na" align="center">N/A</td>
1474 <td></td>
1475</tr>
1476<tr>
1477 <td>&nbsp;&nbsp;10.3 [class.virtual]</td>
1478 <td class="advanced" align="center"></td>
1479 <td class="advanced" align="center"></td>
1480 <td class="advanced" align="center"></td>
1481 <td class="medium" align="center"></td>
1482 <td></td>
1483</tr>
1484<tr>
1485 <td>&nbsp;&nbsp;10.4 [class.abstract]</td>
1486 <td class="complete" align="center"></td>
1487 <td class="complete" align="center"></td>
1488 <td class="complete" align="center"></td>
1489 <td class="na" align="center">N/A</td>
1490 <td></td>
1491 </tr>
1492<tr>
1493 <td>11 [class.access]</td>
1494 <td class="medium" align="center"></td>
1495 <td class="medium" align="center"></td>
1496 <td class="broken" align="center"></td>
1497 <td class="na" align="center">N/A</td>
1498 <td></td>
1499</tr>
1500<tr>
1501 <td>&nbsp;&nbsp;11.1 [class.access.spec]</td>
1502 <td class="complete" align="center"></td>
1503 <td class="advanced" align="center"></td>
1504 <td class="complete" align="center"></td>
1505 <td class="na" align="center">N/A</td>
1506 <td></td>
1507</tr>
1508<tr>
1509 <td>&nbsp;&nbsp;11.2 [class.access.base]</td>
1510 <td class="complete" align="center"></td>
1511 <td class="complete" align="center"></td>
1512 <td class="broken" align="center"></td>
1513 <td class="na" align="center">N/A</td>
1514 <td></td>
1515</tr>
1516<tr>
1517 <td>&nbsp;&nbsp;11.3 [class.access.dcl]</td>
1518 <td class="broken" align="center"></td>
1519 <td class="broken" align="center"></td>
1520 <td class="broken" align="center"></td>
1521 <td class="na" align="center">N/A</td>
1522 <td></td>
1523</tr>
1524<tr>
1525 <td>&nbsp;&nbsp;11.4 [class.friend]</td>
1526 <td class="medium" align="center"></td>
1527 <td class="medium" align="center"></td>
1528 <td class="medium" align="center"></td>
1529 <td class="na" align="center">N/A</td>
1530 <td></td>
1531</tr>
1532<tr>
1533 <td>&nbsp;&nbsp;11.5 [class.protected]</td>
1534 <td class="na" align="center"></td>
1535 <td class="complete" align="center"></td>
1536 <td class="broken" align="center"></td>
1537 <td class="na" align="center">N/A</td>
1538 <td></td>
1539</tr>
1540<tr>
1541 <td>&nbsp;&nbsp;11.6 [class.access.virt]</td>
1542 <td class="na" align="center"></td>
1543 <td class="na" align="center"></td>
1544 <td class="broken" align="center"></td>
1545 <td class="na" align="center">N/A</td>
1546 <td></td>
1547</tr>
1548<tr>
1549 <td>&nbsp;&nbsp;11.7 [class.paths]</td>
1550 <td class="na" align="center"></td>
1551 <td class="na" align="center"></td>
1552 <td class="broken" align="center"></td>
1553 <td class="na" align="center">N/A</td>
1554 <td></td>
1555</tr>
1556<tr>
1557 <td>&nbsp;&nbsp;11.8 [class.access.nest]</td>
1558 <td class="na" align="center"></td>
1559 <td class="na" align="center"></td>
1560 <td class="broken" align="center"></td>
1561 <td class="na" align="center">N/A</td>
1562 <td></td>
1563</tr>
1564<tr><td>12 [special]</td><td></td><td></td><td></td><td></td><td></td></tr>
1565<tr>
1566 <td>&nbsp;&nbsp;12.1 [class.ctor]</td>
1567 <td class="advanced" align="center"></td>
1568 <td class="advanced" align="center"></td>
1569 <td class="advanced" align="center"></td>
1570 <td class="advanced" align="center"></td>
1571 <td></td>
1572</tr>
1573<tr>
1574 <td>&nbsp;&nbsp;12.2 [class.temporary]</td>
1575 <td class="na" align="center">N/A</td>
1576 <td class="medium" align="center"></td>
1577 <td class="medium" align="center"></td>
1578 <td class="medium" align="center"></td>
1579 <td></td>
1580</tr>
1581<tr>
1582 <td>&nbsp;&nbsp;12.3 [class.conv]</td>
1583 <td class="advanced" align="center"></td>
1584 <td class="advanced" align="center"></td>
1585 <td class="advanced" align="center"></td>
1586 <td class="advanced" align="center"></td>
1587 <td></td>
1588</tr>
1589<tr>
1590 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.3.1 [class.conv.ctor]</td>
1591 <td class="complete" align="center"></td>
1592 <td class="advanced" align="center"></td>
1593 <td class="advanced" align="center"></td>
1594 <td class="advanced" align="center"></td>
1595 <td></td>
1596</tr>
1597<tr>
1598 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.3.2 [class.conv.fct]</td>
1599 <td class="complete" align="center"></td>
1600 <td class="advanced" align="center"></td>
1601 <td class="advanced" align="center"></td>
1602 <td class="advanced" align="center"></td>
1603 <td></td>
1604</tr>
1605<tr>
1606 <td>&nbsp;&nbsp;12.4 [class.dtor]</td>
1607 <td class="advanced" align="center"></td>
1608 <td class="medium" align="center"></td>
1609 <td class="medium" align="center"></td>
1610 <td class="medium" align="center"></td>
1611 <td></td>
1612</tr>
1613<tr><td>&nbsp;&nbsp;12.5 [class.free]</td><td></td><td></td><td></td><td></td><td></td></tr>
1614<tr><td>&nbsp;&nbsp;12.6 [class.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
1615<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;12.6.1 [class.expl.init]</td><td></td><td></td><td></td><td></td><td></td></tr>
1616<tr>
1617 <td>&nbsp;&nbsp;&nbsp;&nbsp;12.6.2 [class.base.init]</td>
1618 <td class="advanced" align="center"></td>
1619 <td class="medium" align="center"></td>
1620 <td class="advanced" align="center"></td>
1621 <td class="advanced" align="center"></td>
1622 <td>Most of the semantics of base initializations are implemented.</td>
1623</tr>
1624<tr><td>&nbsp;&nbsp;12.7 [class.cdtor]</td><td></td><td></td><td></td><td></td><td></td></tr>
1625<tr>
1626 <td>&nbsp;&nbsp;12.8 [class.copy]</td>
1627 <td class="advanced" align="center"></td>
1628 <td class="advanced" align="center"></td>
1629 <td class="advanced" align="center"></td>
1630 <td class="advanced" align="center"></td>
1631 <td>Most of the semantics of copy constructors are implemented.</td>
1632</tr>
1633
1634<tr><td>13 [over]</td><td></td><td></td><td></td><td></td><td></td></tr>
1635<tr>
1636 <td>&nbsp;&nbsp;13.1 [over.load]</td>
1637 <td class="na" align="center">N/A</td>
1638 <td class="advanced" align="center"></td>
1639 <td class="advanced" align="center"></td>
1640 <td class="medium" align="center"></td>
1641 <td></td>
1642</tr>
1643<tr>
1644 <td>&nbsp;&nbsp;13.2 [over.dcl]</td>
1645 <td class="na" align="center">N/A</td>
1646 <td class="advanced" align="center"></td>
1647 <td class="advanced" align="center"></td>
1648 <td class="na" align="center">N/A</td>
1649 <td></td>
1650</tr>
1651<tr>
1652 <td>&nbsp;&nbsp;13.3 [over.match]</td>
1653 <td class="na" align="center">N/A</td>
1654 <td class="advanced" align="center"></td>
1655 <td class="advanced" align="center"></td>
1656 <td class="na" align="center">N/A</td>
1657 <td></td>
1658</tr>
1659<tr>
1660 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.1 [over.match.funcs]</td>
1661 <td class="na" align="center">N/A</td>
1662 <td class="advanced" align="center"></td>
1663 <td class="advanced" align="center"></td>
1664 <td class="na" align="center">N/A</td>
1665 <td></td>
1666</tr>
1667<tr>
1668 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1 [over.match.call]</td>
1669 <td class="na" align="center">N/A</td>
1670 <td class="advanced" align="center"></td>
1671 <td class="advanced" align="center"></td>
1672 <td class="na" align="center">N/A</td>
1673 <td></td>
1674</tr>
1675<tr>
1676 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1.1 [over.call.func]</td>
1677 <td class="na" align="center">N/A</td>
1678 <td class="advanced" align="center"></td>
1679 <td class="advanced" align="center"></td>
1680 <td class="na" align="center">N/A</td>
1681 <td></td>
1682</tr>
1683<tr>
1684 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.1.2 [over.call.object]</td>
1685 <td class="na" align="center">N/A</td>
1686 <td class="advanced" align="center"></td>
1687 <td class="advanced" align="center"></td>
1688 <td class="na" align="center">N/A</td>
1689 <td></td>
1690</tr>
1691<tr>
1692 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.2 [over.match.oper]</td>
1693 <td class="na" align="center">N/A</td>
1694 <td class="advanced" align="center"></td>
1695 <td class="advanced" align="center"></td>
1696 <td class="na" align="center">N/A</td>
1697 <td></td>
1698</tr>
1699<tr>
1700 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.3 [over.match.ctor]</td>
1701 <td class="na" align="center">N/A</td>
1702 <td class="advanced" align="center"></td>
1703 <td class="advanced" align="center"></td>
1704 <td class="na" align="center">N/A</td>
1705 <td></td>
1706</tr>
1707<tr>
1708 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.4 [over.match.copy]</td>
1709 <td class="na" align="center">N/A</td>
1710 <td class="advanced" align="center"></td>
1711 <td class="advanced" align="center"></td>
1712 <td class="na" align="center">N/A</td>
1713 <td></td>
1714</tr>
1715<tr>
1716 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.5 [over.match.conv]</td>
1717 <td class="na" align="center">N/A</td>
1718 <td class="advanced" align="center"></td>
1719 <td class="advanced" align="center"></td>
1720 <td class="na" align="center">N/A</td>
1721 <td></td>
1722</tr>
1723<tr>
1724 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.1.6 [over.match.ref]</td>
1725 <td class="na" align="center">N/A</td>
1726 <td class="advanced" align="center"></td>
1727 <td class="advanced" align="center"></td>
1728 <td class="na" align="center">N/A</td>
1729 <td></td>
1730</tr>
1731<tr>
1732 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.2 [over.match.viable]</td>
1733 <td class="na" align="center">N/A</td>
1734 <td class="advanced" align="center"></td>
1735 <td class="advanced" align="center"></td>
1736 <td class="na" align="center">N/A</td>
1737 <td></td>
1738</tr>
1739<tr>
1740 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.3.3 [over.match.best]</td>
1741 <td class="na" align="center">N/A</td>
1742 <td class="advanced" align="center"></td>
1743 <td class="advanced" align="center"></td>
1744 <td class="na" align="center">N/A</td>
1745 <td></td>
1746</tr>
1747<tr>
1748 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1 [over.best.ics]</td>
1749 <td class="na" align="center">N/A</td>
1750 <td class="advanced" align="center"></td>
1751 <td class="advanced" align="center"></td>
1752 <td class="na" align="center">N/A</td>
1753 <td></td>
1754</tr>
1755<tr>
1756 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.1 [over.ics.scs]</td>
1757 <td class="na" align="center">N/A</td>
1758 <td class="advanced" align="center"></td>
1759 <td class="advanced" align="center"></td>
1760 <td class="na" align="center">N/A</td>
1761 <td></td>
1762</tr>
1763<tr>
1764 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.2 [over.ics.user]</td>
1765 <td class="na" align="center">N/A</td>
1766 <td class="advanced" align="center"></td>
1767 <td class="advanced" align="center"></td>
1768 <td class="na" align="center">N/A</td>
1769 <td></td>
1770</tr>
1771<tr>
1772 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.3 [over.ics.ellipsis]</td>
1773 <td class="na" align="center">N/A</td>
1774 <td class="advanced" align="center"></td>
1775 <td class="advanced" align="center"></td>
1776 <td class="na" align="center">N/A</td>
1777 <td></td>
1778</tr>
1779<tr>
1780 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.1.4 [over.ics.ref]</td>
1781 <td class="na" align="center">N/A</td>
1782 <td class="advanced" align="center"></td>
1783 <td class="advanced" align="center"></td>
1784 <td class="na" align="center">N/A</td>
1785 <td></td>
1786</tr>
1787<tr>
1788 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13.3.3.2 [over.ics.rank]</td>
1789 <td class="na" align="center">N/A</td>
1790 <td class="advanced" align="center"></td>
1791 <td class="advanced" align="center"></td>
1792 <td class="na" align="center">N/A</td>
1793 <td></td>
1794</tr>
1795<tr>
1796 <td>&nbsp;&nbsp;13.4 [over.over]</td>
1797 <td class="na" align="center">N/A</td>
1798 <td class="advanced" align="center"></td>
1799 <td class="advanced" align="center"></td>
1800 <td class="na" align="center">N/A</td>
1801 <td></td>
1802</tr>
1803<tr>
1804 <td>&nbsp;&nbsp;13.5 [over.oper]</td>
1805 <td class="advanced" align="center"></td>
1806 <td class="advanced" align="center"></td>
1807 <td class="advanced" align="center"></td>
1808 <td class="na" align="center">N/A</td>
1809 <td></td>
1810</tr>
1811<tr>
1812 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.1 [over.unary]</td>
1813 <td class="na" align="center">N/A</td>
1814 <td class="advanced" align="center"></td>
1815 <td class="advanced" 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;13.5.2 [over.binary]</td>
1821 <td class="na" align="center">N/A</td>
1822 <td class="advanced" align="center"></td>
1823 <td class="advanced" align="center"></td>
1824 <td class="na" align="center">N/A</td>
1825 <td></td>
1826</tr>
1827<tr>
1828 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.3 [over.ass]</td>
1829 <td class="na" align="center">N/A</td>
1830 <td class="advanced" align="center"></td>
1831 <td class="advanced" align="center"></td>
1832 <td class="na" align="center">N/A</td>
1833 <td></td>
1834</tr>
1835<tr>
1836 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.4 [over.call]</td>
1837 <td class="na" align="center">N/A</td>
1838 <td class="advanced" align="center"></td>
1839 <td class="advanced" align="center"></td>
1840 <td class="na" align="center">N/A</td>
1841 <td></td>
1842</tr>
1843<tr>
1844 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.5 [over.sub]</td>
1845 <td class="na" align="center">N/A</td>
1846 <td class="advanced" align="center"></td>
1847 <td class="advanced" align="center"></td>
1848 <td class="na" align="center">N/A</td>
1849 <td></td>
1850</tr>
1851<tr>
1852 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.6 [over.ref]</td>
1853 <td class="na" align="center">N/A</td>
1854 <td class="advanced" align="center"></td>
1855 <td class="advanced" align="center"></td>
1856 <td class="na" align="center">N/A</td>
1857 <td></td>
1858</tr>
1859<tr>
1860 <td>&nbsp;&nbsp;&nbsp;&nbsp;13.5.7 [over.inc]</td>
1861 <td class="na" align="center">N/A</td>
1862 <td class="advanced" align="center"></td>
1863 <td class="advanced" align="center"></td>
1864 <td class="na" align="center">N/A</td>
1865 <td></td>
1866</tr>
1867<tr>
1868 <td>&nbsp;&nbsp;13.6 [over.built]</td>
1869 <td class="na" align="center">N/A</td>
1870 <td class="advanced" align="center"></td>
1871 <td class="medium" align="center"></td>
1872 <td class="na" align="center">N/A</td>
1873 <td>Missing support for the ternary operator (p24, p25).</td>
1874</tr>
1875<tr>
1876 <td>14 [temp]</td>
1877 <td class="medium" align="center"></td>
1878 <td class="basic" align="center"></td>
1879 <td class="basic" align="center"></td>
1880 <td class="broken" align="center"></td>
1881 <td></td>
1882</tr>
1883<tr>
1884 <td>&nbsp;&nbsp;14.1 [temp.param]</td>
1885 <td class="complete" align="center">&#x2713;</td>
1886 <td class="complete" align="center">&#x2713;</td>
1887 <td class="medium" align="center"></td>
1888 <td class="na" align="center">N/A</td>
1889 <td></td>
1890</tr>
1891<tr>
1892 <td>&nbsp;&nbsp;14.2 [temp.names]</td>
1893 <td class="complete" align="center"></td>
1894 <td class="complete" align="center"></td>
1895 <td class="complete" align="center"></td>
1896 <td class="na" align="center">N/A</td>
1897 <td></td>
1898</tr>
1899<tr>
1900 <td>&nbsp;&nbsp;14.3 [temp.arg]</td>
1901 <td class="complete" align="center"></td>
1902 <td class="complete" align="center"></td>
1903 <td class="advanced" align="center"></td>
1904 <td class="na" align="center">N/A</td>
1905 <td></td>
1906</tr>
1907<tr>
1908 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.1 [temp.arg.type]</td>
1909 <td class="complete" align="center">&#x2713;</td>
1910 <td class="complete" align="center">&#x2713;</td>
1911 <td class="complete" align="center"></td>
1912 <td class="na" align="center">N/A</td>
1913 <td>Paragraph 3 will be tested elsewhere</td>
1914</tr>
1915<tr>
1916 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.2 [temp.arg.nontype]</td>
1917 <td class="complete" align="center"></td>
1918 <td class="complete" align="center"></td>
1919 <td class="complete" align="center"></td>
1920 <td class="na" align="center">N/A</td>
1921 <td></td>
1922</tr>
1923<tr>
1924 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.3.3 [temp.arg.template]</td>
1925 <td class="complete" align="center"></td>
1926 <td class="medium" align="center"></td>
1927 <td class="basic" align="center"></td>
1928 <td class="na" align="center">N/A</td>
1929 <td></td>
1930</tr>
1931<tr>
1932 <td>&nbsp;&nbsp;14.4 [temp.type]</td>
1933 <td class="na" align="center">N/A</td>
1934 <td class="complete" align="center">&#x2713;</td>
1935 <td class="complete" align="center">&#x2713;</td>
1936 <td class="na" align="center">N/A</td>
1937 <td></td>
1938</tr>
1939<tr>
1940 <td>&nbsp;&nbsp;14.5 [temp.decls]</td><td></td><td></td><td></td><td></td><td></td>
1941</tr>
1942<tr>
1943 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.1 [temp.class]</td>
1944 <td class="advanced" align="center"></td>
1945 <td class="advanced" align="center"></td>
1946 <td class="advanced" align="center"></td>
1947 <td class="medium" align="center"></td>
1948 <td></td>
1949</tr>
1950<tr>
1951 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.1 [temp.mem.func]</td>
1952 <td class="advanced" align="center"></td>
1953 <td class="advanced" align="center"></td>
1954 <td class="advanced" align="center"></td>
1955 <td class="medium" align="center"></td>
1956 <td></td>
1957</tr>
1958<tr>
1959 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.2 [temp.mem.class]</td>
1960 <td class="advanced" align="center"></td>
1961 <td class="advanced" align="center"></td>
1962 <td class="advanced" align="center"></td>
1963 <td class="medium" align="center"></td>
1964 <td></td>
1965</tr>
1966<tr>
1967 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.1.3 [temp.static]</td>
1968 <td class="advanced" align="center"></td>
1969 <td class="advanced" align="center"></td>
1970 <td class="advanced" align="center"></td>
1971 <td class="medium" align="center"></td>
1972 <td></td>
1973</tr>
1974<tr>
1975 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.2 [temp.mem]</td>
1976 <td class="advanced" align="center"></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;14.5.3 [temp.friend]</td>
1984 <td class="medium" align="center"></td>
1985 <td class="medium" align="center"></td>
1986 <td class="broken" align="center"></td>
1987 <td class="na" align="center">N/A</td>
1988 <td></td>
1989</tr>
1990<tr>
1991 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.4 [temp.class.spec]</td>
1992 <td class="complete" align="center"></td>
1993 <td class="complete" align="center"></td>
1994 <td class="complete" align="center"></td>
1995 <td class="na" align="center">N/A</td>
1996 <td></td>
1997</tr>
1998<tr>
1999 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.4.1 [temp.class.spec.match]</td>
2000 <td class="na" align="center">N/A</td>
2001 <td class="na" align="center">N/A</td>
2002 <td class="complete" align="center"></td>
2003 <td class="na" align="center">N/A</td>
2004 <td></td>
2005</tr>
2006<tr>
2007 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.4.2 [temp.class.order]</td>
2008 <td class="na" align="center"></td>
2009 <td class="advanced" align="center"></td>
2010 <td class="advanced" align="center"></td>
2011 <td class="na" align="center">N/A</td>
2012 <td></td>
2013</tr>
2014<tr>
2015 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.3 [temp.class.spec.mfunc]</td>
2016 <td class="advanced" align="center"></td>
2017 <td class="advanced" align="center"></td>
2018 <td class="advanced" align="center"></td>
2019 <td class="na" align="center">N/A</td>
2020 <td></td>
2021</tr>
2022<tr>
2023 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.5.5 [temp.fct]</td>
2024 <td class="advanced" align="center"></td>
2025 <td class="advanced" align="center"></td>
2026 <td class="advanced" align="center"></td>
2027 <td class="medium" align="center"></td>
2028 <td></td>
2029</tr>
2030<tr>
2031 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.1 [temp.over.link]</td>
2032 <td class="na" align="center"></td>
2033 <td class="complete" align="center"></td>
2034 <td class="advanced" align="center"></td>
2035 <td class="na" align="center">N/A</td>
2036 <td></td>
2037</tr>
2038<tr>
2039 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.5.5.2 [temp.func.order]</td>
2040 <td class="na" align="center"></td>
2041 <td class="advanced" align="center"></td>
2042 <td class="advanced" align="center"></td>
2043 <td class="na" align="center">N/A</td>
2044 <td></td>
2045</tr>
2046<tr>
2047 <td>&nbsp;&nbsp;14.6 [temp.res]</td>
2048 <td class="advanced" align="center"></td>
2049 <td class="advanced" align="center"></td>
2050 <td class="advanced" align="center"></td>
2051 <td class="na" align="center"></td>
2052 <td></td>
2053</tr>
2054<tr>
2055 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.1 [temp.local]</td>
2056 <td class="advanced" align="center"></td>
2057 <td class="advanced" align="center"></td>
2058 <td class="advanced" align="center"></td>
2059 <td class="na" align="center"></td>
2060 <td></td>
2061</tr>
2062<tr>
2063 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.2 [temp.dep]</td>
2064 <td class="na" align="center">N/A</td>
2065 <td class="advanced" align="center"></td>
2066 <td class="advanced" align="center"></td>
2067 <td class="na" align="center"></td>
2068 <td></td>
2069</tr>
2070<tr>
2071 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.1 [temp.dep.type]</td>
2072 <td class="na" align="center">N/A</td>
2073 <td class="advanced" align="center"></td>
2074 <td class="advanced" align="center"></td>
2075 <td class="na" align="center"></td>
2076 <td></td>
2077</tr>
2078<tr>
2079 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.2 [temp.dep.expr]</td>
2080 <td class="na" align="center">N/A</td>
2081 <td class="advanced" align="center"></td>
2082 <td class="advanced" align="center"></td>
2083 <td class="na" align="center"></td>
2084 <td></td>
2085</tr>
2086<tr>
2087 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.3 [temp.dep.constexpr]</td>
2088 <td class="na" align="center">N/A</td>
2089 <td class="advanced" align="center"></td>
2090 <td class="advanced" align="center"></td>
2091 <td class="na" align="center"></td>
2092 <td></td>
2093</tr>
2094<tr>
2095 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.2.4 [temp.dep.temp]</td>
2096 <td class="na" align="center">N/A</td>
2097 <td class="advanced" align="center"></td>
2098 <td class="advanced" align="center"></td>
2099 <td class="na" align="center"></td>
2100 <td></td>
2101</tr>
2102<tr>
2103 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.3 [temp.nondep]</td>
2104 <td class="na" align="center">N/A</td>
2105 <td class="complete" align="center"></td>
2106 <td class="complete" align="center"></td>
2107 <td class="na" align="center"></td>
2108 <td></td>
2109</tr>
2110<tr>
2111 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.4 [temp.dep.res]</td>
2112 <td class="na" align="center">N/A</td>
2113 <td class="advanced" align="center"></td>
2114 <td class="advanced" align="center"></td>
2115 <td class="na" align="center"></td>
2116 <td></td>
2117</tr>
2118<tr>
2119 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.4.1 [temp.point]</td>
2120 <td class="na" align="center">N/A</td>
2121 <td class="medium" align="center"></td>
2122 <td class="medium" align="center"></td>
2123 <td class="medium" align="center"></td>
2124 <td></td>
2125</tr>
2126<tr>
2127 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.6.4.2 [temp.dep.candidate]</td>
2128 <td class="na" align="center">N/A</td>
2129 <td class="advanced" align="center"></td>
2130 <td class="advanced" align="center"></td>
2131 <td class="na" align="center"></td>
2132 <td>Not restricted to functions with external linkage</td>
2133</tr>
2134<tr>
2135 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.6.5 [temp.inject]</td>
2136 <td class="na" align="center">N/A</td>
2137 <td class="basic" align="center"></td>
2138 <td class="basic" align="center"></td>
2139 <td class="na" align="center"></td>
2140 <td></td>
2141</tr>
2142<tr>
2143 <td>&nbsp;&nbsp;14.7 [temp.spec]</td>
2144 <td class="advanced" align="center"></td>
2145 <td class="advanced" align="center"></td>
2146 <td class="advanced" align="center"></td>
2147 <td class="advanced" align="center"></td>
2148 <td></td>
2149</tr>
2150<tr>
2151 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.1 [temp.inst]</td>
2152 <td class="na" align="center">N/A</td>
2153 <td class="na" align="center"></td>
2154 <td class="advanced" align="center"></td>
2155 <td class="advanced" align="center"></td>
2156 <td></td>
2157</tr>
2158<tr>
2159 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.2 [temp.explicit]</td>
2160 <td class="complete" align="center"></td>
2161 <td class="advanced" align="center"></td>
2162 <td class="advanced" align="center"></td>
2163 <td class="complete" align="center"></td>
2164 <td>Cannot test paragraph 11 until access control is implemented.<br/>
2165 ASTs do not carry enough information to reproduce source code accurately.</td>
2166</tr>
2167<tr>
2168 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.7.3 [temp.expl.spec]</td>
2169 <td class="complete" align="center">&#x2713;</td>
2170 <td class="advanced" align="center"></td>
2171 <td class="complete" align="center">&#x2713;</td>
2172 <td class="complete" align="center"></td>
2173 <td>ASTs do not carry enough information to reproduce source code accurately</td>
2174</tr>
2175<tr>
2176 <td>&nbsp;&nbsp;14.8 [temp.fct.spec]</td>
2177 <td class="advanced" align="center"></td>
2178 <td class="advanced" align="center"></td>
2179 <td class="advanced" align="center"></td>
2180 <td class="advanced" align="center"></td>
2181 <td></td>
2182</tr>
2183<tr>
2184 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.1 [temp.arg.explicit]</td>
2185 <td class="advanced" align="center"></td>
2186 <td class="advanced" align="center"></td>
2187 <td class="advanced" align="center"></td>
2188 <td class="na" align="center"></td>
2189 <td></td>
2190</tr>
2191<tr>
2192 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.2 [temp.deduct]</td>
2193 <td class="na" align="center">N/A</td>
2194 <td class="na" align="center">N/A</td>
2195 <td class="advanced" align="center"></td>
2196 <td class="na" align="center">N/A</td>
2197 <td></td>
2198</tr>
2199<tr>
2200 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.1 [temp.deduct.call]</td>
2201 <td class="na" align="center"></td>
2202 <td class="complete" align="center"></td>
2203 <td class="advanced" align="center"></td>
2204 <td class="na" align="center"></td>
2205 <td></td>
2206</tr>
2207<tr>
2208 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.2 [temp.deduct.funcaddr]</td>
2209 <td class="na" align="center">N/A</td>
2210 <td class="advanced" align="center"></td>
2211 <td class="advanced" align="center"></td>
2212 <td class="na" align="center">N/A</td>
2213 <td></td>
2214</tr>
2215<tr>
2216 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.3 [temp.deduct.conv]</td>
2217 <td class="na" align="center"></td>
2218 <td class="advanced" align="center"></td>
2219 <td class="advanced" align="center"></td>
2220 <td class="na" align="center"></td>
2221 <td></td>
2222</tr>
2223<tr>
2224 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14.8.2.4 [temp.deduct.type]</td>
2225 <td class="na" align="center">N/A</td>
2226 <td class="complete" align="center"></td>
2227 <td class="advanced" align="center"></td>
2228 <td class="na" align="center">N/A</td>
2229 <td></td>
2230</tr>
2231<tr>
2232 <td>&nbsp;&nbsp;&nbsp;&nbsp;14.8.3 [temp.over]</td>
2233 <td class="na" align="center"></td>
2234 <td class="advanced" align="center"></td>
2235 <td class="advanced" align="center"></td>
2236 <td class="na" align="center"></td>
2237 <td></td>
2238</tr>
2239<tr>
2240 <td>15 [except]</td>
2241 <td class="complete" align="center"></td>
2242 <td class="complete" align="center"></td>
2243 <td class="complete" align="center"></td>
2244 <td></td>
2245 <td></td>
2246</tr>
2247<tr>
2248 <td>&nbsp;&nbsp;15.1 [except.throw]</td>
2249 <td class="na" align="center">N/A</td>
2250 <td class="na" align="center">N/A</td>
2251 <td class="advanced" align="center"></td>
2252 <td></td>
2253 <td></td>
2254</tr>
2255<tr>
2256 <td>&nbsp;&nbsp;15.2 [except.ctor]</td>
2257 <td class="na" align="center">N/A</td>
2258 <td class="na" align="center">N/A</td>
2259 <td class="na" align="center">N/A</td>
2260 <td></td>
2261 <td></td>
2262</tr>
2263<tr>
2264 <td>&nbsp;&nbsp;15.3 [except.handle]</td>
2265 <td class="na" align="center">N/A</td>
2266 <td class="na" align="center">N/A</td>
2267 <td class="advanced" align="center"></td>
2268 <td></td>
2269 <td>Not all constraints are checked</td>
2270</tr>
2271<tr>
2272 <td>&nbsp;&nbsp;15.4 [except.spec]</td>
2273 <td class="complete" align="center"></td>
2274 <td class="complete" align="center"></td>
2275 <td class="complete" align="center"></td>
2276 <td class="broken"></td>
2277 <td></td>
2278</tr>
2279<tr>
2280 <td>&nbsp;&nbsp;15.5 [except.special]</td>
2281 <td class="na" align="center">N/A</td>
2282 <td class="na" align="center">N/A</td>
2283 <td class="na" align="center">N/A</td>
2284 <td class="na" align="center">N/A</td>
2285 <td></td>
2286</tr>
2287<tr>
2288 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.1 [except.terminate]</td>
2289 <td class="na" align="center">N/A</td>
2290 <td class="na" align="center">N/A</td>
2291 <td class="na" align="center">N/A</td>
2292 <td class="na" align="center">N/A</td>
2293 <td></td>
2294</tr>
2295<tr>
2296 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.2 [except.unexpected]</td>
2297 <td class="na" align="center">N/A</td>
2298 <td class="na" align="center">N/A</td>
2299 <td class="na" align="center">N/A</td>
2300 <td class="na" align="center">N/A</td>
2301 <td></td>
2302</tr>
2303<tr>
2304 <td>&nbsp;&nbsp;&nbsp;&nbsp;15.5.3 [except.uncaught]</td>
2305 <td class="na" align="center">N/A</td>
2306 <td class="na" align="center">N/A</td>
2307 <td class="na" align="center">N/A</td>
2308 <td class="na" align="center">N/A</td>
2309 <td></td>
2310</tr>
2311<tr>
2312 <td>&nbsp;&nbsp;15.6 [except.access]</td>
2313 <td class="na" align="center">N/A</td>
2314 <td class="na" align="center">N/A</td>
2315 <td class="na" align="center">N/A</td>
2316 <td class="na" align="center">N/A</td>
2317 <td>Redundant - struck from C++0x</td>
2318</tr>
2319<tr><td>16 [cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2320<tr><td>&nbsp;&nbsp;16.1 [cpp.cond]</td><td></td><td></td><td></td><td></td><td></td></tr>
2321<tr><td>&nbsp;&nbsp;16.2 [cpp.include]</td><td></td><td></td><td></td><td></td><td></td></tr>
2322<tr><td>&nbsp;&nbsp;16.3 [cpp.replace]</td><td></td><td></td><td></td><td></td><td></td></tr>
2323<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.1 [cpp.subst]</td><td></td><td></td><td></td><td></td><td></td></tr>
2324<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.2 [cpp.stringize]</td><td></td><td></td><td></td><td></td><td></td></tr>
2325<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.3 [cpp.concat]</td><td></td><td></td><td></td><td></td><td></td></tr>
2326<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.4 [cpp.rescan]</td><td></td><td></td><td></td><td></td><td></td></tr>
2327<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;16.3.5 [cpp.scope]</td><td></td><td></td><td></td><td></td><td></td></tr>
2328<tr><td>&nbsp;&nbsp;16.4 [cpp.line]</td><td></td><td></td><td></td><td></td><td></td></tr>
2329<tr><td>&nbsp;&nbsp;16.5 [cpp.error]</td><td></td><td></td><td></td><td></td><td></td></tr>
2330<tr><td>&nbsp;&nbsp;16.6 [cpp.pragma]</td><td></td><td></td><td></td><td></td><td></td></tr>
2331<tr><td>&nbsp;&nbsp;16.7 [cpp.null]</td><td></td><td></td><td></td><td></td><td></td></tr>
2332<tr><td>&nbsp;&nbsp;16.8 [cpp.predefined]</td><td></td><td></td><td></td><td></td><td></td></tr>
2333<tr><td>A [gram]</td><td></td><td></td><td></td><td></td><td></td></tr>
2334<tr><td>&nbsp;&nbsp;A.1 [gram.key]</td><td></td><td></td><td></td><td></td><td></td></tr>
2335<tr><td>&nbsp;&nbsp;A.2 [gram.lex]</td><td></td><td></td><td></td><td></td><td></td></tr>
2336<tr><td>&nbsp;&nbsp;A.3 [gram.basic]</td><td></td><td></td><td></td><td></td><td></td></tr>
2337<tr><td>&nbsp;&nbsp;A.4 [gram.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
2338<tr><td>&nbsp;&nbsp;A.5 [gram.stmt]</td><td></td><td></td><td></td><td></td><td></td></tr>
2339<tr><td>&nbsp;&nbsp;A.6 [gram.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2340<tr><td>&nbsp;&nbsp;A.7 [gram.decl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2341<tr><td>&nbsp;&nbsp;A.8 [gram.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
2342<tr><td>&nbsp;&nbsp;A.9 [gram.derived]</td><td></td><td></td><td></td><td></td><td></td></tr>
2343<tr><td>&nbsp;&nbsp;A.10 [gram.special]</td><td></td><td></td><td></td><td></td><td></td></tr>
2344<tr><td>&nbsp;&nbsp;A.11 [gram.over]</td><td></td><td></td><td></td><td></td><td></td></tr>
2345<tr><td>&nbsp;&nbsp;A.12 [gram.temp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2346<tr><td>&nbsp;&nbsp;A.13 [gram.except]</td><td></td><td></td><td></td><td></td><td></td></tr>
2347<tr><td>&nbsp;&nbsp;A.14 [gram.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2348<tr><td>B [implimits]</td><td></td><td></td><td></td><td></td><td></td></tr>
2349<tr><td>C [diff]</td><td></td><td></td><td></td><td></td><td></td></tr>
2350<tr><td>&nbsp;&nbsp;C.1 [diff.iso]</td><td></td><td></td><td></td><td></td><td></td></tr>
2351<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.1 [diff.lex]</td><td></td><td></td><td></td><td></td><td></td></tr>
2352<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.2 [diff.basic]</td><td></td><td></td><td></td><td></td><td></td></tr>
2353<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.3 [diff.expr]</td><td></td><td></td><td></td><td></td><td></td></tr>
2354<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.4 [diff.stat]</td><td></td><td></td><td></td><td></td><td></td></tr>
2355<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.5 [diff.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2356<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.6 [diff.decl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2357<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.7 [diff.class]</td><td></td><td></td><td></td><td></td><td></td></tr>
2358<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.8 [diff.special]</td><td></td><td></td><td></td><td></td><td></td></tr>
2359<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;C.1.9 [diff.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr>
2360<tr><td>&nbsp;&nbsp;C.2 [diff.library]</td><td></td><td></td><td></td><td></td><td></td></tr>
2361<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>
2362<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>
2363<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>
2364<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>
2365<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>
2366<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>
2367<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>
2368<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>
2369<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>
2370<tr><td>D [depr]</td><td></td><td></td><td></td><td></td><td></td></tr>
2371<tr><td>&nbsp;&nbsp;D.1 [depr.incr.bool]</td><td></td><td></td><td></td><td></td><td></td></tr>
2372<tr><td>&nbsp;&nbsp;D.2 [depr.static]</td><td></td><td></td><td></td><td></td><td></td></tr>
2373<tr><td>&nbsp;&nbsp;D.3 [depr.access.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr>
2374<tr><td>&nbsp;&nbsp;D.4 [depr.string]</td><td></td><td></td><td></td><td></td><td></td></tr>
2375<tr><td>&nbsp;&nbsp;D.5 [depr.c.headers]</td><td></td><td></td><td></td><td></td><td></td></tr>
2376<tr><td>E [extendid]</td><td></td><td></td><td></td><td></td><td></td></tr>
2377<tr>
2378</table>
2379
2380 <h2 id="cxx0x">C++0x Implementation status</h2>
2381<p>Clang's development effort is focused primarily on supporting the current ISO C++ standard (1998/2003). This section tracks the status of various C++0x features. In general, the implementations of these features are far less developed than C++98/03 features.</p>
2382
2383<table width="689" border="1" cellspacing="0">
2384 <td colspan="6" align="center" bgcolor="#ffffcc">C++0x Features</td>
2385</tr>
2386<tr>
2387 <td>Explicit conversion operators (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf">N2437</a>)</td>
2388 <td class="complete" align="center"></td>
2389 <td class="medium" align="center"></td>
2390 <td class="advanced" align="center"></td>
2391 <td class="broken"></td>
2392 <td>No name mangling; ASTs don't contain calls to conversion operators</td>
2393</tr>
2394<tr>
2395 <td>Static assertions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.pdf">N1720</a>)</td>
2396 <td class="complete" align="center"></td>
2397 <td class="complete" align="center"></td>
2398 <td class="complete" align="center"></td>
2399 <td class="na">N/A</td>
2400 <td></td>
2401</tr>
2402<tr>
2403 <td>Deleted functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm">N2346</a>)</td>
2404 <td class="complete" align="center"></td>
2405 <td class="complete" align="center"></td>
2406 <td class="complete" align="center"></td>
2407 <td class="na">N/A</td>
2408 <td></td>
2409</tr>
2410<tr>
2411 <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>
2412 <td class="complete" align="center"></td>
2413 <td class="complete" align="center"></td>
2414 <td class="complete" align="center"></td>
2415 <td class="broken"></td>
2416 <td></td>
2417</tr>
2418<tr>
2419 <td>nullptr (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">N2431</a>)</td>
2420 <td class="complete" align="center"></td>
2421 <td class="complete" align="center"></td>
2422 <td class="complete" align="center"></td>
2423 <td class="broken"></td>
2424 <td></td>
2425</tr>
2426<tr>
2427 <td>Right angle brackets (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html">N1757</a>)</td>
2428 <td class="complete" align="center"></td>
2429 <td class="na" align="center">N/A</td>
2430 <td class="na" align="center">N/A</td>
2431 <td class="na">N/A</td>
2432 <td></td>
2433</tr>
2434<tr>
2435 <td>Decltype (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf">N2343</a>)</td>
2436 <td class="complete" align="center">&#x2713;</td>
2437 <td class="complete" align="center">&#x2713;</td>
2438 <td class="complete" align="center">&#x2713;</td>
2439 <td class="na">N/A</td>
2440 <td></td>
2441</tr>
2442</table>
2443<br />
2444</div>
2445</body>
2446</html>