From: Chandler Carruth
Date: Tue, 29 Nov 2011 00:15:26 +0000 (+0000)
Subject: Last major chunk of features. This covers a couple of language
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45901b3f1b81f187eec184d13682b5d3b102a849;p=clang
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145335 91177308-0d34-0410-b5e6-96231b3b80d8
---
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index fd6f393625..4c883eddd6 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -87,12 +87,8 @@ Clang's support for those languages.
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.
- - OS Availability attribute -- r128127
- - Improved AST support for partially constructed nodes and incomplete
- information for LLDB and other clients which dynamically build AST nodes.
- Memory reduction -- initializers, macro expansions, source locations,
etc.
- - Thread Safety attributes and correctness analysis added to Clang.
- Major improvements to the interactions between serializing and
deserializing the AST and the preprocessor -- argiris
@@ -193,6 +189,38 @@ be used as a compiler in a few Windows contexts.
Add support for Microsoft __if_exists/__if_not_exists statements (-fms-extensions mode).
+New availability attribute to detect and warn about API
+usage across OS X and iOS versions
+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.
+
+Thread Safety annotations and analysis-based warnings
+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
+extension specification,
+and the warnings currently supported include:
+
+ - Calling functions without the required locks
+ - Reading variables without the required locks
+ - Writing to variables without an exclusive lock (even if holding a shared
+ lock)
+ - Imbalance between locks and unlocks across loop entries and exits
+ - Acquiring or releasing locks out of order
+
+
+Improved support for partially constructed and/or
+incomplete ASTs
+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.
+