<html>
<head>
<title>Clang 3.0 Release Notes</title>
<link type="text/css" rel="stylesheet" href="../menu.css" />
<link type="text/css" rel="stylesheet" href="../content.css" />
<style type="text/css">
td {
	vertical-align: top;
}
</style>
</head>
<body>

<!--#include virtual="../menu.html.incl"-->

<div id="content">

<h1>Clang 3.0 Release Notes</h1>

<img align=right src="http://llvm.org/img/DragonSmall.png"
     width="136" height="136" alt="LLVM Dragon Logo">

<ul>
  <li><a href="#intro">Introduction</a></li>
  <li><a href="#whatsnew">What's New in Clang 3.0?</a>
    <ul>
      <li><a href="#majorfeatures">Major New Features</a></li>
      <li><a href="#cchanges">C Language Changes</a></li>
      <li><a href="#cxxhanges">C++ Language Changes</a></li>
      <li><a href="#objchanges">Objective-C Language Changes</a></li>
      <li><a href="#apichanges">Internal API Changes</a></li>
    </ul>
  </li>
  <li><a href="#knownproblems">Known Problems</a></li>
  <li><a href="#additionalinfo">Additional Information</a></li>
</ul>

<div class="doc_author">
  <p>Written by the <a href="http://llvm.org/">LLVM Team</a></p>
</div>

<!--
<h1 style="color:red">These are in-progress notes for the upcoming LLVM 3.0
release.<br>
You may prefer the
<a href="http://llvm.org/releases/2.9/docs/ReleaseNotes.html">LLVM 2.9
Release Notes</a>.</h1>
 -->

<!-- ======================================================================= -->
<h2 id="intro">Introduction</h2>
<!-- ======================================================================= -->

<p>This document contains the release notes for the Clang C/C++/Objective-C
frontend, part of the LLVM Compiler Infrastructure, release 3.0.  Here we
describe the status of Clang in some detail, including major improvements from
the previous release and new feature work. For the general LLVM release notes,
see <a href ="http;//llvm.org/docs/ReleaseNotes.html">the LLVM
 documentation</a>. All LLVM releases may be downloaded from the
<a href="http://llvm.org/releases/">LLVM releases web site</a>.</p>

<p>For more information about Clang or LLVM, including information about the
latest release, please check out the main please see the
<a href="http://clang.llvm.org">Clang Web Site</a> or the
<a href="http://llvm.org">LLVM Web Site</a>.

<p>Note that if you are reading this file from a Subversion checkout or the main
Clang web page, this document applies to the <i>next</i> release, not the
current one.  To see the release notes for a specific release, please see the
<a href="http://llvm.org/releases/">releases page</a>.</p>

<!-- ======================================================================= -->
<h2 id="whatsnew">What's New in Clang 3.0?</h2>
<!-- ======================================================================= -->

<p>Some of the major new features and improvements to Clang are listed here.
Generic improvements to Clang as a whole or two its underlying infrastructure
are described first, followed by language-specific sections with improvements to
Clang's support for those languages.</p>

<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
<h3 id="majorfeatures">Major New Features</h3>
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

<h4 id="notes">Unorganized Notes</h4>
<p>These are completely random notes as I'm organizing my thoughts and reviewing
the history. Anything still here needs to be distilled and turned into proper
prose in a section of its own. When doing that, delete the notes.</p>
<ul>
  <li>OpenCL support -- need details from Tanya and Peter -- separate language
  section?</li>
  <li>Building Clang on windows -- mingw, 32 and 64 bit, native windows builds,
  cygwin. get chapuni to flesh out details.</li>
  <li>Compiling C/C++ w/ MinGW (32/64) and Cygwin on Windows -- chapuni</li>
  <li>C++ -- Parsing and AST support for Windows Structured Exception
  Handling.</li>
  <li>Uninitialized values Clang warning rewrite -- more accurate, faster, able
  to differentiate between the possibility of an uninitialized use and the
  certainty of an uninitialized use.</li>
  <li>Support for language specific address spaces</li>
  <li>Support for compiling on NetBSD systems -- Joerg Sonnenberger to fill
  out</li>
  <li>Support for '--sysroot' based cross-compilation</li>
  <li>Crash recovery handling for libclang clients -- Ted</li>
  <li>Driver support for automatic preparation of reproduction steps for
  compiler crashes -- Chad</li>
  <li>OS Availability attribute -- r128127</li>
  <li>GNU ObjectiveC Runtime support -- David Chisnall</li>
  <li>Diagnostic improvements bucket?
    <ul>
      <li>Emitting fewer include stacks</li>
      <li>Significantly better recovery when encountering misspelled type names
      in a declaration context. r130082</li>
      <li>Expanded typo correction, most especially namespace-aware typo
      correction in C++</li>
      <li>Significantly more rich diagnostics w.r.t. macro expansion backtraces,
      especially when macro arguments are involved.</li>
    </ul>
  </li>
  <li>libclang improvements bucket
    <ul>
      <li>Better Python Bindings</li>
      <li>More AST coverage</li>
      <li>Improved cursor support within macros, especially function-style macro
      arguments.</li>
      <li>Improved code completion surrounding macros, macro arguments, and
      token pasting.</li>
      <li>Improved code completion for in-class member functions.</li>
    </ul>
  </li>
  <li>Basic C++ support in the static analyzer.</li>
  <li>Improved AST support for partially constructed nodes and incomplete
  information for LLDB and other clients which dynamically build AST nodes.</li>
  <li>Largely complete MSVC-compatible parsing mode -- fpichet</li>
  <li>C1X -- static asserts and generic selections</li>
  <li>Memory reduction -- initializers, macro expansions, source locations,
  etc.</li>
  <li>The Embarcadero
  <a href="http://docwiki.embarcadero.com/RADStudio/en/Is_lvalue_expr"><tt>__is_lvalue_expr</tt></a> and
  <a href="http://docwiki.embarcadero.com/RADStudio/en/Is_rvalue_expr"><tt>__is_rvalue_expr</tt></a> expression traits.</li>
  <li>CFI-based debug info -- nlewycky/espindola details</li>
  <li>ObjC ARC -- get a blurb from rjmccall</li>
  <li>ObjC related result type/instancetype</li>
  <li>Thread Safety attributes and correctness analysis added to Clang.</li>
  <li>NRVO for blocks.</li>
  <li>Major improvements to the interactions between serializing and
  deserializing the AST and the preprocessor -- argiris</li>
  <li>Major driver and system compatibility changes:
    <ul>
      <li>Correct support for many more hardware architecture pre-defined macros
      (e.g., __i686__).</li>
      <li>Much more robust detection of library and header search paths on Linux
      distributions.</li>
      <li>Partial support for sysroot based cross compiling on Linux (like)
      systems.</li>
      <li>Improved support for locating and using libcxx, especially on
      Darwin.</li>
    </ul>
  </li>
  <li>Initial steps of CUDA support -- Peter</li>
  <li>Atomic builtins and C1X specifiers using the new LLVM atomic instructions
  and memory model -- efriedma, jyasskin</li>
</ul>

<h4 id="ppcallbacks">Expanded support for instrumenting the preprocessor through
  callbacks</h4>
Several enhancements were made to the <code>PPCallbacks</code> interface to expand the information available to tools and library users of Clang that wish to introspect the preprocessing.
<ul>
  <li>The exact text used between the <code>""</code>s or <code>&lt;&gt;</code>s is reported.</li>
  <li>The header search path used to locate the header is reported.</li>
  <li>Missing files during including headers reported.</li>
  <li>The exact source range for expanded macros can be retrieved.</li>
</ul>

<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
<h3 id="cchanges">C Language Changes in Clang</h3>
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
<h3 id="cxxchanges">C++ Language Changes in Clang</h3>
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

<h4 id="cxx11changes">C++11 Feature Support</h4>

<p>Clang 3.0 adds support for
<a href="http://clang.llvm.org/cxx_status.html#cxx11">more of the language
features</a> added in the latest ISO C++ standard, C++11. Use
<tt>-std=c++11</tt> or <tt>-std=gnu++11</tt> to enable support for these
features. The following are now considered to be of production quality:
<ul>
  <li>Range-based <tt>for</tt> loops</li>
  <li>Alias declarations (a new syntax for <tt>typedef</tt> declarations),
  including their <tt>template</tt> forms</li>
  <li>Specifying default values for class data members within a class
  definition</li>
  <li>Constructors delegating to other constructors of the same class</li>
  <li>The <tt>override</tt> context-sensitive keyword for virtual member
  function declarations</li>
  <li>Explicitly generating default function definitions with <tt>= default</tt>
  </li>
  <li>The <tt>nullptr</tt> keyword, and the corresponding type</li>
  <li>Raw string literals with arbitary delimiters (for instance,
  <tt>R"delim(str"ing)delim"</tt>)</li>
  <li>Unicode string literals (for instance, <tt>U"\u1234"</tt>) and the
  <tt>char16_t</tt> and <tt>char32_t</tt> built-in types
  <li><tt>noexcept</tt> expressions and the <tt>noexcept</tt> specifier on
  function declarations</li>
  <li><tt>alignof</tt> expressions and the <tt>alignas</tt> specifier on
  variable declarations</li>
  <li>A full set of <a href="http://clang.llvm.org/docs/LanguageExtensions.html#checking_type_traits">type traits</a>,
  sufficient to support C++11 standard libraries</li>
</ul>

<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
<h3 id="objcchanges">Objective-C Language Changes in Clang</h3>
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
<h3 id="apichanges">Internal API Changes</h3>
<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

These are major API changes that have happened since the 2.9 release of Clang.
If upgrading an external codebase that uses Clang as a library, this section
should help get you past the largest hurdles of upgrading.

<h4 id="macroexpansion">Switched terminology from "instantiation" to "expansion"
  for macros</h4>
A great deal of comments and code changes fell out of this, but also every API
relating to macros with the word "instantiation" (or some variant thereof) was
renamed. An incomplete list of the most note-worthy ones is here:
<ul>
  <li><code>MacroInstantiation</code> became <code>MacroExpansion</code></li>
  <li><code>SourceManager::getInstantiationLoc</code> became
  <code>SourceManager::getExpansionLoc</code></li>
  <li><code>SourceManager::getInstantiationRange</code> became
  <code>SourceManager::getExpansionRange</code></li>
  <li><code>SourceManager::getImmediateInstantiationRange</code> became
  <code>SourceManager::getImmediateExpansionRange</code></li>
  <li><code>SourceManager::getDecomposedInstantiationLoc</code> became
  <code>SourceManager::getDecomposedExpansionLoc</code></li>
  <li><code>SourceManager::getInstantiationColumnNumber</code> became
  <code>SourceManager::getExpansionColumnNumber</code></li>
  <li><code>SourceManager::getInstantiationLineNumber</code> became
  <code>SourceManager::getExpansionLineNumber</code></li>
  <!-- TODO: Make this more complete! -->
</ul>

<h4 id="diagnosticrename">Diagnostic class names were shuffled</h4>
<ul>
  <li><code>Diagnostic</code> became <code>DiagnosticEngine</code></li>
  <li><code>DiagnosticClient</code> became <code>DiagnosticConsumer</code></li>
  <li><code>DiagnosticInfo</code> became <code>Diagnostic</code></li>
</ul>
Subclasses of <code>DiagnosticConsumer</code> were also then renamed to end with
<code>Consumer</code>.

<!-- ======================================================================= -->
<h2 id="knownproblems">Significant Known Problems</h2>
<!-- ======================================================================= -->

<!-- ======================================================================= -->
<h2 id="additionalinfo">Additional Information</h2>
<!-- ======================================================================= -->

<p>A wide variety of additional information is available on the
<a href="http://clang.llvm.org/">Clang web page</a>.  The web page contains
versions of the API documentation which are up-to-date with the Subversion
version of the source code.  You can access versions of these documents specific
to this release by going into the "<tt>clang/doc/</tt>" directory in the Clang
tree.</p>

<p>If you have any questions or comments about Clang, please feel free to
contact us via the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">
mailing list</a>.</p>

</body>
</html>
