summaryrefslogtreecommitdiff
path: root/docs/ReleaseNotes.rst
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-06-04 06:17:46 +0000
committerBill Wendling <isanbard@gmail.com>2013-06-04 06:17:46 +0000
commita03209e2c19bc1206857f9a510b7d8333c7bad01 (patch)
tree242d91607f33c9c2815adfef98c06cd54fbccf5e /docs/ReleaseNotes.rst
parent4d2ea738175aacc7405e76a7e92b7e20f05519c6 (diff)
downloadclang-a03209e2c19bc1206857f9a510b7d8333c7bad01.tar.gz
clang-a03209e2c19bc1206857f9a510b7d8333c7bad01.tar.bz2
clang-a03209e2c19bc1206857f9a510b7d8333c7bad01.tar.xz
Reset the release notes for the 3.4 release.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183211 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/ReleaseNotes.rst')
-rw-r--r--docs/ReleaseNotes.rst68
1 files changed, 12 insertions, 56 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index ba87cea734..be7a1da2f5 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -1,5 +1,5 @@
=====================================
-Clang 3.3 (In-Progress) Release Notes
+Clang 3.4 (In-Progress) Release Notes
=====================================
.. contents::
@@ -10,15 +10,15 @@ Written by the `LLVM Team <http://llvm.org/>`_
.. warning::
- These are in-progress notes for the upcoming Clang 3.3 release. You may
- prefer the `Clang 3.2 Release Notes
- <http://llvm.org/releases/3.2/docs/ClangReleaseNotes.html>`_.
+ These are in-progress notes for the upcoming Clang 3.4 release. You may
+ prefer the `Clang 3.3 Release Notes
+ <http://llvm.org/releases/3.3/docs/ClangReleaseNotes.html>`_.
Introduction
============
This document contains the release notes for the Clang C/C++/Objective-C
-frontend, part of the LLVM Compiler Infrastructure, release 3.3. Here we
+frontend, part of the LLVM Compiler Infrastructure, release 3.4. 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 `the LLVM
@@ -36,7 +36,7 @@ main Clang web page, this document applies to the *next* release, not
the current one. To see the release notes for a specific release, please
see the `releases page <http://llvm.org/releases/>`_.
-What's New in Clang 3.3?
+What's New in Clang 3.4?
========================
Some of the major new features and improvements to Clang are listed
@@ -52,19 +52,10 @@ Improvements to Clang's diagnostics
Clang's diagnostics are constantly being improved to catch more issues,
explain them more clearly, and provide more accurate source information
-about them. The improvements since the 3.2 release include:
+about them. The improvements since the 3.3 release include:
- ...
-Extended Identifiers: Unicode Support and Universal Character Names
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Clang 3.3 includes support for *extended identifiers* in C99 and C++.
-This feature allows identifiers to contain certain Unicode characters, as
-specified by the active language standard; these characters can be written
-directly in the source file using the UTF-8 encoding, or referred to using
-*universal character names* (``\u00E0``, ``\U000000E0``).
-
New Compiler Flags
------------------
@@ -81,11 +72,7 @@ C11 Feature Support
C++ Language Changes in Clang
-----------------------------
-- Clang now correctly implements language linkage for functions and variables.
- This means that, for example, it is now possible to overload static functions
- declared in an ``extern "C"`` context. For backwards compatibility, an alias
- with the unmangled name is still emitted if it is the only one and has the
- ``used`` attribute.
+- ...
C++11 Feature Support
^^^^^^^^^^^^^^^^^^^^^
@@ -100,32 +87,10 @@ Objective-C Language Changes in Clang
Internal API Changes
--------------------
-These are major API changes that have happened since the 3.2 release of
+These are major API changes that have happened since the 3.3 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.
-Value Casting
-^^^^^^^^^^^^^
-
-Certain type hierarchies (TypeLoc, CFGElement, ProgramPoint, and SVal) were
-misusing the llvm::cast machinery to perform undefined operations. Their APIs
-have been changed to use two member function templates that return values
-instead of pointers or references - "T castAs" and "Optional<T> getAs" (in the
-case of the TypeLoc hierarchy the latter is "T getAs" and you can use the
-boolean testability of a TypeLoc (or its 'validity') to verify that the cast
-succeeded). Essentially all previous 'cast' usage should be replaced with
-'castAs' and 'dyn_cast' should be replaced with 'getAs'. See r175462 for the
-first example of such a change along with many examples of how code was
-migrated to the new API.
-
-Storage Class
-^^^^^^^^^^^^^
-
-For each variable and function Clang used to keep the storage class as written
-in the source, the linkage and a semantic storage class. This was a bit
-redundant and the semantic storage class has been removed. The method
-getStorageClass now returns what is written in the source code for that decl.
-
Wide Character Types
^^^^^^^^^^^^^^^^^^^^
@@ -140,12 +105,7 @@ integer type.
libclang
--------
-The clang_CXCursorSet_contains() function previously incorrectly returned 0
-if it contained a CXCursor, contrary to what the documentation stated. This
-has been fixed so that the function returns a non-zero value if the set
-contains a cursor. This is API breaking change, but matches the intended
-original behavior. Moreover, this also fixes the issue of an invalid CXCursorSet
-appearing to contain any CXCursor.
+...
Static Analyzer
---------------
@@ -157,16 +117,12 @@ also in the kinds of issues it can find.
Core Analysis Improvements
==========================
-- Support for interprocedural reasoning about constructors and destructors.
-- New false positive suppression mechanisms that reduced the number of false null pointer dereference warnings due to interprocedural analysis.
-- Major performance enhancements to speed up interprocedural analysis
+- ...
New Issues Found
================
-- New memory error checks such as use-after-free with C++ 'delete'.
-- Detection of mismatched allocators and deallocators (e.g., using 'new' with 'free()', 'malloc()' with 'delete').
-- Additional checks for misuses of Apple Foundation framework collection APIs.
+- ...
Python Binding Changes
----------------------