2009-02-14 23:20:19 +03:00
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
< html >
< head >
< META http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" / >
< title > Clang - C++ Support< / title >
< link type = "text/css" rel = "stylesheet" href = "menu.css" / >
< link type = "text/css" rel = "stylesheet" href = "content.css" / >
< style type = "text/css" >
.na { background-color: #C0C0C0 }
.broken { background-color: #C11B17 }
.basic { background-color: #F88017 }
.medium { background-color: #FDD017 }
.advanced { background-color: #347C17 }
.complete { background-color: #00FF00 }
< / style >
< / head >
< body >
<!-- #include virtual="menu.html.incl" -->
< div id = "content" >
<!-- ************************************************************************* -->
< h1 > C++ Support in Clang< / h1 >
<!-- ************************************************************************* -->
< p >
This page tracks the status of C++ support in Clang.< br >
Currently most of the C++ features are missing; here you can find features that are at least partially supported in Clang. < / p >
<!-- Within this table: The colors we're using to color - code our level
of support for a given section:
White (no background): not considered/tested.
#C11B17: Broken.
#F88017: Some useful examples work
#FDD017: Many examples work
#347C17: Nearly everything works
#00FF00 + check mark: Implementation complete!
-->
< p > The following table is used to help track our implementation
progress toward implementing the complete C++03 standard. We use a
simple, somewhat arbitrary color-coding scheme to describe the
relative completeness of features by section:< / p >
< table width = "689" border = "1" cellspacing = "0" >
< tr >
< th > Not started/not evaluated< / th >
< th > Not Applicable< / th >
< th > Broken< / th >
< th > Some examples work< / th >
< th > Many examples work< / th >
< th > Nearly everything works< / th >
< th > Complete!< / th >
< / tr >
< tr >
< td > < / td >
< td class = "na" > N/A< / td >
< td class = "broken" > < / td >
< td class = "basic" > < / td >
< td class = "medium" > < / td >
< td class = "advanced" > < / td >
< td class = "complete" align = "center" > ✓ < / td >
< / tr >
< / table >
< p > A feature is "complete" when the appropriate Clang component (Parse, AST,
Sema, CodeGen) implements the behavior described in all of the
paragraphs in the relevant C++ standard. Note that many C++ features are
actually described in several different sections within the standard. The major components are:< / p >
< dl >
< dt > Parse< / dt >
< 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 >
< dt > AST< / dt >
< 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 >
< dt > Sema< / dt >
< 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 >
< dt > CodeGen< / dt >
< dd > Clang parses, type-checks, and generates code for this feature, allowing one to compile and execute programs.< / dd >
< / dl >
< p > Updates to this table are welcome! Since Clang already supports
much of C, and therefore much C++, many of the currently-white cells
could be filled in. If you wish to do so, please compare Clang's
implementation against the C++ standard and provide a patch that
updates the table accordingly. Tests for the various features are also
welcome!< / p >
< table width = "689" border = "1" cellspacing = "0" >
< tr >
< th > Section< / th >
< th > Parse< / th >
< th > AST< / th >
< th > Sema< / th >
< th > CodeGen< / th >
< th > Notes< / th >
< / tr >
< tr >
< td > 2 [lex]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.1 [lex.phases]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > Extended characters aren't handled.< / td >
< / tr >
< tr >
< td > 2.2 [lex.charset]< / td >
< td class = "basic" > < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > No support for extended characters.< / td >
< / tr >
< tr >
< td > 2.3 [lex.trigraph]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.4 [lex.pptoken]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.5 [lex.digraph]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.6 [lex.token]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.7 [lex.comment]< / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > NDR "form feed or vtab in comment" is not diagnosed. No AST representation of comments.< / td >
< / tr >
< tr >
< td > 2.8 [lex.header]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.9 [lex.ppnumber]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.10 [lex.name]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > No support for extended characters< / td >
< / tr >
< tr >
< td > 2.11 [lex.key]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.12 [lex.operators]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.13 [lex.literal]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.13.1 [lex.icon]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.13.2 [lex.ccon]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > Poor support for extended characters< / td >
< / tr >
< tr >
< td > 2.13.3 [lex.fcon]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 2.13.4 [lex.string]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > Poor support for extended characters< / td >
< / tr >
< tr >
< td > 2.13.5 [lex.bool]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3 [basic]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.1 [basic.def]< / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.2 [basic.def.odr]< / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 3.3 [basic.scope]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.3.1 [basic.scope.pdecl]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "advanced" > < / td >
< td class = "na" > N/A< / td >
< td > See PR3184< / td >
< / tr >
< tr >
< td > 3.3.2 [basic.scope.local]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "advanced" > < / td >
< td class = "na" > N/A< / td >
< td > try-catch not implemented< / td >
< / tr >
< tr >
< td > 3.3.3 [basic.scope.proto]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.3.4 [basic.funscope]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr > < td > 3.3.5 [basic.scope.namespace]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.3.6 [basic.scope.class]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 3.3.7 [basic.scope.hiding]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.4 [basic.lookup]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.4.1 [basic.lookup.unqual]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "medium" > < / td >
< td class = "na" > N/A< / td >
< td > Many cases beyond simple global and function-local lookup don't work< / td >
< / tr >
< tr >
< td > 3.4.2 [basic.lookup.argdep]< / td >
< td class = "na" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "na" > N/A< / td >
< td > Missing support for templates, friend functions.< / td >
< / tr >
< tr >
< td > 3.4.3 [basic.lookup.qual]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "advanced" > < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.4.3.1 [class.qual]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "advanced" > < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr >
< td > 3.4.3.2 [namespace.qual]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "advanced" > < / td >
< td class = "na" > N/A< / td >
< td > < / td >
< / tr >
< tr > < td > 3.4.4 [basic.lookup.elab]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.4.5 [basic.lookup.classref]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.4.6 [basic.lookup.udir]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.5 [basic.link]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.6 [basic.start]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.6.1 [basic.start.main]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.6.2 [basic.start.init]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.6.3 [basic.start.term]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7 [basic.stc]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7.1 [basic.stc.static]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7.2 [basic.stc.auto]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7.3 [basic.stc.dynamic]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7.3.1 [basic.stc.dynamic.allocation]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7.3.2 [basic.stc.dynamic.deallocation]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.7.4 [basic.stc.inherit]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.8 [basic.life]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.9 [basic.types]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.9.1 [basic.fundamental]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.9.2 [basic.compound]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.9.3 [basic.type.qualifier]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 3.10 [basic.lval]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 4 [conv]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.1 [conv.lval]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td > <!-- p2: sizeof -->
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.2 [conv.array]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.3 [conv.func]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.4 [conv.qual]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.5 [conv.prom]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.6 [conv.fpprom]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.7 [conv.integral]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.8 [conv.double]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.9 [conv.fpint]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.10 [conv.ptr]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.11 [conv.mem]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 4.12 [conv.bool]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5 [expr]< / td >
< td class = "na" > N/A< / td >
< td class = "na" > N/A< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.1 [expr.prim]< / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td > < / td >
< td > template-ids are not supported, name lookup is not complete< / td >
< / tr >
< tr > < td > 5.2 [expr.post]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 5.2.1 [expr.sub]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.2.2 [expr.call]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td > < / td >
< td > Argument-dependent lookup is unsupported< / td >
< / tr >
< tr >
< td > 5.2.3 [expr.type.conv]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" > < / td >
< td > < / td >
< td > Only between non-class types< / td >
< / tr >
< tr >
< td > 5.2.4 [expr.pseudo]< / td >
< td class = "broken" > < / td >
< td class = "broken" > < / td >
< td class = "broken" > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.2.5 [expr.ref]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" > < / td >
< td class = "medium" > < / td >
< td > < / td >
< td > Cannot look up operator names, qualified-ids, or names in base classes< / td >
< / tr >
< tr >
< td > 5.2.6 [expr.post.incr]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.2.7 [expr.dynamic.cast]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.2.8 [expr.typeid]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.2.9 [expr.static.cast]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > Some custom conversions don't work.< / td >
< / tr >
< tr >
< td > 5.2.10 [expr.reinterpret.cast]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.2.11 [expr.const.cast]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr > < td > 5.3 [expr.unary]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 5.3.1 [expr.unary.op]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 5.3.1p1 Unary *< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.1p2-5 Unary & < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.1p6 Unary +< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.1p7 Unary -< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.1p8 Unary !< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.1p9 Unary ~< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.2 [expr.pre.incr]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.3 [expr.sizeof]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.3.4 [expr.new]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > operator delete is not looked up, initialization not quite correct< / td >
< / tr >
< tr >
< td > 5.3.5 [expr.delete]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.4 [expr.cast]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" > < / td >
< td > < / td >
< td > Too lenient, and may not always have correct semantics< / td >
< / tr >
< tr >
< td > 5.5 [expr.mptr.oper]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" > < / td >
< td class = "advanced" > < / td >
< td > < / td >
< td > Dereferenced member function pointers have the wrong type.< / td >
< / tr >
< tr >
< td > 5.6 [expr.mul]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.7 [expr.add]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.8 [expr.shift]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.9 [expr.rel]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.10 [expr.eq]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.11 [expr.bit.and]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.12 [expr.xor]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.13 [expr.or]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.14 [expr.log.and]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.15 [expr.log.or]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.16 [expr.cond]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td > < / td >
< td > throw expressions not supported, type unification rules are based on C only< / td >
< / tr >
< tr >
< td > 5.17 [expr.ass]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.18 [expr.comma]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 5.19 [expr.const]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" > < / td >
< td > < / td >
< td > Uses C semantics< / td >
< / tr >
< tr >
< td > 6 [stmt.stmt]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.1 [stmt.label]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.2 [stmt.expr]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.3 [stmt.block]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.4 [stmt.select]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > Conversion of declarations to required types not really supported.< / td >
< / tr >
< tr >
< td > 6.4.1 [stmt.if]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.4.2 [stmt.switch]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.5 [stmt.iter]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > Conversion of declarations to required types not really supported.< / td >
< / tr >
< tr >
< td > 6.5.1 [stmt.while]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.5.2 [stmt.do]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.5.3 [stmt.for]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.6 [stmt.jump]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.6.1 [stmt.break]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.6.2 [stmt.cont]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.6.3 [stmt.return]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.6.4 [stmt.goto]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 6.7 [stmt.dcl]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > Skipping of initialization is not flagged. Existence and accessibility of destructors is not tested for.< / td >
< / tr >
< tr >
< td > 6.8 [stmt.ambig]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr > < td > 7 [dcl.dcl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td >
7.1 [dcl.spec]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > No support for friend declarations.< / td >
< / tr >
< tr >
< td > 7.1.1 [dcl.stc]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > Linkage merging has some errors.< / td >
< / tr >
< tr >
< td > 7.1.2 [dcl.fct.spec]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.1.3 [dcl.typedef]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" > < / td >
< td > Typedefs of anonymous tag types do not use the name of the typedef for linkage purposes.< / td >
< / tr >
< tr >
< td > 7.1.4 [dcl.friend]< / td >
< td class = "broken" > < / td >
< td class = "broken" > < / td >
< td class = "broken" > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.1.5 [dcl.type]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.1.5.1 [dcl.type.cv]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.1.5.2 [dcl.type.simple]< / td >
< td class = "medium" > < / td >
< td class = "advanced" > < / td >
< td class = "advanced" > < / td >
< td > < / td >
< td > Cannot parse template IDs.< / td >
< / tr >
< tr >
< td > 7.1.5.3 [dcl.type.elab]< / td >
< td class = "medium" > < / td >
< td class = "advanced" > < / td >
< td class = "advanced" > < / td >
< td > < / td >
< td > Cannot parse template IDs.< / td >
< / tr >
< tr >
< td > 7.2 [dcl.enum]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.3 [basic.namespace]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.3.1 [namespace.def]< / td >
< td class = "medium" > < / td >
< td class = "medium" > < / td >
< td class = "medium" > < / td >
< td > < / td >
< td > Cannot parse namespace aliases.< / td >
< / tr >
< tr >
< td > 7.3.1.1 [namespace.unnamed]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "broken" > < / td >
< td > < / td >
< td > Unnamed namespace members cannot be looked up.< / td >
< / tr >
< tr >
< td > 7.3.1.2 [namespace.memdef]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" > < / td >
< td > < / td >
< td > The friend stuff is not supported.< / td >
< / tr >
< tr >
< td > 7.3.2 [namespace.alias]< / td >
< td class = "broken" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.3.3 [namespace.udecl]< / td >
< td class = "broken" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.3.4[namespace.udir]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Example in p4 fails.< / td >
< / tr >
< tr > < td >
7.4 [dcl.asm]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 7.5 [dcl.link]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" > < / td >
< td class = "basic" > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr > < td > 8 [dcl.decl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.1 [dcl.name]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.2 [dcl.ambig.res]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.3 [dcl.meaning]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.3.1 [dcl.ptr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.3.2 [dcl.ref]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.3.3 [dcl.mptr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.3.4 [dcl.array]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.3.5 [dcl.fct]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 8.3.6 [dcl.fct.default]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > Missing default arguments for templates.< / td >
< / tr >
< tr > < td > 8.4 [dcl.fct.def]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 8.5 [dcl.init]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 8.5.1[dcl.init.aggr]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td > No CodeGen for initializing non-aggregates or dynamic initialization.< / td >
< / tr >
< tr > < td > 8.5.2 [dcl.init.string]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 8.5.3 [dcl.init.ref]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9 [class]< / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.1 [class.name]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.2 [class.mem]< / td >
< td class = "advanced" align = "center" > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > No parser support for using declarations, or templates.< / td >
< / tr >
< tr >
< td > 9.3 [class.mfct]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.3.1 [class.mfct.non-static]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.3.2 [class.this]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.4 [class.static]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.4.1 [class.static.mfct]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.4.2 [class.static.data]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.5 [class.union]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" > < / td >
< td class = "medium" > < / td >
< td > Semantic analysis does not yet check all of the requirements placed on the members of unions.< / td >
< / tr >
< tr >
< td > 9.6 [class.bit]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.7 [class.nest]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.8 [class.local]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > 9.9 [class.nested.type]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
< tr > < td > 10 [class.derived]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 10.1 [class.mi]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 10.2 [class.member.lookup]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 10.3 [class.virtual]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 10.4 [class.abstract]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11 [class.access]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.1 [class.access.spec]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.2 [class.access.base]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.3 [class.access.dcl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.4 [class.friend]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.5 [class.protected]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.6 [class.access.virt]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.7 [class.paths]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 11.8 [class.access.nest]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 12 [special]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 12.1 [class.ctor]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr > < td > 12.2 [class.temporary]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 12.3 [class.conv]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 12.3.1 [class.conv.ctor]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 12.3.2 [class.conv.fct]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Conversion functions can be declared and defined, but aren't used for anything.< / td >
< / tr >
< tr >
< td > 12.4 [class.dtor]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Most of the semantics of destructors are unimplemented.< / td >
< / tr >
< tr > < td > 12.5 [class.free]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 12.6 [class.init]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 12.6.1 [class.expl.init]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 12.6.2 [class.base.init]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > No actual direct initialization; implicit initialization not checked.< / td >
< / tr >
< tr > < td > 12.7 [class.cdtor]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 12.8 [class.copy]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 13 [over]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td > 13.1 [over.load]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Missing name mangling.< / td >
< / tr >
< tr >
< td > 13.2 [over.dcl]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3 [over.match]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1 [over.match.funcs]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.1 [over.match.call]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.1.1 [over.call.func]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.1.2 [over.call.object]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Missing AST representation for the implicit conversion to a function reference/pointer< / td >
< / tr >
< tr >
< td > 13.3.1.2 [over.match.oper]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.3 [over.match.ctor]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.4 [over.match.copy]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.5 [over.match.conv]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "broken" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.1.6 [over.match.ref]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.2 [over.match.viable]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3 [over.match.best]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3.1 [over.best.ics]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3.1.1 [over.ics.scs]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3.1.2 [over.ics.user]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "basic" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3.1.3 [over.ics.ellipsis]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3.1.4 [over.ics.ref]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.3.3.2 [over.ics.rank]< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.4 [over.over]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "basic" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Error messages need some work. Without templates or using
declarations, we don't have any ambiguities, so the semantic
analysis is incomplete.< / td >
< / tr >
< tr >
< td > 13.5 [over.oper]< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Some overloaded operators can only be called with function syntax, e.g., < code > operator[](x)< / code > .< / td >
< / tr >
< tr >
< td > 13.5.1 [over.unary]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.5.2 [over.binary]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.5.3 [over.ass]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.5.4 [over.call]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.5.5 [over.sub]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.5.6 [over.ref]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.5.7 [over.inc]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > < / td >
< / tr >
< tr >
< td > 13.6 [over.built]< / td >
< td class = "na" align = "center" > N/A< / td >
< td class = "advanced" align = "center" > < / td >
< td class = "medium" align = "center" > < / td >
< td class = "broken" align = "center" > < / td >
< td > Missing pointer-to-member versions (p11, p16) and support for
the ternary operator (p24, p25).< / td >
< / tr >
< tr > < td > 14 [temp]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.1 [temp.param]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.2 [temp.names]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.3 [temp.arg]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.3.1 [temp.arg.type]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.3.2 [temp.arg.nontype]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.3.3 [temp.arg.template]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.4 [temp.type]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5 [temp.decls]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.1 [temp.class]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.1.1 [temp.mem.func]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.1.2 [temp.mem.class]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.1.3 [temp.static]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.2 [temp.mem]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.3 [temp.friend]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.4 [temp.class.spec]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.5.1 [temp.class.spec.match]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.5.2 [temp.class.order]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.5.3 [temp.class.spec.mfunc]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.5 [temp.fct]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.5.1 [temp.over.link]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.5.5.2 [temp.func.order]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6 [temp.res]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.1 [temp.local]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.2 [temp.dep]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.2.1 [temp.dep.type]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.2.2 [temp.dep.expr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.2.3 [temp.dep.constexpr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.2.4 [temp.dep.temp]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.3 [temp.nondep]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.4 [temp.dep.res]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.4.1 [temp.point]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.4.2 [temp.dep.candidate]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.6.5 [temp.inject]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.7 [temp.spec]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.7.1 [temp.inst]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.7.2 [temp.explicit]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.7.3 [temp.expl.spec]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8 [temp.fct.spec]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.1 [temp.arg.explicit]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.2 [temp.deduct]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.2.1 [temp.deduct.call]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.2.2 [temp.deduct.funcaddr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.2.3 [temp.deduct.conv]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.2.4 [temp.deduct.type]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 14.8.3 [temp.over]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15 [except]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.1 [except.throw]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.2 [except.ctor]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.3 [except.handle]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.4 [except.spec]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.5 [except.special]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.5.1 [except.terminate]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.5.2 [except.unexpected]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.5.3 [except.uncaught]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 15.6 [except.access]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16 [cpp]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.1 [cpp.cond]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.2 [cpp.include]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.3 [cpp.replace]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.3.1 [cpp.subst]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.3.2 [cpp.stringize]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.3.3 [cpp.concat]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.3.4 [cpp.rescan]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.3.5 [cpp.scope]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.4 [cpp.line]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.5 [cpp.error]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.6 [cpp.pragma]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.7 [cpp.null]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > 16.8 [cpp.predefined]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A [gram]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.1 [gram.key]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.2 [gram.lex]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.3 [gram.basic]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.4 [gram.expr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.5 [gram.stmt]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.6 [gram.dcl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.7 [gram.decl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.8 [gram.class]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.9 [gram.derived]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.10 [gram.special]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.11 [gram.over]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.12 [gram.temp]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.13 [gram.except]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > A.14 [gram.cpp]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > B [implimits]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C [diff]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1 [diff.iso]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.1 [diff.lex]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.2 [diff.basic]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.3 [diff.expr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.4 [diff.stat]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.5 [diff.dcl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.6 [diff.decl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.7 [diff.class]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.8 [diff.special]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.1.9 [diff.cpp]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2 [diff.library]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.1 [diff.mods.to.headers]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.2 [diff.mods.to.definitions]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.2.2 [diff.wchar.t]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.2.3 [diff.header.iso646.h]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.2.4 [diff.null]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.3 [diff.mods.to.declarations]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.4 [diff.mods.to.behavior]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.4.1 [diff.offsetof]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > C.2.4.2 [diff.malloc]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > D [depr]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > D.1 [depr.incr.bool]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > D.2 [depr.static]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > D.3 [depr.access.dcl]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > D.4 [depr.string]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > D.5 [depr.c.headers]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr > < td > E [extendid]< / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr >
< tr >
< td colspan = "6" align = "center" bgcolor = "#ffffcc" > C++0x Features< / td >
< tr >
< td > Explicit conversion operators (< a href = "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf" > N2437< / a > )< / td >
< td class = "complete" align = "center" > ✓ < / td >
< td class = "medium" align = "center" > < / td >
< td class = "advanced" align = "center" > < / td >
< td class = "broken" > < / td >
< td > No name mangling; ASTs don't contain calls to conversion operators< / td >
< / tr >
< / table >
< / div >
< / body >
< / html >