blob: 9e154aa0bf22b3b06a75d07f114e9c8acef17a16 [file] [log] [blame]
<!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">
</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>
<p>
In this table, parser support means that the parser knows the grammar for
the feature. "Sema" support means that we do type checking, report errors
about misuses of the feature and build an AST. CodeGen support means that we
actually produce LLVM code for the feature with the -emit-llvm option.
</p>
<table width="689" border="1" cellspacing="0">
<tr>
<td width="150"><h3>Feature</h3></td>
<td width="172"><h3>Example</h3></td>
<td width="345"><h3>Status</h3></td>
</tr>
<tr>
<td>Bool type </td>
<td>bool x; </td>
<td>Full support.</td>
</tr>
<tr>
<td>wchar_t type </td>
<td>wchar_t x; </td>
<td>Parser and Sema support in, partial Codegen support.</td>
</tr>
<tr>
<td>Named Casts </td>
<td>static_cast&lt;int&gt;(x)</td>
<td>Partial Parser and Sema support, no codegen.</td>
</tr>
<tr>
<td>References</td>
<td>int &amp;x = ...;</td>
<td>Parser and Sema support in, partial Codegen support.</td>
</tr>
<tr>
<td>Default arguments </td>
<td>void f(int x=0); </td>
<td>Full support. </td>
</tr>
<tr>
<td>Namespaces</td>
<td>namespace A {<br/>
&nbsp;&nbsp;&nbsp;int x;<br/>
}</td>
<td>Parser and Sema support in, no Codegen support.</td>
</tr>
<tr>
<td>Class definitions</td>
<td>class C {<br/>
public:<br/>
&nbsp;&nbsp;&nbsp;int getX() { return x; }<br/>
private:<br/>
&nbsp;&nbsp;&nbsp;int x;<br/>
};</td>
<td>Partial Parser and Sema support, no Codegen support.</td>
</tr>
</table>
</div>
</body>
</html>