blob: d37554799f88e0b5e5583a8b746b9778a1166995 [file] [log] [blame]
Sean Silvab0455142013-01-02 22:05:33 +00001=====================================
Bill Wendling61f44cc2013-06-04 06:17:46 +00002Clang 3.4 (In-Progress) Release Notes
Sean Silvab0455142013-01-02 22:05:33 +00003=====================================
Sean Silvafe251442012-12-23 01:19:35 +00004
5.. contents::
6 :local:
7 :depth: 2
8
9Written by the `LLVM Team <http://llvm.org/>`_
10
11.. warning::
12
Bill Wendling61f44cc2013-06-04 06:17:46 +000013 These are in-progress notes for the upcoming Clang 3.4 release. You may
14 prefer the `Clang 3.3 Release Notes
Richard Smith26eed762013-06-17 23:53:08 +000015 <http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html>`_.
Sean Silvafe251442012-12-23 01:19:35 +000016
17Introduction
18============
19
20This document contains the release notes for the Clang C/C++/Objective-C
Bill Wendling61f44cc2013-06-04 06:17:46 +000021frontend, part of the LLVM Compiler Infrastructure, release 3.4. Here we
Sean Silvafe251442012-12-23 01:19:35 +000022describe the status of Clang in some detail, including major
23improvements from the previous release and new feature work. For the
24general LLVM release notes, see `the LLVM
25documentation <http://llvm.org/docs/ReleaseNotes.html>`_. All LLVM
26releases may be downloaded from the `LLVM releases web
27site <http://llvm.org/releases/>`_.
28
29For more information about Clang or LLVM, including information about
30the latest release, please check out the main please see the `Clang Web
31Site <http://clang.llvm.org>`_ or the `LLVM Web
32Site <http://llvm.org>`_.
33
34Note that if you are reading this file from a Subversion checkout or the
35main Clang web page, this document applies to the *next* release, not
36the current one. To see the release notes for a specific release, please
37see the `releases page <http://llvm.org/releases/>`_.
38
Bill Wendling61f44cc2013-06-04 06:17:46 +000039What's New in Clang 3.4?
Sean Silvafe251442012-12-23 01:19:35 +000040========================
41
42Some of the major new features and improvements to Clang are listed
43here. Generic improvements to Clang as a whole or to its underlying
44infrastructure are described first, followed by language-specific
45sections with improvements to Clang's support for those languages.
46
47Major New Features
48------------------
49
50Improvements to Clang's diagnostics
51^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
53Clang's diagnostics are constantly being improved to catch more issues,
54explain them more clearly, and provide more accurate source information
Bill Wendling61f44cc2013-06-04 06:17:46 +000055about them. The improvements since the 3.3 release include:
Sean Silvafe251442012-12-23 01:19:35 +000056
57- ...
58
Sean Silvafe251442012-12-23 01:19:35 +000059New Compiler Flags
60------------------
61
62- ...
63
64C Language Changes in Clang
65---------------------------
66
Michael Gottesman930ecdb2013-06-20 23:28:10 +000067- Added new checked arithmetic builtins for security critical applications.
68
Sean Silvafe251442012-12-23 01:19:35 +000069C11 Feature Support
70^^^^^^^^^^^^^^^^^^^
71
72...
73
74C++ Language Changes in Clang
75-----------------------------
76
Bill Wendling61f44cc2013-06-04 06:17:46 +000077- ...
Rafael Espindola9ca6e812013-04-09 12:51:24 +000078
Sean Silvafe251442012-12-23 01:19:35 +000079C++11 Feature Support
80^^^^^^^^^^^^^^^^^^^^^
81
82...
83
84Objective-C Language Changes in Clang
85-------------------------------------
86
87...
88
89Internal API Changes
90--------------------
91
Bill Wendling61f44cc2013-06-04 06:17:46 +000092These are major API changes that have happened since the 3.3 release of
Sean Silvafe251442012-12-23 01:19:35 +000093Clang. If upgrading an external codebase that uses Clang as a library,
94this section should help get you past the largest hurdles of upgrading.
95
Hans Wennborg3cb56a42013-05-20 14:53:06 +000096Wide Character Types
97^^^^^^^^^^^^^^^^^^^^
98
99The ASTContext class now keeps track of two different types for wide character
100types: WCharTy and WideCharTy. WCharTy represents the built-in wchar_t type
101available in C++. WideCharTy is the type used for wide character literals; in
102C++ it is the same as WCharTy, but in C99, where wchar_t is a typedef, it is an
103integer type.
104
Sean Silvafe251442012-12-23 01:19:35 +0000105...
106
Ted Kremenek3a2291b2013-04-24 07:33:52 +0000107libclang
108--------
109
Bill Wendling61f44cc2013-06-04 06:17:46 +0000110...
Ted Kremenek3a2291b2013-04-24 07:33:52 +0000111
Anna Zaksb6219a92013-04-25 23:14:38 +0000112Static Analyzer
Ted Kremenek004e8232013-04-26 00:01:34 +0000113---------------
Anna Zaksb6219a92013-04-25 23:14:38 +0000114
Ted Kremenek004e8232013-04-26 00:01:34 +0000115The static analyzer (which contains additional code checking beyond compiler
116warnings) has improved significantly in both in the core analysis engine and
117also in the kinds of issues it can find.
118
119Core Analysis Improvements
120==========================
121
Bill Wendling61f44cc2013-06-04 06:17:46 +0000122- ...
Ted Kremenek004e8232013-04-26 00:01:34 +0000123
124New Issues Found
125================
126
Bill Wendling61f44cc2013-06-04 06:17:46 +0000127- ...
Anna Zaksb6219a92013-04-25 23:14:38 +0000128
Sean Silvafe251442012-12-23 01:19:35 +0000129Python Binding Changes
130----------------------
131
132The following methods have been added:
133
134- ...
135
136Significant Known Problems
137==========================
138
139Additional Information
140======================
141
142A wide variety of additional information is available on the `Clang web
143page <http://clang.llvm.org/>`_. The web page contains versions of the
144API documentation which are up-to-date with the Subversion version of
145the source code. You can access versions of these documents specific to
146this release by going into the "``clang/docs/``" directory in the Clang
147tree.
148
149If you have any questions or comments about Clang, please feel free to
150contact us via the `mailing
151list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_.