blob: bffef199865bc2ae696f3ebda96ff5d26b6cc465 [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
Rafael Espindolaaf742502014-08-22 21:59:11 +000014 prefer the `Clang 3.5 Release Notes
Reid Kleckneree15ea32015-01-26 19:53:16 +000015 <http://llvm.org/releases/3.5.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
Ted Kremenek3a2291b2013-04-24 07:33:52 +0000125libclang
126--------
127
Bill Wendling61f44cc2013-06-04 06:17:46 +0000128...
Ted Kremenek3a2291b2013-04-24 07:33:52 +0000129
Anna Zaksb6219a92013-04-25 23:14:38 +0000130Static Analyzer
Ted Kremenek004e8232013-04-26 00:01:34 +0000131---------------
Anna Zaksb6219a92013-04-25 23:14:38 +0000132
Bill Wendling0a794a4b2013-11-20 10:13:37 +0000133...
Ted Kremenek004e8232013-04-26 00:01:34 +0000134
135Core Analysis Improvements
136==========================
137
Bill Wendling61f44cc2013-06-04 06:17:46 +0000138- ...
Ted Kremenek004e8232013-04-26 00:01:34 +0000139
140New Issues Found
141================
142
Bill Wendling61f44cc2013-06-04 06:17:46 +0000143- ...
Anna Zaksb6219a92013-04-25 23:14:38 +0000144
Sean Silvafe251442012-12-23 01:19:35 +0000145Python Binding Changes
146----------------------
147
148The following methods have been added:
149
150- ...
151
152Significant Known Problems
153==========================
154
155Additional Information
156======================
157
158A wide variety of additional information is available on the `Clang web
159page <http://clang.llvm.org/>`_. The web page contains versions of the
160API documentation which are up-to-date with the Subversion version of
161the source code. You can access versions of these documents specific to
162this release by going into the "``clang/docs/``" directory in the Clang
163tree.
164
165If you have any questions or comments about Clang, please feel free to
166contact us via the `mailing
167list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_.