| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" | 
 | 2 |           "http://www.w3.org/TR/html4/strict.dtd"> | 
 | 3 | <html> | 
 | 4 | <head> | 
| Gabor Greif | 70f2a04 | 2009-02-25 15:22:45 +0000 | [diff] [blame] | 5 |   <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 6 |   <title>Clang - C++ Support</title> | 
| Gabor Greif | 70f2a04 | 2009-02-25 15:22:45 +0000 | [diff] [blame] | 7 |   <link type="text/css" rel="stylesheet" href="menu.css"> | 
 | 8 |   <link type="text/css" rel="stylesheet" href="content.css"> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 9 |   <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> | 
 | 29 | This page tracks the status of C++ support in Clang.<br> | 
| Douglas Gregor | 33aa519 | 2009-03-20 20:39:57 +0000 | [diff] [blame] | 30 | Currently 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 Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 31 |  | 
 | 32 |  | 
 | 33 | <!-- Within this table: The colors we're using to color-code our level | 
 | 34 | of 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">✓</td> | 
 | 67 |   </tr> | 
 | 68 | </table> | 
 | 69 |  | 
 | 70 | <p>A feature is "complete" when the appropriate Clang component (Parse, AST, | 
 | 71 | Sema, CodeGen) implements the behavior described in all of the | 
 | 72 | paragraphs in the relevant C++ standard. Note that many C++ features are | 
 | 73 | actually 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 | 
 | 90 | much of C, and therefore much C++, many of the currently-white cells | 
 | 91 | could be filled in. If you wish to do so, please compare Clang's | 
 | 92 | implementation against the C++ standard and provide a patch that | 
 | 93 | updates the table accordingly. Tests for the various features are also | 
 | 94 | welcome!</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">✓</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>  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>  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>  2.3 [lex.trigraph]</td> | 
 | 131 |   <td class="complete" align="center">✓</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>  2.4 [lex.pptoken]</td> | 
 | 139 |   <td class="complete" align="center">✓</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>  2.5 [lex.digraph]</td> | 
 | 147 |   <td class="complete" align="center">✓</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>  2.6 [lex.token]</td> | 
 | 155 |   <td class="complete" align="center">✓</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>  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>  2.8 [lex.header]</td> | 
 | 171 |   <td class="complete" align="center">✓</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>  2.9 [lex.ppnumber]</td> | 
 | 179 |   <td class="complete" align="center">✓</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>  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>  2.11 [lex.key]</td> | 
 | 195 |   <td class="complete" align="center">✓</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>  2.12 [lex.operators]</td> | 
 | 203 |   <td class="complete" align="center">✓</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>  2.13 [lex.literal]</td> | 
 | 211 |   <td class="complete" align="center">✓</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>    2.13.1 [lex.icon]</td> | 
 | 219 |   <td class="complete" align="center">✓</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>    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>    2.13.3 [lex.fcon]</td> | 
 | 235 |   <td class="complete" align="center">✓</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>    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>    2.13.5 [lex.bool]</td> | 
 | 251 |   <td class="complete" align="center">✓</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>  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>  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>  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">✓</td> | 
 | 286 |   <td class="na">N/A</td> | 
 | 287 |   <td></td> | 
 | 288 | </tr> | 
 | 289 | <tr> | 
 | 290 |   <td>    3.3.1 [basic.scope.pdecl]</td> | 
 | 291 |   <td class="na">N/A</td> | 
 | 292 |   <td class="na">N/A</td> | 
 | 293 |   <td class="advanced"></td> | 
 | 294 |   <td class="na">N/A</td> | 
 | 295 |   <td>See PR3184</td> | 
 | 296 | </tr> | 
 | 297 | <tr> | 
 | 298 |   <td>    3.3.2 [basic.scope.local]</td> | 
 | 299 |   <td class="na">N/A</td> | 
 | 300 |   <td class="na">N/A</td> | 
 | 301 |   <td class="advanced"></td> | 
 | 302 |   <td class="na">N/A</td> | 
 | 303 |   <td>try-catch not implemented</td> | 
 | 304 | </tr> | 
 | 305 | <tr> | 
 | 306 |   <td>    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">✓</td> | 
 | 310 |   <td class="na">N/A</td> | 
 | 311 |   <td></td> | 
 | 312 | </tr> | 
 | 313 | <tr> | 
 | 314 |   <td>    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">✓</td> | 
 | 318 |   <td class="na">N/A</td> | 
 | 319 |   <td></td> | 
 | 320 | </tr> | 
 | 321 | <tr><td>    3.3.5 [basic.scope.namespace]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 322 | <tr><td>    3.3.6 [basic.scope.class]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 323 | <tr> | 
 | 324 |   <td>    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">✓</td> | 
 | 328 |   <td class="na">N/A</td> | 
 | 329 |   <td></td> | 
 | 330 | </tr> | 
 | 331 | <tr> | 
 | 332 |   <td>  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">✓</td> | 
 | 336 |   <td class="na">N/A</td> | 
 | 337 |   <td></td> | 
 | 338 | </tr> | 
 | 339 | <tr> | 
 | 340 |   <td>    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>    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>    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>      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>      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>    3.4.4 [basic.lookup.elab]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 380 | <tr><td>    3.4.5 [basic.lookup.classref]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 381 | <tr><td>    3.4.6 [basic.lookup.udir]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 382 | <tr><td>  3.5 [basic.link]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 383 | <tr><td>  3.6 [basic.start]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 384 | <tr><td>    3.6.1 [basic.start.main]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 385 | <tr><td>    3.6.2 [basic.start.init]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 386 | <tr><td>    3.6.3 [basic.start.term]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 387 | <tr><td>  3.7 [basic.stc]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 388 | <tr><td>    3.7.1 [basic.stc.static]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 389 | <tr><td>    3.7.2 [basic.stc.auto]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 390 | <tr><td>    3.7.3 [basic.stc.dynamic]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 391 | <tr><td>      3.7.3.1 [basic.stc.dynamic.allocation]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 392 | <tr><td>      3.7.3.2 [basic.stc.dynamic.deallocation]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 393 | <tr><td>    3.7.4 [basic.stc.inherit]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 394 | <tr><td>  3.8 [basic.life]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 395 | <tr><td>  3.9 [basic.types]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 396 | <tr><td>    3.9.1 [basic.fundamental]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 397 | <tr><td>    3.9.2 [basic.compound]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 398 | <tr><td>    3.9.3 [basic.type.qualifier]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 399 | <tr><td>  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">✓</td> | 
 | 403 |   <td class="complete" align="center">✓</td> | 
 | 404 |   <td class="complete" align="center">✓</td> | 
 | 405 |   <td></td> | 
 | 406 |   <td></td> | 
 | 407 | </tr> | 
 | 408 | <tr> | 
 | 409 |   <td>  4.1 [conv.lval]</td> | 
 | 410 |   <td class="complete" align="center">✓</td> | 
 | 411 |   <td class="complete" align="center">✓</td> | 
 | 412 |   <td class="advanced" align="center"></td> <!-- p2: sizeof --> | 
 | 413 |   <td></td> | 
 | 414 |   <td></td> | 
 | 415 | </tr> | 
 | 416 | <tr> | 
 | 417 |   <td>  4.2 [conv.array]</td> | 
 | 418 |   <td class="complete" align="center">✓</td> | 
 | 419 |   <td class="complete" align="center">✓</td> | 
 | 420 |   <td class="complete" align="center">✓</td> | 
 | 421 |   <td></td> | 
 | 422 |   <td></td> | 
 | 423 | </tr> | 
 | 424 | <tr> | 
 | 425 |   <td>  4.3 [conv.func]</td> | 
 | 426 |   <td class="complete" align="center">✓</td> | 
 | 427 |   <td class="complete" align="center">✓</td> | 
 | 428 |   <td class="advanced" align="center"></td> | 
 | 429 |   <td></td> | 
 | 430 |   <td></td> | 
 | 431 | </tr> | 
 | 432 | <tr> | 
 | 433 |   <td>  4.4 [conv.qual]</td> | 
 | 434 |   <td class="complete" align="center">✓</td> | 
 | 435 |   <td class="complete" align="center">✓</td> | 
 | 436 |   <td class="complete" align="center">✓</td> | 
 | 437 |   <td></td> | 
 | 438 |   <td></td> | 
 | 439 | </tr> | 
 | 440 | <tr> | 
 | 441 |   <td>  4.5 [conv.prom]</td> | 
 | 442 |   <td class="complete" align="center">✓</td> | 
 | 443 |   <td class="complete" align="center">✓</td> | 
 | 444 |   <td class="complete" align="center">✓</td> | 
 | 445 |   <td></td> | 
 | 446 |   <td></td> | 
 | 447 | </tr> | 
 | 448 | <tr> | 
 | 449 |   <td>  4.6 [conv.fpprom]</td> | 
 | 450 |   <td class="complete" align="center">✓</td> | 
 | 451 |   <td class="complete" align="center">✓</td> | 
 | 452 |   <td class="complete" align="center">✓</td> | 
 | 453 |   <td></td> | 
 | 454 |   <td></td> | 
 | 455 | </tr> | 
 | 456 | <tr> | 
 | 457 |   <td>  4.7 [conv.integral]</td> | 
 | 458 |   <td class="complete" align="center">✓</td> | 
 | 459 |   <td class="complete" align="center">✓</td> | 
 | 460 |   <td class="complete" align="center">✓</td> | 
 | 461 |   <td></td> | 
 | 462 |   <td></td> | 
 | 463 | </tr> | 
 | 464 | <tr> | 
 | 465 |   <td>  4.8 [conv.double]</td> | 
 | 466 |   <td class="complete" align="center">✓</td> | 
 | 467 |   <td class="complete" align="center">✓</td> | 
 | 468 |   <td class="complete" align="center">✓</td> | 
 | 469 |   <td></td> | 
 | 470 |   <td></td> | 
 | 471 | </tr> | 
 | 472 | <tr> | 
 | 473 |   <td>  4.9 [conv.fpint]</td> | 
 | 474 |   <td class="complete" align="center">✓</td> | 
 | 475 |   <td class="complete" align="center">✓</td> | 
 | 476 |   <td class="complete" align="center">✓</td> | 
 | 477 |   <td></td> | 
 | 478 |   <td></td> | 
 | 479 | </tr> | 
 | 480 | <tr> | 
 | 481 |   <td>  4.10 [conv.ptr]</td> | 
 | 482 |   <td class="complete" align="center">✓</td> | 
 | 483 |   <td class="complete" align="center">✓</td> | 
 | 484 |   <td class="complete" align="center">✓</td> | 
 | 485 |   <td></td> | 
 | 486 |   <td></td> | 
 | 487 | </tr> | 
 | 488 | <tr> | 
 | 489 |   <td>  4.11 [conv.mem]</td> | 
 | 490 |   <td class="complete" align="center">✓</td> | 
 | 491 |   <td class="complete" align="center">✓</td> | 
 | 492 |   <td class="complete" align="center">✓</td> | 
 | 493 |   <td></td> | 
 | 494 |   <td></td> | 
 | 495 | </tr> | 
 | 496 | <tr> | 
 | 497 |   <td>  4.12 [conv.bool]</td> | 
 | 498 |   <td class="complete" align="center">✓</td> | 
 | 499 |   <td class="complete" align="center">✓</td> | 
 | 500 |   <td class="complete" align="center">✓</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">✓</td> | 
 | 509 |   <td></td> | 
 | 510 |   <td></td> | 
 | 511 | </tr> | 
 | 512 | <tr> | 
 | 513 |   <td>  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>  5.2 [expr.post]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 521 | <tr> | 
 | 522 |   <td>    5.2.1 [expr.sub]</td> | 
 | 523 |   <td class="complete" align="center">✓</td> | 
 | 524 |   <td class="complete" align="center">✓</td> | 
 | 525 |   <td class="complete" align="center">✓</td> | 
 | 526 |   <td></td> | 
 | 527 |   <td></td> | 
 | 528 | </tr> | 
 | 529 | <tr> | 
 | 530 |   <td>    5.2.2 [expr.call]</td> | 
 | 531 |   <td class="complete" align="center">✓</td> | 
 | 532 |   <td class="complete" align="center">✓</td> | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 533 |   <td class="advanced" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 534 |   <td></td> | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 535 |   <td></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 536 | </tr> | 
 | 537 | <tr> | 
 | 538 |   <td>    5.2.3 [expr.type.conv]</td> | 
 | 539 |   <td class="complete" align="center">✓</td> | 
 | 540 |   <td class="complete" align="center">✓</td> | 
 | 541 |   <td class="basic"></td> | 
 | 542 |   <td></td> | 
 | 543 |   <td>Only between non-class types</td> | 
 | 544 | </tr> | 
 | 545 | <tr> | 
 | 546 |   <td>    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>    5.2.5 [expr.ref]</td> | 
 | 555 |   <td class="complete" align="center">✓</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>    5.2.6 [expr.post.incr]</td> | 
 | 563 |   <td class="complete" align="center">✓</td> | 
 | 564 |   <td class="complete" align="center">✓</td> | 
 | 565 |   <td class="complete" align="center">✓</td> | 
 | 566 |   <td></td> | 
 | 567 |   <td></td> | 
 | 568 | </tr> | 
 | 569 | <tr> | 
 | 570 |   <td>    5.2.7 [expr.dynamic.cast]</td> | 
 | 571 |   <td class="complete" align="center">✓</td> | 
 | 572 |   <td class="complete" align="center">✓</td> | 
 | 573 |   <td class="complete" align="center">✓</td> | 
 | 574 |   <td></td> | 
 | 575 |   <td></td> | 
 | 576 | </tr> | 
 | 577 | <tr> | 
 | 578 |   <td>    5.2.8 [expr.typeid]</td> | 
 | 579 |   <td class="complete" align="center">✓</td> | 
 | 580 |   <td class="complete" align="center">✓</td> | 
 | 581 |   <td class="complete" align="center">✓</td> | 
 | 582 |   <td></td> | 
 | 583 |   <td></td> | 
 | 584 | </tr> | 
 | 585 | <tr> | 
 | 586 |   <td>    5.2.9 [expr.static.cast]</td> | 
 | 587 |   <td class="complete" align="center">✓</td> | 
 | 588 |   <td class="complete" align="center">✓</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>    5.2.10 [expr.reinterpret.cast]</td> | 
 | 595 |   <td class="complete" align="center">✓</td> | 
 | 596 |   <td class="complete" align="center">✓</td> | 
 | 597 |   <td class="complete" align="center">✓</td> | 
 | 598 |   <td></td> | 
 | 599 |   <td></td> | 
 | 600 | </tr> | 
 | 601 | <tr> | 
 | 602 |   <td>    5.2.11 [expr.const.cast]</td> | 
 | 603 |   <td class="complete" align="center">✓</td> | 
 | 604 |   <td class="complete" align="center">✓</td> | 
 | 605 |   <td class="complete" align="center">✓</td> | 
 | 606 |   <td></td> | 
 | 607 |   <td></td> | 
 | 608 | </tr> | 
 | 609 | <tr><td>  5.3 [expr.unary]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 610 | <tr><td>    5.3.1 [expr.unary.op]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 611 | <tr> | 
 | 612 |   <td>      5.3.1p1 Unary *</td> | 
 | 613 |   <td class="complete" align="center">✓</td> | 
 | 614 |   <td class="complete" align="center">✓</td> | 
 | 615 |   <td class="complete" align="center">✓</td> | 
 | 616 |   <td></td> | 
 | 617 |   <td></td> | 
 | 618 | </tr> | 
 | 619 | <tr> | 
 | 620 |   <td>      5.3.1p2-5 Unary &</td> | 
 | 621 |   <td class="complete" align="center">✓</td> | 
 | 622 |   <td class="complete" align="center">✓</td> | 
 | 623 |   <td class="complete" align="center">✓</td> | 
 | 624 |   <td></td> | 
 | 625 |   <td></td> | 
 | 626 | </tr> | 
 | 627 | <tr> | 
 | 628 |   <td>      5.3.1p6 Unary +</td> | 
 | 629 |   <td class="complete" align="center">✓</td> | 
 | 630 |   <td class="complete" align="center">✓</td> | 
 | 631 |   <td class="complete" align="center">✓</td> | 
 | 632 |   <td></td> | 
 | 633 |   <td></td> | 
 | 634 | </tr> | 
 | 635 | <tr> | 
 | 636 |   <td>      5.3.1p7 Unary -</td> | 
 | 637 |   <td class="complete" align="center">✓</td> | 
 | 638 |   <td class="complete" align="center">✓</td> | 
 | 639 |   <td class="complete" align="center">✓</td> | 
 | 640 |   <td></td> | 
 | 641 |   <td></td> | 
 | 642 | </tr> | 
 | 643 | <tr> | 
 | 644 |   <td>      5.3.1p8 Unary !</td> | 
 | 645 |   <td class="complete" align="center">✓</td> | 
 | 646 |   <td class="complete" align="center">✓</td> | 
 | 647 |   <td class="complete" align="center">✓</td> | 
 | 648 |   <td></td> | 
 | 649 |   <td></td> | 
 | 650 | </tr> | 
 | 651 | <tr> | 
 | 652 |   <td>      5.3.1p9 Unary ~</td> | 
 | 653 |   <td class="complete" align="center">✓</td> | 
 | 654 |   <td class="complete" align="center">✓</td> | 
 | 655 |   <td class="complete" align="center">✓</td> | 
 | 656 |   <td></td> | 
 | 657 |   <td></td> | 
 | 658 | </tr> | 
 | 659 | <tr> | 
 | 660 |   <td>    5.3.2 [expr.pre.incr]</td> | 
 | 661 |   <td class="complete" align="center">✓</td> | 
 | 662 |   <td class="complete" align="center">✓</td> | 
 | 663 |   <td class="complete" align="center">✓</td> | 
 | 664 |   <td></td> | 
 | 665 |   <td></td> | 
 | 666 | </tr> | 
 | 667 | <tr> | 
 | 668 |   <td>    5.3.3 [expr.sizeof]</td> | 
 | 669 |   <td class="complete" align="center">✓</td> | 
 | 670 |   <td class="complete" align="center">✓</td> | 
 | 671 |   <td class="complete" align="center">✓</td> | 
 | 672 |   <td></td> | 
 | 673 |   <td></td> | 
 | 674 | </tr> | 
 | 675 | <tr> | 
 | 676 |   <td>    5.3.4 [expr.new]</td> | 
 | 677 |   <td class="complete" align="center">✓</td> | 
 | 678 |   <td class="complete" align="center">✓</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>    5.3.5 [expr.delete]</td> | 
 | 685 |   <td class="complete" align="center">✓</td> | 
 | 686 |   <td class="complete" align="center">✓</td> | 
 | 687 |   <td class="complete" align="center">✓</td> | 
 | 688 |   <td></td> | 
 | 689 |   <td></td> | 
 | 690 | </tr> | 
 | 691 | <tr> | 
 | 692 |   <td>  5.4 [expr.cast]</td> | 
 | 693 |   <td class="complete" align="center">✓</td> | 
 | 694 |   <td class="complete" align="center">✓</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>  5.5 [expr.mptr.oper]</td> | 
 | 701 |   <td class="complete" align="center">✓</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>  5.6 [expr.mul]</td> | 
 | 709 |   <td class="complete" align="center">✓</td> | 
 | 710 |   <td class="complete" align="center">✓</td> | 
 | 711 |   <td class="complete" align="center">✓</td> | 
 | 712 |   <td></td> | 
 | 713 |   <td></td> | 
 | 714 | </tr> | 
 | 715 | <tr> | 
 | 716 |   <td>  5.7 [expr.add]</td> | 
 | 717 |   <td class="complete" align="center">✓</td> | 
 | 718 |   <td class="complete" align="center">✓</td> | 
 | 719 |   <td class="complete" align="center">✓</td> | 
 | 720 |   <td></td> | 
 | 721 |   <td></td> | 
 | 722 | </tr> | 
 | 723 | <tr> | 
 | 724 |   <td>  5.8 [expr.shift]</td> | 
 | 725 |   <td class="complete" align="center">✓</td> | 
 | 726 |   <td class="complete" align="center">✓</td> | 
 | 727 |   <td class="complete" align="center">✓</td> | 
 | 728 |   <td></td> | 
 | 729 |   <td></td> | 
 | 730 | </tr> | 
 | 731 | <tr> | 
 | 732 |   <td>  5.9 [expr.rel]</td> | 
 | 733 |   <td class="complete" align="center">✓</td> | 
 | 734 |   <td class="complete" align="center">✓</td> | 
 | 735 |   <td class="complete" align="center">✓</td> | 
 | 736 |   <td></td> | 
 | 737 |   <td></td> | 
 | 738 | </tr> | 
 | 739 | <tr> | 
 | 740 |   <td>  5.10 [expr.eq]</td> | 
 | 741 |   <td class="complete" align="center">✓</td> | 
 | 742 |   <td class="complete" align="center">✓</td> | 
 | 743 |   <td class="complete" align="center">✓</td> | 
 | 744 |   <td></td> | 
 | 745 |   <td></td> | 
 | 746 | </tr> | 
 | 747 | <tr> | 
 | 748 |   <td>  5.11 [expr.bit.and]</td> | 
 | 749 |   <td class="complete" align="center">✓</td> | 
 | 750 |   <td class="complete" align="center">✓</td> | 
 | 751 |   <td class="complete" align="center">✓</td> | 
 | 752 |   <td></td> | 
 | 753 |   <td></td> | 
 | 754 | </tr> | 
 | 755 | <tr> | 
 | 756 |   <td>  5.12 [expr.xor]</td> | 
 | 757 |   <td class="complete" align="center">✓</td> | 
 | 758 |   <td class="complete" align="center">✓</td> | 
 | 759 |   <td class="complete" align="center">✓</td> | 
 | 760 |   <td></td> | 
 | 761 |   <td></td> | 
 | 762 | </tr> | 
 | 763 | <tr> | 
 | 764 |   <td>  5.13 [expr.or]</td> | 
 | 765 |   <td class="complete" align="center">✓</td> | 
 | 766 |   <td class="complete" align="center">✓</td> | 
 | 767 |   <td class="complete" align="center">✓</td> | 
 | 768 |   <td></td> | 
 | 769 |   <td></td> | 
 | 770 | </tr> | 
 | 771 | <tr> | 
 | 772 |   <td>  5.14 [expr.log.and]</td> | 
 | 773 |   <td class="complete" align="center">✓</td> | 
 | 774 |   <td class="complete" align="center">✓</td> | 
 | 775 |   <td class="complete" align="center">✓</td> | 
 | 776 |   <td></td> | 
 | 777 |   <td></td> | 
 | 778 | </tr> | 
 | 779 | <tr> | 
 | 780 |   <td>  5.15 [expr.log.or]</td> | 
 | 781 |   <td class="complete" align="center">✓</td> | 
 | 782 |   <td class="complete" align="center">✓</td> | 
 | 783 |   <td class="complete" align="center">✓</td> | 
 | 784 |   <td></td> | 
 | 785 |   <td></td> | 
 | 786 | </tr> | 
 | 787 | <tr> | 
 | 788 |   <td>  5.16 [expr.cond]</td> | 
 | 789 |   <td class="complete" align="center">✓</td> | 
 | 790 |   <td class="complete" align="center">✓</td> | 
| Sebastian Redl | 78eb874 | 2009-04-19 21:53:20 +0000 | [diff] [blame] | 791 |   <td class="complete" align="center">✓</td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 792 |   <td></td> | 
| Sebastian Redl | 78eb874 | 2009-04-19 21:53:20 +0000 | [diff] [blame] | 793 |   <td>some invalid hierarchy casts still accepted, but that's a general problem</td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 794 | </tr> | 
 | 795 | <tr> | 
 | 796 |   <td>  5.17 [expr.ass]</td> | 
 | 797 |   <td class="complete" align="center">✓</td> | 
 | 798 |   <td class="complete" align="center">✓</td> | 
 | 799 |   <td class="complete" align="center">✓</td> | 
 | 800 |   <td></td> | 
 | 801 |   <td></td> | 
 | 802 | </tr> | 
 | 803 | <tr> | 
 | 804 |   <td>  5.18 [expr.comma]</td> | 
 | 805 |   <td class="complete" align="center">✓</td> | 
 | 806 |   <td class="complete" align="center">✓</td> | 
 | 807 |   <td class="complete" align="center">✓</td> | 
 | 808 |   <td></td> | 
 | 809 |   <td></td> | 
 | 810 | </tr> | 
 | 811 | <tr> | 
 | 812 |   <td>  5.19 [expr.const]</td> | 
 | 813 |   <td class="complete" align="center">✓</td> | 
 | 814 |   <td class="complete" align="center">✓</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">✓</td> | 
 | 822 |   <td class="complete" align="center">✓</td> | 
 | 823 |   <td class="complete" align="center">✓</td> | 
 | 824 |   <td></td> | 
 | 825 |   <td></td> | 
 | 826 | </tr> | 
 | 827 | <tr> | 
 | 828 |   <td>  6.1 [stmt.label]</td> | 
 | 829 |   <td class="complete" align="center">✓</td> | 
 | 830 |   <td class="complete" align="center">✓</td> | 
 | 831 |   <td class="complete" align="center">✓</td> | 
 | 832 |   <td></td> | 
 | 833 |   <td></td> | 
 | 834 | </tr> | 
 | 835 | <tr> | 
 | 836 |   <td>  6.2 [stmt.expr]</td> | 
 | 837 |   <td class="complete" align="center">✓</td> | 
 | 838 |   <td class="complete" align="center">✓</td> | 
 | 839 |   <td class="complete" align="center">✓</td> | 
 | 840 |   <td></td> | 
 | 841 |   <td></td> | 
 | 842 | </tr> | 
 | 843 | <tr> | 
 | 844 |   <td>  6.3 [stmt.block]</td> | 
 | 845 |   <td class="complete" align="center">✓</td> | 
 | 846 |   <td class="complete" align="center">✓</td> | 
 | 847 |   <td class="complete" align="center">✓</td> | 
 | 848 |   <td></td> | 
 | 849 |   <td></td> | 
 | 850 | </tr> | 
 | 851 | <tr> | 
 | 852 |   <td>  6.4 [stmt.select]</td> | 
 | 853 |   <td class="complete" align="center">✓</td> | 
 | 854 |   <td class="complete" align="center">✓</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>    6.4.1 [stmt.if]</td> | 
 | 861 |   <td class="complete" align="center">✓</td> | 
 | 862 |   <td class="complete" align="center">✓</td> | 
 | 863 |   <td class="complete" align="center">✓</td> | 
 | 864 |   <td></td> | 
 | 865 |   <td></td> | 
 | 866 | </tr> | 
 | 867 | <tr> | 
 | 868 |   <td>    6.4.2 [stmt.switch]</td> | 
 | 869 |   <td class="complete" align="center">✓</td> | 
 | 870 |   <td class="complete" align="center">✓</td> | 
 | 871 |   <td class="complete" align="center">✓</td> | 
 | 872 |   <td></td> | 
 | 873 |   <td></td> | 
 | 874 | </tr> | 
 | 875 | <tr> | 
 | 876 |   <td>  6.5 [stmt.iter]</td> | 
 | 877 |   <td class="complete" align="center">✓</td> | 
 | 878 |   <td class="complete" align="center">✓</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>    6.5.1 [stmt.while]</td> | 
 | 885 |   <td class="complete" align="center">✓</td> | 
 | 886 |   <td class="complete" align="center">✓</td> | 
 | 887 |   <td class="complete" align="center">✓</td> | 
 | 888 |   <td></td> | 
 | 889 |   <td></td> | 
 | 890 | </tr> | 
 | 891 | <tr> | 
 | 892 |   <td>    6.5.2 [stmt.do]</td> | 
 | 893 |   <td class="complete" align="center">✓</td> | 
 | 894 |   <td class="complete" align="center">✓</td> | 
 | 895 |   <td class="complete" align="center">✓</td> | 
 | 896 |   <td></td> | 
 | 897 |   <td></td> | 
 | 898 | </tr> | 
 | 899 | <tr> | 
 | 900 |   <td>    6.5.3 [stmt.for]</td> | 
 | 901 |   <td class="complete" align="center">✓</td> | 
 | 902 |   <td class="complete" align="center">✓</td> | 
 | 903 |   <td class="complete" align="center">✓</td> | 
 | 904 |   <td></td> | 
 | 905 |   <td></td> | 
 | 906 | </tr> | 
 | 907 | <tr> | 
 | 908 |   <td>  6.6 [stmt.jump]</td> | 
 | 909 |   <td class="complete" align="center">✓</td> | 
 | 910 |   <td class="complete" align="center">✓</td> | 
 | 911 |   <td class="complete" align="center">✓</td> | 
 | 912 |   <td></td> | 
 | 913 |   <td></td> | 
 | 914 | </tr> | 
 | 915 | <tr> | 
 | 916 |   <td>    6.6.1 [stmt.break]</td> | 
 | 917 |   <td class="complete" align="center">✓</td> | 
 | 918 |   <td class="complete" align="center">✓</td> | 
 | 919 |   <td class="complete" align="center">✓</td> | 
 | 920 |   <td></td> | 
 | 921 |   <td></td> | 
 | 922 | </tr> | 
 | 923 | <tr> | 
 | 924 |   <td>    6.6.2 [stmt.cont]</td> | 
 | 925 |   <td class="complete" align="center">✓</td> | 
 | 926 |   <td class="complete" align="center">✓</td> | 
 | 927 |   <td class="complete" align="center">✓</td> | 
 | 928 |   <td></td> | 
 | 929 |   <td></td> | 
 | 930 | </tr> | 
 | 931 | <tr> | 
 | 932 |   <td>    6.6.3 [stmt.return]</td> | 
 | 933 |   <td class="complete" align="center">✓</td> | 
 | 934 |   <td class="complete" align="center">✓</td> | 
 | 935 |   <td class="complete" align="center">✓</td> | 
 | 936 |   <td></td> | 
 | 937 |   <td></td> | 
 | 938 | </tr> | 
 | 939 | <tr> | 
 | 940 |   <td>    6.6.4 [stmt.goto]</td> | 
 | 941 |   <td class="complete" align="center">✓</td> | 
 | 942 |   <td class="complete" align="center">✓</td> | 
 | 943 |   <td class="complete" align="center">✓</td> | 
 | 944 |   <td></td> | 
 | 945 |   <td></td> | 
 | 946 | </tr> | 
 | 947 | <tr> | 
 | 948 |   <td>  6.7 [stmt.dcl]</td> | 
 | 949 |   <td class="complete" align="center">✓</td> | 
 | 950 |   <td class="complete" align="center">✓</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>  6.8 [stmt.ambig]</td> | 
 | 957 |   <td class="complete" align="center">✓</td> | 
 | 958 |   <td class="complete" align="center">✓</td> | 
 | 959 |   <td class="complete" align="center">✓</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 |     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>    7.1.1 [dcl.stc]</td> | 
 | 974 |   <td class="complete" align="center">✓</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>    7.1.2 [dcl.fct.spec]</td> | 
 | 982 |   <td class="complete" align="center">✓</td> | 
 | 983 |   <td class="complete" align="center">✓</td> | 
 | 984 |   <td class="complete" align="center">✓</td> | 
 | 985 |   <td></td> | 
 | 986 |   <td></td> | 
 | 987 | </tr> | 
 | 988 | <tr> | 
 | 989 |   <td>    7.1.3 [dcl.typedef]</td> | 
 | 990 |   <td class="complete" align="center">✓</td> | 
 | 991 |   <td class="complete" align="center">✓</td> | 
 | 992 |   <td class="complete" align="center">✓</td> | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 993 |   <td class="complete" align="center">✓</td> | 
 | 994 |   <td></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 995 | </tr> | 
 | 996 | <tr> | 
 | 997 |   <td>    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>    7.1.5 [dcl.type]</td> | 
 | 1006 |   <td class="complete" align="center">✓</td> | 
 | 1007 |   <td class="complete" align="center">✓</td> | 
 | 1008 |   <td class="complete" align="center">✓</td> | 
 | 1009 |   <td></td> | 
 | 1010 |   <td></td> | 
 | 1011 | </tr> | 
 | 1012 | <tr> | 
 | 1013 |   <td>      7.1.5.1 [dcl.type.cv]</td> | 
 | 1014 |   <td class="complete" align="center">✓</td> | 
 | 1015 |   <td class="complete" align="center">✓</td> | 
 | 1016 |   <td class="complete" align="center">✓</td> | 
 | 1017 |   <td></td> | 
 | 1018 |   <td></td> | 
 | 1019 | </tr> | 
 | 1020 | <tr> | 
 | 1021 |   <td>      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>      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>  7.2 [dcl.enum]</td> | 
 | 1038 |   <td class="complete" align="center">✓</td> | 
 | 1039 |   <td class="complete" align="center">✓</td> | 
 | 1040 |   <td class="complete" align="center">✓</td> | 
 | 1041 |   <td></td> | 
 | 1042 |   <td></td> | 
 | 1043 | </tr> | 
 | 1044 | <tr> | 
 | 1045 |   <td>  7.3 [basic.namespace]</td> | 
 | 1046 |   <td class="complete" align="center">✓</td> | 
 | 1047 |   <td class="complete" align="center">✓</td> | 
 | 1048 |   <td class="complete" align="center">✓</td> | 
 | 1049 |   <td></td> | 
 | 1050 |   <td></td> | 
 | 1051 | </tr> | 
 | 1052 | <tr> | 
 | 1053 |   <td>    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>      7.3.1.1 [namespace.unnamed]</td> | 
 | 1062 |   <td class="complete" align="center">✓</td> | 
 | 1063 |   <td class="complete" align="center">✓</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>      7.3.1.2 [namespace.memdef]</td> | 
 | 1070 |   <td class="complete" align="center">✓</td> | 
 | 1071 |   <td class="complete" align="center">✓</td> | 
 | 1072 |   <td class="advanced"></td> | 
 | 1073 |   <td></td> | 
 | 1074 |   <td>The friend stuff is not supported.</td> | 
 | 1075 | </tr> | 
 | 1076 | <tr> | 
 | 1077 |   <td>    7.3.2 [namespace.alias]</td> | 
| Anders Carlsson | 5705e53 | 2009-03-31 17:17:14 +0000 | [diff] [blame] | 1078 |   <td class="complete" align="center">✓</td> | 
 | 1079 |   <td class="complete" align="center">✓</td> | 
 | 1080 |   <td class="complete" align="center">✓</td> | 
 | 1081 |   <td class="na">N/A</td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1082 |   <td></td> | 
 | 1083 | </tr> | 
 | 1084 | <tr> | 
 | 1085 |   <td>    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>    7.3.4[namespace.udir]</td> | 
 | 1094 |   <td class="complete" align="center">✓</td> | 
 | 1095 |   <td class="complete" align="center">✓</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 |     7.4 [dcl.asm]</td> | 
 | 1102 |   <td class="complete" align="center">✓</td> | 
 | 1103 |   <td class="complete" align="center">✓</td> | 
 | 1104 |   <td class="complete" align="center">✓</td> | 
 | 1105 |   <td></td> | 
 | 1106 |   <td></td> | 
 | 1107 | </tr> | 
 | 1108 | <tr> | 
 | 1109 |   <td>  7.5 [dcl.link]</td> | 
 | 1110 |   <td class="complete" align="center">✓</td> | 
 | 1111 |   <td class="basic"></td> | 
 | 1112 |   <td class="basic"></td> | 
 | 1113 |   <td></td> | 
 | 1114 |   <td></td> | 
 | 1115 | </tr> | 
 | 1116 | <tr><td>8 [dcl.decl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1117 | <tr><td>  8.1 [dcl.name]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1118 | <tr><td>  8.2 [dcl.ambig.res]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1119 | <tr><td>  8.3 [dcl.meaning]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1120 | <tr><td>    8.3.1 [dcl.ptr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1121 | <tr><td>    8.3.2 [dcl.ref]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1122 | <tr><td>    8.3.3 [dcl.mptr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1123 | <tr><td>    8.3.4 [dcl.array]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1124 | <tr><td>    8.3.5 [dcl.fct]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1125 | <tr> | 
 | 1126 |   <td>    8.3.6 [dcl.fct.default]</td> | 
 | 1127 |   <td class="advanced" align="center"></td> | 
 | 1128 |   <td class="advanced" align="center"></td> | 
 | 1129 |   <td class="advanced" align="center"></td> | 
 | 1130 |   <td></td> | 
 | 1131 |   <td>Missing default arguments for templates.</td> | 
 | 1132 | </tr> | 
 | 1133 | <tr><td>  8.4 [dcl.fct.def]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1134 | <tr><td>  8.5 [dcl.init]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1135 | <tr> | 
 | 1136 |   <td>    8.5.1[dcl.init.aggr]</td> | 
 | 1137 |   <td class="advanced" align="center"></td> | 
 | 1138 |   <td class="advanced" align="center"></td> | 
 | 1139 |   <td class="medium" align="center"></td> | 
 | 1140 |   <td class="basic" align="center"></td> | 
 | 1141 |   <td>No CodeGen for initializing non-aggregates or dynamic initialization.</td> | 
 | 1142 | </tr> | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1143 | <tr> | 
 | 1144 |   <td>    8.5.2[dcl.init.string]</td> | 
 | 1145 |   <td class="advanced" align="center"></td> | 
 | 1146 |   <td class="advanced" align="center"></td> | 
 | 1147 |   <td class="medium" align="center"></td> | 
 | 1148 |   <td class="basic" align="center"></td> | 
 | 1149 |   <td></td> | 
 | 1150 | </tr> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1151 | <tr> | 
 | 1152 |   <td>    8.5.3 [dcl.init.ref]</td> | 
 | 1153 |   <td class="advanced" align="center"></td> | 
 | 1154 |   <td class="advanced" align="center"></td> | 
 | 1155 |   <td class="medium" align="center"></td> | 
 | 1156 |   <td class="basic" align="center"></td> | 
 | 1157 |   <td></td> | 
 | 1158 | </tr> | 
 | 1159 | <tr> | 
 | 1160 |   <td>9 [class]</td> | 
 | 1161 |   <td class="advanced" align="center"></td> | 
 | 1162 |   <td></td> | 
 | 1163 |   <td></td> | 
 | 1164 |   <td></td> | 
 | 1165 |   <td></td> | 
 | 1166 | </tr> | 
 | 1167 | <tr> | 
 | 1168 |   <td>  9.1 [class.name]</td> | 
 | 1169 |   <td class="complete" align="center">✓</td>   | 
 | 1170 |   <td></td> | 
 | 1171 |   <td></td> | 
 | 1172 |   <td></td> | 
 | 1173 |   <td></td> | 
 | 1174 | </tr> | 
 | 1175 | <tr> | 
 | 1176 |   <td>  9.2 [class.mem]</td> | 
 | 1177 |   <td class="advanced" align="center"></td> | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1178 |   <td class="medium" align="center"></td> | 
 | 1179 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1180 |   <td></td> | 
 | 1181 |   <td>No parser support for using declarations, or templates.</td> | 
 | 1182 | </tr> | 
 | 1183 | <tr> | 
 | 1184 |   <td>  9.3 [class.mfct]</td> | 
 | 1185 |   <td class="complete" align="center">✓</td>   | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1186 |   <td class="medium" align="center"></td> | 
 | 1187 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1188 |   <td></td> | 
 | 1189 |   <td></td> | 
 | 1190 | </tr> | 
 | 1191 | <tr> | 
 | 1192 |   <td>    9.3.1 [class.mfct.non-static]</td> | 
 | 1193 |   <td class="complete" align="center">✓</td>   | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1194 |   <td class="medium" align="center"></td> | 
 | 1195 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1196 |   <td></td> | 
 | 1197 |   <td></td> | 
 | 1198 | </tr> | 
 | 1199 | <tr> | 
 | 1200 |   <td>    9.3.2 [class.this]</td> | 
 | 1201 |   <td class="complete" align="center">✓</td>   | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1202 |   <td class="medium" align="center"></td> | 
 | 1203 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1204 |   <td></td> | 
 | 1205 |   <td></td> | 
 | 1206 | </tr> | 
 | 1207 | <tr> | 
 | 1208 |   <td>  9.4 [class.static]</td> | 
 | 1209 |   <td class="complete" align="center">✓</td>   | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1210 |   <td class="complete" align="center">✓</td> | 
 | 1211 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1212 |   <td></td> | 
 | 1213 |   <td></td> | 
 | 1214 | </tr> | 
 | 1215 | <tr> | 
 | 1216 |   <td>    9.4.1 [class.static.mfct]</td> | 
 | 1217 |   <td class="complete" align="center">✓</td>   | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1218 |   <td class="complete" align="center">✓</td> | 
 | 1219 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1220 |   <td></td> | 
 | 1221 |   <td></td> | 
 | 1222 | </tr> | 
 | 1223 | <tr> | 
 | 1224 |   <td>    9.4.2 [class.static.data]</td> | 
 | 1225 |   <td class="complete" align="center">✓</td>   | 
| Douglas Gregor | 35adb75 | 2009-03-12 00:09:31 +0000 | [diff] [blame] | 1226 |   <td class="complete" align="center">✓</td> | 
 | 1227 |   <td class="medium" align="center"></td> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1228 |   <td></td> | 
 | 1229 |   <td></td> | 
 | 1230 | </tr> | 
 | 1231 | <tr> | 
 | 1232 |   <td>  9.5 [class.union]</td> | 
 | 1233 |   <td class="complete" align="center">✓</td>   | 
 | 1234 |   <td class="complete" align="center">✓</td> | 
 | 1235 |   <td class="medium"></td> | 
 | 1236 |   <td class="medium"></td> | 
 | 1237 |   <td>Semantic analysis does not yet check all of the requirements placed on the members of unions.</td> | 
 | 1238 | </tr> | 
 | 1239 | <tr> | 
 | 1240 |   <td>  9.6 [class.bit]</td> | 
 | 1241 |   <td class="complete" align="center">✓</td>   | 
 | 1242 |   <td></td> | 
 | 1243 |   <td></td> | 
 | 1244 |   <td></td> | 
 | 1245 |   <td></td> | 
 | 1246 | </tr> | 
 | 1247 | <tr> | 
 | 1248 |   <td>  9.7 [class.nest]</td> | 
 | 1249 |   <td class="complete" align="center">✓</td>   | 
 | 1250 |   <td></td> | 
 | 1251 |   <td></td> | 
 | 1252 |   <td></td> | 
 | 1253 |   <td></td> | 
 | 1254 | </tr> | 
 | 1255 | <tr> | 
 | 1256 |   <td>  9.8 [class.local]</td> | 
 | 1257 |   <td class="complete" align="center">✓</td>   | 
 | 1258 |   <td></td> | 
 | 1259 |   <td></td> | 
 | 1260 |   <td></td> | 
 | 1261 |   <td></td> | 
 | 1262 | </tr> | 
 | 1263 | <tr> | 
 | 1264 |   <td>  9.9 [class.nested.type]</td> | 
 | 1265 |   <td class="complete" align="center">✓</td>   | 
 | 1266 |   <td></td> | 
 | 1267 |   <td></td> | 
 | 1268 |   <td></td> | 
 | 1269 |   <td></td> | 
 | 1270 | </tr> | 
 | 1271 | <tr><td>10 [class.derived]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1272 | <tr><td>  10.1 [class.mi]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1273 | <tr><td>  10.2 [class.member.lookup]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1274 | <tr><td>  10.3 [class.virtual]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
| Anders Carlsson | 1edac4d | 2009-03-24 01:24:06 +0000 | [diff] [blame] | 1275 | <tr> | 
 | 1276 |   <td>  10.4 [class.abstract]</td> | 
 | 1277 |   <td class="complete" align="center">✓</td>   | 
 | 1278 |   <td class="complete" align="center">✓</td>   | 
 | 1279 |   <td class="complete" align="center">✓</td>   | 
 | 1280 |   <td class="na">N/A</td> | 
 | 1281 |   <td></td> | 
 | 1282 |  </tr> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1283 | <tr><td>11 [class.access]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1284 | <tr><td>  11.1 [class.access.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1285 | <tr><td>  11.2 [class.access.base]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1286 | <tr><td>  11.3 [class.access.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1287 | <tr><td>  11.4 [class.friend]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1288 | <tr><td>  11.5 [class.protected]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1289 | <tr><td>  11.6 [class.access.virt]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1290 | <tr><td>  11.7 [class.paths]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1291 | <tr><td>  11.8 [class.access.nest]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1292 | <tr><td>12 [special]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1293 | <tr> | 
 | 1294 |   <td>  12.1 [class.ctor]</td> | 
 | 1295 |   <td class="advanced" align="center"></td> | 
 | 1296 |   <td class="medium" align="center"></td> | 
 | 1297 |   <td class="basic" align="center"></td> | 
 | 1298 |   <td class="broken" align="center"></td> | 
 | 1299 |   <td></td> | 
 | 1300 | </tr> | 
 | 1301 | <tr><td>  12.2 [class.temporary]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1302 | <tr> | 
 | 1303 |   <td>  12.3 [class.conv]</td> | 
 | 1304 |   <td class="advanced" align="center"></td> | 
 | 1305 |   <td class="medium" align="center"></td> | 
 | 1306 |   <td class="basic" align="center"></td> | 
 | 1307 |   <td class="broken" align="center"></td> | 
 | 1308 |   <td></td> | 
 | 1309 | </tr> | 
 | 1310 | <tr> | 
 | 1311 |   <td>    12.3.1 [class.conv.ctor]</td> | 
 | 1312 |   <td class="advanced" align="center"></td> | 
 | 1313 |   <td class="medium" align="center"></td> | 
 | 1314 |   <td class="medium" align="center"></td> | 
 | 1315 |   <td class="broken" align="center"></td> | 
 | 1316 |   <td></td> | 
 | 1317 | </tr> | 
 | 1318 | <tr> | 
 | 1319 |   <td>    12.3.2 [class.conv.fct]</td> | 
 | 1320 |   <td class="advanced" align="center"></td> | 
 | 1321 |   <td class="medium" align="center"></td> | 
 | 1322 |   <td class="basic" align="center"></td> | 
 | 1323 |   <td class="broken" align="center"></td> | 
 | 1324 |   <td>Conversion functions can be declared and defined, but aren't used for anything.</td> | 
 | 1325 | </tr> | 
 | 1326 | <tr> | 
 | 1327 |   <td>  12.4 [class.dtor]</td> | 
 | 1328 |   <td class="advanced" align="center"></td> | 
 | 1329 |   <td class="medium" align="center"></td> | 
 | 1330 |   <td class="basic" align="center"></td> | 
 | 1331 |   <td class="broken" align="center"></td> | 
 | 1332 |   <td>Most of the semantics of destructors are unimplemented.</td> | 
 | 1333 | </tr> | 
 | 1334 | <tr><td>  12.5 [class.free]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1335 | <tr><td>  12.6 [class.init]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1336 | <tr><td>    12.6.1 [class.expl.init]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1337 | <tr> | 
 | 1338 |   <td>    12.6.2 [class.base.init]</td> | 
 | 1339 |   <td class="advanced" align="center"></td> | 
 | 1340 |   <td class="medium" align="center"></td> | 
 | 1341 |   <td class="basic" align="center"></td> | 
 | 1342 |   <td class="broken" align="center"></td> | 
 | 1343 |   <td>No actual direct initialization; implicit initialization not checked.</td> | 
 | 1344 | </tr> | 
 | 1345 | <tr><td>  12.7 [class.cdtor]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1346 | <tr><td>  12.8 [class.copy]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1347 | <tr><td>13 [over]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1348 | <tr> | 
 | 1349 |   <td>  13.1 [over.load]</td> | 
 | 1350 |   <td class="complete" align="center">✓</td>   | 
 | 1351 |   <td class="basic" align="center"></td> | 
 | 1352 |   <td class="basic" align="center"></td> | 
 | 1353 |   <td class="broken" align="center"></td> | 
 | 1354 |   <td>Missing name mangling.</td> | 
 | 1355 | </tr> | 
 | 1356 | <tr> | 
 | 1357 |   <td>  13.2 [over.dcl]</td> | 
 | 1358 |   <td class="complete" align="center">✓</td>   | 
 | 1359 |   <td class="basic" align="center"></td> | 
 | 1360 |   <td class="basic" align="center"></td> | 
 | 1361 |   <td class="broken" align="center"></td> | 
 | 1362 |   <td></td> | 
 | 1363 | </tr> | 
 | 1364 | <tr> | 
 | 1365 |   <td>  13.3 [over.match]</td> | 
 | 1366 |   <td class="complete" align="center">✓</td>   | 
 | 1367 |   <td class="basic" align="center"></td> | 
 | 1368 |   <td class="basic" align="center"></td> | 
 | 1369 |   <td class="broken" align="center"></td>   | 
 | 1370 |   <td></td> | 
 | 1371 | </tr> | 
 | 1372 | <tr> | 
 | 1373 |   <td>    13.3.1 [over.match.funcs]</td> | 
 | 1374 |   <td class="complete" align="center">✓</td>   | 
 | 1375 |   <td class="basic" align="center"></td> | 
 | 1376 |   <td class="basic" align="center"></td> | 
 | 1377 |   <td class="broken" align="center"></td>   | 
 | 1378 |   <td></td> | 
 | 1379 | </tr> | 
 | 1380 | <tr> | 
 | 1381 |   <td>      13.3.1.1 [over.match.call]</td> | 
 | 1382 |   <td class="complete" align="center">✓</td>   | 
 | 1383 |   <td class="basic" align="center"></td> | 
 | 1384 |   <td class="basic" align="center"></td> | 
 | 1385 |   <td class="broken" align="center"></td>   | 
 | 1386 |   <td></td> | 
 | 1387 | </tr> | 
 | 1388 | <tr> | 
 | 1389 |   <td>        13.3.1.1.1 [over.call.func]</td> | 
 | 1390 |   <td class="complete" align="center">✓</td>   | 
 | 1391 |   <td class="basic" align="center"></td> | 
 | 1392 |   <td class="basic" align="center"></td> | 
 | 1393 |   <td class="broken" align="center"></td>   | 
 | 1394 |   <td></td> | 
 | 1395 | </tr> | 
 | 1396 | <tr> | 
 | 1397 |   <td>        13.3.1.1.2 [over.call.object]</td> | 
 | 1398 |   <td class="complete" align="center">✓</td>   | 
 | 1399 |   <td class="medium" align="center"></td> | 
 | 1400 |   <td class="advanced" align="center"></td> | 
 | 1401 |   <td class="broken" align="center"></td>   | 
 | 1402 |   <td>Missing AST representation for the implicit conversion to a function reference/pointer</td> | 
 | 1403 | </tr> | 
 | 1404 | <tr> | 
 | 1405 |   <td>      13.3.1.2 [over.match.oper]</td> | 
 | 1406 |   <td class="complete" align="center">✓</td>   | 
 | 1407 |   <td class="advanced" align="center"></td> | 
 | 1408 |   <td class="advanced" align="center"></td> | 
 | 1409 |   <td class="broken" align="center"></td>   | 
 | 1410 |   <td></td> | 
 | 1411 | </tr> | 
 | 1412 | <tr> | 
 | 1413 |   <td>      13.3.1.3 [over.match.ctor]</td> | 
 | 1414 |   <td class="complete" align="center">✓</td>   | 
 | 1415 |   <td class="basic" align="center"></td> | 
 | 1416 |   <td class="basic" align="center"></td> | 
 | 1417 |   <td class="broken" align="center"></td>   | 
 | 1418 |   <td></td> | 
 | 1419 | </tr> | 
 | 1420 | <tr> | 
 | 1421 |   <td>      13.3.1.4 [over.match.copy]</td> | 
 | 1422 |   <td class="complete" align="center">✓</td>   | 
 | 1423 |   <td class="basic" align="center"></td> | 
 | 1424 |   <td class="basic" align="center"></td> | 
 | 1425 |   <td class="broken" align="center"></td>   | 
 | 1426 |   <td></td> | 
 | 1427 | </tr> | 
 | 1428 | <tr> | 
 | 1429 |   <td>      13.3.1.5 [over.match.conv]</td> | 
 | 1430 |   <td class="complete" align="center">✓</td>   | 
 | 1431 |   <td class="broken" align="center"></td> | 
 | 1432 |   <td class="broken" align="center"></td> | 
 | 1433 |   <td class="broken" align="center"></td>   | 
 | 1434 |   <td></td> | 
 | 1435 | </tr> | 
 | 1436 | <tr> | 
 | 1437 |   <td>      13.3.1.6 [over.match.ref]</td> | 
 | 1438 |   <td class="complete" align="center">✓</td>   | 
 | 1439 |   <td class="basic" align="center"></td> | 
 | 1440 |   <td class="basic" align="center"></td> | 
 | 1441 |   <td class="broken" align="center"></td>   | 
 | 1442 |   <td></td> | 
 | 1443 | </tr> | 
 | 1444 | <tr> | 
 | 1445 |   <td>    13.3.2 [over.match.viable]</td> | 
 | 1446 |   <td class="complete" align="center">✓</td>   | 
 | 1447 |   <td class="medium" align="center"></td> | 
 | 1448 |   <td class="medium" align="center"></td> | 
 | 1449 |   <td class="broken" align="center"></td>   | 
 | 1450 |   <td></td> | 
 | 1451 | </tr> | 
 | 1452 | <tr> | 
 | 1453 |   <td>    13.3.3 [over.match.best]</td> | 
 | 1454 |   <td class="complete" align="center">✓</td>   | 
 | 1455 |   <td class="basic" align="center"></td> | 
 | 1456 |   <td class="basic" align="center"></td> | 
 | 1457 |   <td class="broken" align="center"></td>   | 
 | 1458 |   <td></td> | 
 | 1459 | </tr> | 
 | 1460 | <tr> | 
 | 1461 |   <td>      13.3.3.1 [over.best.ics]</td> | 
 | 1462 |   <td class="complete" align="center">✓</td>   | 
 | 1463 |   <td class="medium" align="center"></td> | 
 | 1464 |   <td class="medium" align="center"></td> | 
 | 1465 |   <td class="broken" align="center"></td>   | 
 | 1466 |   <td></td> | 
 | 1467 | </tr> | 
 | 1468 | <tr> | 
 | 1469 |   <td>        13.3.3.1.1 [over.ics.scs]</td> | 
 | 1470 |   <td class="complete" align="center">✓</td>   | 
 | 1471 |   <td class="medium" align="center"></td> | 
 | 1472 |   <td class="medium" align="center"></td> | 
 | 1473 |   <td class="broken" align="center"></td>   | 
 | 1474 |   <td></td> | 
 | 1475 | </tr> | 
 | 1476 | <tr> | 
 | 1477 |   <td>        13.3.3.1.2 [over.ics.user]</td> | 
 | 1478 |   <td class="complete" align="center">✓</td>   | 
 | 1479 |   <td class="basic" align="center"></td> | 
 | 1480 |   <td class="basic" align="center"></td> | 
 | 1481 |   <td class="broken" align="center"></td>   | 
 | 1482 |   <td></td> | 
 | 1483 | </tr> | 
 | 1484 | <tr> | 
 | 1485 |   <td>        13.3.3.1.3 [over.ics.ellipsis]</td> | 
 | 1486 |   <td class="complete" align="center">✓</td>   | 
 | 1487 |   <td class="medium" align="center"></td> | 
 | 1488 |   <td class="medium" align="center"></td> | 
 | 1489 |   <td class="broken" align="center"></td>   | 
 | 1490 |   <td></td> | 
 | 1491 | </tr> | 
 | 1492 | <tr> | 
 | 1493 |   <td>        13.3.3.1.4 [over.ics.ref]</td> | 
 | 1494 |   <td class="complete" align="center">✓</td>   | 
 | 1495 |   <td class="medium" align="center"></td> | 
 | 1496 |   <td class="medium" align="center"></td> | 
 | 1497 |   <td class="broken" align="center"></td>   | 
 | 1498 |   <td></td> | 
 | 1499 | </tr> | 
 | 1500 | <tr> | 
 | 1501 |   <td>      13.3.3.2 [over.ics.rank]</td> | 
 | 1502 |   <td class="complete" align="center">✓</td>   | 
 | 1503 |   <td class="medium" align="center"></td> | 
 | 1504 |   <td class="medium" align="center"></td> | 
 | 1505 |   <td class="broken" align="center"></td>   | 
 | 1506 |   <td></td> | 
 | 1507 | </tr> | 
 | 1508 | <tr> | 
 | 1509 |   <td>  13.4 [over.over]</td> | 
 | 1510 |   <td class="advanced" align="center"></td>   | 
 | 1511 |   <td class="medium" align="center"></td> | 
 | 1512 |   <td class="basic" align="center"></td> | 
 | 1513 |   <td class="broken" align="center"></td>   | 
 | 1514 |   <td>Error messages need some work. Without templates or using | 
 | 1515 |   declarations, we don't have any ambiguities, so the semantic | 
 | 1516 |   analysis is incomplete.</td> | 
 | 1517 | </tr> | 
 | 1518 | <tr> | 
 | 1519 |   <td>  13.5 [over.oper]</td> | 
 | 1520 |   <td class="advanced" align="center"></td>   | 
 | 1521 |   <td class="advanced" align="center"></td> | 
 | 1522 |   <td class="medium" align="center"></td> | 
 | 1523 |   <td class="broken" align="center"></td>   | 
 | 1524 |   <td>Some overloaded operators can only be called with function syntax, e.g., <code>operator[](x)</code>.</td> | 
 | 1525 | </tr> | 
 | 1526 | <tr> | 
 | 1527 |   <td>    13.5.1 [over.unary]</td> | 
 | 1528 |   <td class="na" align="center">N/A</td>   | 
 | 1529 |   <td class="advanced" align="center"></td> | 
 | 1530 |   <td class="advanced" align="center"></td> | 
 | 1531 |   <td class="broken" align="center"></td>   | 
 | 1532 |   <td></td> | 
 | 1533 | </tr> | 
 | 1534 | <tr> | 
 | 1535 |   <td>    13.5.2 [over.binary]</td> | 
 | 1536 |   <td class="na" align="center">N/A</td>   | 
 | 1537 |   <td class="advanced" align="center"></td> | 
 | 1538 |   <td class="advanced" align="center"></td> | 
 | 1539 |   <td class="broken" align="center"></td>   | 
 | 1540 |   <td></td> | 
 | 1541 | </tr> | 
 | 1542 | <tr> | 
 | 1543 |   <td>    13.5.3 [over.ass]</td> | 
 | 1544 |   <td class="na" align="center">N/A</td>   | 
 | 1545 |   <td class="advanced" align="center"></td> | 
 | 1546 |   <td class="advanced" align="center"></td> | 
 | 1547 |   <td class="broken" align="center"></td>   | 
 | 1548 |   <td></td> | 
 | 1549 | </tr> | 
 | 1550 | <tr> | 
 | 1551 |   <td>    13.5.4 [over.call]</td> | 
 | 1552 |   <td class="na" align="center">N/A</td>   | 
 | 1553 |   <td class="advanced" align="center"></td> | 
 | 1554 |   <td class="advanced" align="center"></td> | 
 | 1555 |   <td class="broken" align="center"></td>   | 
 | 1556 |   <td></td> | 
 | 1557 | </tr> | 
 | 1558 | <tr> | 
 | 1559 |   <td>    13.5.5 [over.sub]</td> | 
 | 1560 |   <td class="na" align="center">N/A</td>   | 
 | 1561 |   <td class="advanced" align="center"></td> | 
 | 1562 |   <td class="advanced" align="center"></td> | 
 | 1563 |   <td class="broken" align="center"></td>   | 
 | 1564 |   <td></td> | 
 | 1565 | </tr> | 
 | 1566 | <tr> | 
 | 1567 |   <td>    13.5.6 [over.ref]</td> | 
 | 1568 |   <td class="na" align="center">N/A</td>   | 
 | 1569 |   <td class="advanced" align="center"></td> | 
 | 1570 |   <td class="advanced" align="center"></td> | 
 | 1571 |   <td class="broken" align="center"></td>   | 
 | 1572 |   <td></td> | 
 | 1573 | </tr> | 
 | 1574 | <tr> | 
 | 1575 |   <td>    13.5.7 [over.inc]</td> | 
 | 1576 |   <td class="na" align="center">N/A</td>   | 
 | 1577 |   <td class="advanced" align="center"></td> | 
 | 1578 |   <td class="advanced" align="center"></td> | 
 | 1579 |   <td class="broken" align="center"></td>   | 
 | 1580 |   <td></td> | 
 | 1581 | </tr> | 
 | 1582 | <tr> | 
 | 1583 |   <td>  13.6 [over.built]</td> | 
 | 1584 |   <td class="na" align="center">N/A</td>   | 
 | 1585 |   <td class="advanced" align="center"></td> | 
 | 1586 |   <td class="medium" align="center"></td> | 
 | 1587 |   <td class="broken" align="center"></td>   | 
 | 1588 |   <td>Missing pointer-to-member versions (p11, p16) and support for | 
 | 1589 |   the ternary operator (p24, p25).</td> | 
 | 1590 | </tr> | 
 | 1591 | <tr><td>14 [temp]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1592 | <tr><td>  14.1 [temp.param]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1593 | <tr><td>  14.2 [temp.names]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1594 | <tr><td>  14.3 [temp.arg]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1595 | <tr><td>    14.3.1 [temp.arg.type]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1596 | <tr><td>    14.3.2 [temp.arg.nontype]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1597 | <tr><td>    14.3.3 [temp.arg.template]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1598 | <tr><td>  14.4 [temp.type]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1599 | <tr><td>  14.5 [temp.decls]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1600 | <tr><td>    14.5.1 [temp.class]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1601 | <tr><td>      14.5.1.1 [temp.mem.func]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1602 | <tr><td>      14.5.1.2 [temp.mem.class]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1603 | <tr><td>      14.5.1.3 [temp.static]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1604 | <tr><td>    14.5.2 [temp.mem]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1605 | <tr><td>    14.5.3 [temp.friend]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1606 | <tr><td>    14.5.4 [temp.class.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1607 | <tr><td>      14.5.5.1 [temp.class.spec.match]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1608 | <tr><td>      14.5.5.2 [temp.class.order]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1609 | <tr><td>      14.5.5.3 [temp.class.spec.mfunc]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1610 | <tr><td>    14.5.5 [temp.fct]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1611 | <tr><td>      14.5.5.1 [temp.over.link]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1612 | <tr><td>      14.5.5.2 [temp.func.order]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1613 | <tr><td>  14.6 [temp.res]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1614 | <tr><td>    14.6.1 [temp.local]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1615 | <tr><td>    14.6.2 [temp.dep]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1616 | <tr><td>      14.6.2.1 [temp.dep.type]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1617 | <tr><td>      14.6.2.2 [temp.dep.expr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1618 | <tr><td>      14.6.2.3 [temp.dep.constexpr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1619 | <tr><td>      14.6.2.4 [temp.dep.temp]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1620 | <tr><td>    14.6.3 [temp.nondep]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1621 | <tr><td>    14.6.4 [temp.dep.res]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1622 | <tr><td>      14.6.4.1 [temp.point]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1623 | <tr><td>      14.6.4.2 [temp.dep.candidate]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1624 | <tr><td>    14.6.5 [temp.inject]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1625 | <tr><td>  14.7 [temp.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1626 | <tr><td>    14.7.1 [temp.inst]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1627 | <tr><td>    14.7.2 [temp.explicit]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1628 | <tr><td>    14.7.3 [temp.expl.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1629 | <tr><td>  14.8 [temp.fct.spec]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1630 | <tr><td>    14.8.1 [temp.arg.explicit]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1631 | <tr><td>    14.8.2 [temp.deduct]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1632 | <tr><td>      14.8.2.1 [temp.deduct.call]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1633 | <tr><td>      14.8.2.2 [temp.deduct.funcaddr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1634 | <tr><td>      14.8.2.3 [temp.deduct.conv]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1635 | <tr><td>      14.8.2.4 [temp.deduct.type]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1636 | <tr><td>    14.8.3 [temp.over]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1637 | <tr> | 
 | 1638 |   <td>15 [except]</td> | 
 | 1639 |   <td class="complete" align="center">✓</td> | 
 | 1640 |   <td class="complete" align="center">✓</td> | 
| Sebastian Redl | 972041f | 2009-04-27 20:27:31 +0000 | [diff] [blame^] | 1641 |   <td class="complete" align="center">✓</td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1642 |   <td></td> | 
 | 1643 |   <td></td> | 
 | 1644 | </tr> | 
 | 1645 | <tr> | 
 | 1646 |   <td>  15.1 [except.throw]</td> | 
 | 1647 |   <td class="na" align="center">N/A</td> | 
 | 1648 |   <td class="na" align="center">N/A</td> | 
| Sebastian Redl | 972041f | 2009-04-27 20:27:31 +0000 | [diff] [blame^] | 1649 |   <td class="advanced" align="center"></td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1650 |   <td></td> | 
| Sebastian Redl | 972041f | 2009-04-27 20:27:31 +0000 | [diff] [blame^] | 1651 |   <td>Does not check for existence of copy constructor and destructor, and some other details</td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1652 | </tr> | 
 | 1653 | <tr> | 
 | 1654 |   <td>  15.2 [except.ctor]</td> | 
 | 1655 |   <td class="na" align="center">N/A</td> | 
 | 1656 |   <td class="na" align="center">N/A</td> | 
 | 1657 |   <td class="na" align="center">N/A</td> | 
 | 1658 |   <td></td> | 
 | 1659 |   <td></td> | 
 | 1660 | </tr> | 
 | 1661 | <tr> | 
 | 1662 |   <td>  15.3 [except.handle]</td> | 
 | 1663 |   <td class="na" align="center">N/A</td> | 
 | 1664 |   <td class="na" align="center">N/A</td> | 
| Sebastian Redl | 972041f | 2009-04-27 20:27:31 +0000 | [diff] [blame^] | 1665 |   <td class="advanced" align="center"></td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1666 |   <td></td> | 
| Sebastian Redl | 972041f | 2009-04-27 20:27:31 +0000 | [diff] [blame^] | 1667 |   <td>Not all constraints are checked, such as existence of return statements in function-try-block handlers of constructors</td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1668 | </tr> | 
 | 1669 | <tr> | 
 | 1670 |   <td>  15.4 [except.spec]</td> | 
 | 1671 |   <td></td> | 
 | 1672 |   <td></td> | 
 | 1673 |   <td></td> | 
 | 1674 |   <td></td> | 
 | 1675 |   <td></td> | 
 | 1676 | </tr> | 
 | 1677 | <tr> | 
 | 1678 |   <td>  15.5 [except.special]</td> | 
 | 1679 |   <td class="na" align="center">N/A</td> | 
 | 1680 |   <td class="na" align="center">N/A</td> | 
 | 1681 |   <td class="na" align="center">N/A</td> | 
 | 1682 |   <td class="na" align="center">N/A</td> | 
 | 1683 |   <td></td> | 
 | 1684 | </tr> | 
 | 1685 | <tr> | 
 | 1686 |   <td>    15.5.1 [except.terminate]</td> | 
 | 1687 |   <td class="na" align="center">N/A</td> | 
 | 1688 |   <td class="na" align="center">N/A</td> | 
 | 1689 |   <td class="na" align="center">N/A</td> | 
 | 1690 |   <td class="na" align="center">N/A</td> | 
 | 1691 |   <td></td> | 
 | 1692 | </tr> | 
 | 1693 | <tr> | 
 | 1694 |   <td>    15.5.2 [except.unexpected]</td> | 
 | 1695 |   <td class="na" align="center">N/A</td> | 
 | 1696 |   <td class="na" align="center">N/A</td> | 
 | 1697 |   <td class="na" align="center">N/A</td> | 
 | 1698 |   <td class="na" align="center">N/A</td> | 
 | 1699 |   <td></td> | 
 | 1700 | </tr> | 
 | 1701 | <tr> | 
 | 1702 |   <td>    15.5.3 [except.uncaught]</td> | 
 | 1703 |   <td class="na" align="center">N/A</td> | 
 | 1704 |   <td class="na" align="center">N/A</td> | 
 | 1705 |   <td class="na" align="center">N/A</td> | 
 | 1706 |   <td class="na" align="center">N/A</td> | 
 | 1707 |   <td></td> | 
 | 1708 | </tr> | 
 | 1709 | <tr> | 
 | 1710 |   <td>  15.6 [except.access]</td> | 
 | 1711 |   <td class="na" align="center">N/A</td> | 
 | 1712 |   <td class="na" align="center">N/A</td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1713 |   <td class="na" align="center">N/A</td> | 
| Sebastian Redl | 972041f | 2009-04-27 20:27:31 +0000 | [diff] [blame^] | 1714 |   <td class="na" align="center">N/A</td> | 
 | 1715 |   <td>Redundant - struck from C++0x</td> | 
| Sebastian Redl | f331fb4 | 2009-04-27 18:25:15 +0000 | [diff] [blame] | 1716 | </tr> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1717 | <tr><td>16 [cpp]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1718 | <tr><td>  16.1 [cpp.cond]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1719 | <tr><td>  16.2 [cpp.include]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1720 | <tr><td>  16.3 [cpp.replace]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1721 | <tr><td>    16.3.1 [cpp.subst]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1722 | <tr><td>    16.3.2 [cpp.stringize]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1723 | <tr><td>    16.3.3 [cpp.concat]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1724 | <tr><td>    16.3.4 [cpp.rescan]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1725 | <tr><td>    16.3.5 [cpp.scope]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1726 | <tr><td>  16.4 [cpp.line]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1727 | <tr><td>  16.5 [cpp.error]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1728 | <tr><td>  16.6 [cpp.pragma]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1729 | <tr><td>  16.7 [cpp.null]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1730 | <tr><td>  16.8 [cpp.predefined]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1731 | <tr><td>A [gram]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1732 | <tr><td>  A.1 [gram.key]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1733 | <tr><td>  A.2 [gram.lex]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1734 | <tr><td>  A.3 [gram.basic]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1735 | <tr><td>  A.4 [gram.expr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1736 | <tr><td>  A.5 [gram.stmt]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1737 | <tr><td>  A.6 [gram.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1738 | <tr><td>  A.7 [gram.decl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1739 | <tr><td>  A.8 [gram.class]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1740 | <tr><td>  A.9 [gram.derived]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1741 | <tr><td>  A.10 [gram.special]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1742 | <tr><td>  A.11 [gram.over]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1743 | <tr><td>  A.12 [gram.temp]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1744 | <tr><td>  A.13 [gram.except]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1745 | <tr><td>  A.14 [gram.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1746 | <tr><td>B [implimits]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1747 | <tr><td>C [diff]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1748 | <tr><td>  C.1 [diff.iso]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1749 | <tr><td>    C.1.1 [diff.lex]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1750 | <tr><td>    C.1.2 [diff.basic]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1751 | <tr><td>    C.1.3 [diff.expr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1752 | <tr><td>    C.1.4 [diff.stat]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1753 | <tr><td>    C.1.5 [diff.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1754 | <tr><td>    C.1.6 [diff.decl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1755 | <tr><td>    C.1.7 [diff.class]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1756 | <tr><td>    C.1.8 [diff.special]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1757 | <tr><td>    C.1.9 [diff.cpp]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1758 | <tr><td>  C.2 [diff.library]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1759 | <tr><td>    C.2.1 [diff.mods.to.headers]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1760 | <tr><td>    C.2.2 [diff.mods.to.definitions]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1761 | <tr><td>      C.2.2.2 [diff.wchar.t]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1762 | <tr><td>      C.2.2.3 [diff.header.iso646.h]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1763 | <tr><td>      C.2.2.4 [diff.null]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1764 | <tr><td>    C.2.3 [diff.mods.to.declarations]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1765 | <tr><td>    C.2.4 [diff.mods.to.behavior]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1766 | <tr><td>      C.2.4.1 [diff.offsetof]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1767 | <tr><td>      C.2.4.2 [diff.malloc]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1768 | <tr><td>D [depr]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1769 | <tr><td>  D.1 [depr.incr.bool]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1770 | <tr><td>  D.2 [depr.static]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1771 | <tr><td>  D.3 [depr.access.dcl]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1772 | <tr><td>  D.4 [depr.string]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1773 | <tr><td>  D.5 [depr.c.headers]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1774 | <tr><td>E [extendid]</td><td></td><td></td><td></td><td></td><td></td></tr> | 
 | 1775 | <tr> | 
 | 1776 |   <td colspan="6" align="center" bgcolor="#ffffcc">C++0x Features</td> | 
 | 1777 |   <tr> | 
 | 1778 |   <td>Explicit conversion operators (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf">N2437</a>)</td> | 
 | 1779 |   <td class="complete" align="center">✓</td> | 
 | 1780 |   <td class="medium" align="center"></td> | 
 | 1781 |   <td class="advanced" align="center"></td> | 
 | 1782 |   <td class="broken"></td> | 
 | 1783 |   <td>No name mangling; ASTs don't contain calls to conversion operators</td> | 
| Sebastian Redl | 0b5e7fb | 2009-04-12 17:41:24 +0000 | [diff] [blame] | 1784 |   </tr> | 
 | 1785 |   <tr> | 
| Anders Carlsson | c31a0ce | 2009-03-16 17:28:26 +0000 | [diff] [blame] | 1786 |   <td>Static assertions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.pdf">N1720</a>)</td> | 
 | 1787 |   <td class="complete" align="center">✓</td> | 
 | 1788 |   <td class="complete" align="center">✓</td> | 
 | 1789 |   <td class="complete" align="center">✓</td> | 
 | 1790 |   <td class="na">N/A</td> | 
 | 1791 |   <td></td> | 
 | 1792 |   </tr> | 
| Sebastian Redl | 0b5e7fb | 2009-04-12 17:41:24 +0000 | [diff] [blame] | 1793 |   <tr> | 
 | 1794 |   <td>Deleted functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm">N2346</a>)</td> | 
 | 1795 |   <td class="complete" align="center">✓</td> | 
 | 1796 |   <td class="complete" align="center">✓</td> | 
 | 1797 |   <td class="complete" align="center">✓</td> | 
 | 1798 |   <td class="na">N/A</td> | 
 | 1799 |   <td></td> | 
 | 1800 |   </tr> | 
 | 1801 |   <tr> | 
 | 1802 |   <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> | 
 | 1803 |   <td class="complete" align="center">✓</td> | 
 | 1804 |   <td class="complete" align="center">✓</td> | 
 | 1805 |   <td class="complete" align="center">✓</td> | 
 | 1806 |   <td class="broken"></td> | 
 | 1807 |   <td></td> | 
 | 1808 |   </tr> | 
| Cedric Venet | 3d65864 | 2009-02-14 20:20:19 +0000 | [diff] [blame] | 1809 | </tr> | 
 | 1810 |  | 
 | 1811 | </table> | 
 | 1812 |   | 
 | 1813 | </div> | 
 | 1814 | </body> | 
 | 1815 | </html> |