[cfe-commits] r145268 - /cfe/trunk/docs/ReleaseNotes.html

Richard Smith richard-llvm at metafoo.co.uk
Mon Nov 28 12:02:06 PST 2011


Author: rsmith
Date: Mon Nov 28 14:02:05 2011
New Revision: 145268

URL: http://llvm.org/viewvc/llvm-project?rev=145268&view=rev
Log:
Add a release notes section on new C++11 language features, and flesh it out.

Modified:
    cfe/trunk/docs/ReleaseNotes.html

Modified: cfe/trunk/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.html?rev=145268&r1=145267&r2=145268&view=diff
==============================================================================
--- cfe/trunk/docs/ReleaseNotes.html (original)
+++ cfe/trunk/docs/ReleaseNotes.html Mon Nov 28 14:02:05 2011
@@ -29,6 +29,7 @@
       <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>
@@ -94,7 +95,6 @@
   <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>C++11 -- noexcept (Sebastian Redl)</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>
@@ -107,7 +107,6 @@
   compiler crashes -- Chad</li>
   <li>OS Availability attribute -- r128127</li>
   <li>GNU ObjectiveC Runtime support -- David Chisnall</li>
-  <li>C++11 -- override</li>
   <li>Diagnostic improvements bucket?
     <ul>
       <li>Emitting fewer include stacks</li>
@@ -136,16 +135,11 @@
   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>C++11 -- alias declarations -- zygoloid</li>
-  <li>C++11 -- range-based-for loops -- zygoloid</li>
-  <li>C++11 -- nullptr -- zygoloid</li>
-  <li>C++11 -- in-class init -- zygoloid</li>
-  <li>C++11 -- raw string literals -- zygoloid</li>
-  <li>C++11 -- delegating ctors -- zygoloid/scshunt</li>
   <li>Memory reduction -- initializers, macro expansions, source locations,
   etc.</li>
-  <li>Full set of type traits, sufficient to support C++11 standard libraries;
-  also expression traits.</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>
@@ -188,6 +182,37 @@
 <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>
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->





More information about the cfe-commits mailing list