blob: 3c9f8a994886244113e1b00b66abebd517ab699d [file] [log] [blame]
Sean Silvab0455142013-01-02 22:05:33 +00001=====================================
Hans Wennborg0a7ec772015-01-14 18:14:03 +00002Clang 3.7 (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
Hans Wennborg0a7ec772015-01-14 18:14:03 +000013 These are in-progress notes for the upcoming Clang 3.7 release. You may
Aaron Ballmand6ea9142015-05-26 16:12:07 +000014 prefer the `Clang 3.6 Release Notes
15 <http://llvm.org/releases/3.6.0/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
Hans Wennborg0a7ec772015-01-14 18:14:03 +000021frontend, part of the LLVM Compiler Infrastructure, release 3.7. 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
Hans Wennborg0a7ec772015-01-14 18:14:03 +000039What's New in Clang 3.7?
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
Hans Wennborg0a7ec772015-01-14 18:14:03 +000050- Feature ...
Aaron Ballmana4bb4b92014-01-09 23:11:13 +000051
Rafael Espindola34970692013-12-12 16:07:11 +000052
Sean Silvafe251442012-12-23 01:19:35 +000053Improvements to Clang's diagnostics
54^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56Clang's diagnostics are constantly being improved to catch more issues,
57explain them more clearly, and provide more accurate source information
Rafael Espindolaaf742502014-08-22 21:59:11 +000058about them. The improvements since the 3.5 release include:
Sylvestre Ledru5e43f742014-07-14 18:30:23 +000059
Sean Silvafe251442012-12-23 01:19:35 +000060- ...
61
Sean Silvafe251442012-12-23 01:19:35 +000062New Compiler Flags
63------------------
64
Reid Kleckner7ffc3fb2015-03-20 00:31:07 +000065The sized deallocation feature of C++14 is now controlled by the
66``-fsized-deallocation`` flag. This feature relies on library support that
67isn't yet widely deployed, so the user must supply an extra flag to get the
68extra functionality.
69
Rafael Espindolaaf742502014-08-22 21:59:11 +000070The option ....
Renato Golin1588cda2013-12-11 09:35:10 +000071
Sylvestre Ledru0e767b12014-07-14 18:34:37 +000072
Tyler Nowickidb2668a2014-06-18 00:51:32 +000073New Pragmas in Clang
74-----------------------
75
Rafael Espindolaaf742502014-08-22 21:59:11 +000076Clang now supports the ...
Mark Heffernanbd26f5e2014-07-21 18:08:34 +000077
Hans Wennborg02dc0002014-08-05 00:21:23 +000078Windows Support
79---------------
80
Rafael Espindolaaf742502014-08-22 21:59:11 +000081Clang's support for building native Windows programs ...
Hans Wennborg02dc0002014-08-05 00:21:23 +000082
83
Renato Golinf2fcddb2013-12-13 09:27:34 +000084C Language Changes in Clang
85---------------------------
86
87...
88
Sean Silvafe251442012-12-23 01:19:35 +000089C11 Feature Support
90^^^^^^^^^^^^^^^^^^^
91
92...
93
94C++ Language Changes in Clang
95-----------------------------
96
Bill Wendling61f44cc2013-06-04 06:17:46 +000097- ...
Rafael Espindola9ca6e812013-04-09 12:51:24 +000098
Sean Silvafe251442012-12-23 01:19:35 +000099C++11 Feature Support
100^^^^^^^^^^^^^^^^^^^^^
101
102...
103
104Objective-C Language Changes in Clang
105-------------------------------------
106
107...
108
Erik Schnetter489700d2013-11-11 06:36:33 +0000109OpenCL C Language Changes in Clang
110----------------------------------
111
Bill Wendling0a794a4b2013-11-20 10:13:37 +0000112...
Erik Schnetter489700d2013-11-11 06:36:33 +0000113
Sean Silvafe251442012-12-23 01:19:35 +0000114Internal API Changes
115--------------------
116
Hans Wennborg0a7ec772015-01-14 18:14:03 +0000117These are major API changes that have happened since the 3.6 release of
Sean Silvafe251442012-12-23 01:19:35 +0000118Clang. If upgrading an external codebase that uses Clang as a library,
119this section should help get you past the largest hurdles of upgrading.
120
Richard Smith35932cd2015-05-04 03:18:47 +0000121- Some of the `PPCallbacks` interface now deals in `MacroDefinition`
122 objects instead of `MacroDirective` objects. This allows preserving
123 full information on macros imported from modules.
Sean Silvafe251442012-12-23 01:19:35 +0000124
Richard Smitha0334a92015-05-14 00:22:12 +0000125- `clang-c/Index.h` no longer `#include`\s `clang-c/Documentation.h`.
126 You now need to explicitly `#include "clang-c/Documentation.h"` if
127 you use the libclang documentation API.
128
Ted Kremenek3a2291b2013-04-24 07:33:52 +0000129libclang
130--------
131
Bill Wendling61f44cc2013-06-04 06:17:46 +0000132...
Ted Kremenek3a2291b2013-04-24 07:33:52 +0000133
Anna Zaksb6219a92013-04-25 23:14:38 +0000134Static Analyzer
Ted Kremenek004e8232013-04-26 00:01:34 +0000135---------------
Anna Zaksb6219a92013-04-25 23:14:38 +0000136
Bill Wendling0a794a4b2013-11-20 10:13:37 +0000137...
Ted Kremenek004e8232013-04-26 00:01:34 +0000138
139Core Analysis Improvements
140==========================
141
Bill Wendling61f44cc2013-06-04 06:17:46 +0000142- ...
Ted Kremenek004e8232013-04-26 00:01:34 +0000143
144New Issues Found
145================
146
Bill Wendling61f44cc2013-06-04 06:17:46 +0000147- ...
Anna Zaksb6219a92013-04-25 23:14:38 +0000148
Sean Silvafe251442012-12-23 01:19:35 +0000149Python Binding Changes
150----------------------
151
152The following methods have been added:
153
154- ...
155
156Significant Known Problems
157==========================
158
159Additional Information
160======================
161
162A wide variety of additional information is available on the `Clang web
163page <http://clang.llvm.org/>`_. The web page contains versions of the
164API documentation which are up-to-date with the Subversion version of
165the source code. You can access versions of these documents specific to
166this release by going into the "``clang/docs/``" directory in the Clang
167tree.
168
169If you have any questions or comments about Clang, please feel free to
170contact us via the `mailing
171list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_.