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

Chandler Carruth chandlerc at gmail.com
Mon Nov 28 16:15:27 PST 2011


Author: chandlerc
Date: Mon Nov 28 18:15:26 2011
New Revision: 145335

URL: http://llvm.org/viewvc/llvm-project?rev=145335&view=rev
Log:
Last major chunk of features. This covers a couple of language
extensions and one infrastructure feature addition that has a direct
impact on other projects which use Clang.

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=145335&r1=145334&r2=145335&view=diff
==============================================================================
--- cfe/trunk/docs/ReleaseNotes.html (original)
+++ cfe/trunk/docs/ReleaseNotes.html Mon Nov 28 18:15:26 2011
@@ -87,12 +87,8 @@
 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>OS Availability attribute -- r128127</li>
-  <li>Improved AST support for partially constructed nodes and incomplete
-  information for LLDB and other clients which dynamically build AST nodes.</li>
   <li>Memory reduction -- initializers, macro expansions, source locations,
   etc.</li>
-  <li>Thread Safety attributes and correctness analysis added to Clang.</li>
   <li>Major improvements to the interactions between serializing and
   deserializing the AST and the preprocessor -- argiris</li>
 </ul>
@@ -193,6 +189,38 @@
   <li>Add support for Microsoft __if_exists/__if_not_exists statements (-fms-extensions mode).</li>
 </ul>
 
+<h4 id="availability">New availability attribute to detect and warn about API
+usage across OS X and iOS versions</h4>
+Clang now supports an attribute which documents the availability of an API
+across various platforms and releases, allowing interfaces to include
+information about what OS versions support the relevant features. Based on the
+targeted version of a compile, warnings for deprecated and unavailable
+interfaces will automatically be provided by Clang.
+
+<h4 id="threadsafety">Thread Safety annotations and analysis-based warnings</h4>
+A set of annotations were introduced to Clang to describe the various
+thread-safety concerns of a program, and an accompanying set of analysis based
+warnings will diagnose clearly unsafe code patterns. The annotations are
+described in the
+<a href="http://clang.llvm.org/docs/LanguageExtensions.html#threadsafety">extension specification</a>,
+and the warnings currently supported include:
+<ul>
+  <li>Calling functions without the required locks</li>
+  <li>Reading variables without the required locks</li>
+  <li>Writing to variables without an exclusive lock (even if holding a shared
+  lock)</li>
+  <li>Imbalance between locks and unlocks across loop entries and exits</li>
+  <li>Acquiring or releasing locks out of order</li>
+</ul>
+
+<h4 id="incompleteast">Improved support for partially constructed and/or
+incomplete ASTs</h4>
+For users such as LLDB that are dynamically forming C++ ASTs, sometimes it is
+either necessary or useful to form a partial or incomplete AST. Support for
+these use cases have improved through the introduction of "unknown" types and
+other AST constructs designed specifically for use cases without complete
+information about the C++ construct being formed.
+
 <!--
 Need Peter and/or Tanya to flesh this out if we want it in 3.0's notes.. The
 state isn't clear just from documentation or commit logs.





More information about the cfe-commits mailing list