blob: 90655d4d6f75ff400cb66416e2d6012ddec5a7b2 [file] [log] [blame]
Stephen Hines651f13c2014-04-23 16:59:28 -07001=====================================
Stephen Hines0e2c34f2015-03-23 12:09:02 -07002Clang 3.7 (In-Progress) Release Notes
Stephen Hines651f13c2014-04-23 16:59:28 -07003=====================================
Sean Silvadebc0182012-12-23 01:19:35 +00004
5.. contents::
6 :local:
7 :depth: 2
8
Stephen Hines651f13c2014-04-23 16:59:28 -07009Written by the `LLVM Team <http://llvm.org/>`_
10
11.. warning::
12
Stephen Hines0e2c34f2015-03-23 12:09:02 -070013 These are in-progress notes for the upcoming Clang 3.7 release. You may
Stephen Hines176edba2014-12-01 14:53:08 -080014 prefer the `Clang 3.5 Release Notes
Stephen Hines0e2c34f2015-03-23 12:09:02 -070015 <http://llvm.org/releases/3.5.0/tools/clang/docs/ReleaseNotes.html>`_.
Stephen Hines651f13c2014-04-23 16:59:28 -070016
Sean Silvadebc0182012-12-23 01:19:35 +000017Introduction
18============
19
20This document contains the release notes for the Clang C/C++/Objective-C
Stephen Hines0e2c34f2015-03-23 12:09:02 -070021frontend, part of the LLVM Compiler Infrastructure, release 3.7. Here we
Sean Silvadebc0182012-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
Stephen Hines651f13c2014-04-23 16:59:28 -070029For 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>`_.
Sean Silvadebc0182012-12-23 01:19:35 +000033
Stephen Hines651f13c2014-04-23 16:59:28 -070034Note 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/>`_.
Sean Silvadebc0182012-12-23 01:19:35 +000038
Stephen Hines0e2c34f2015-03-23 12:09:02 -070039What's New in Clang 3.7?
Sean Silvadebc0182012-12-23 01:19:35 +000040========================
41
Stephen Hines651f13c2014-04-23 16:59:28 -070042Some 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.
Chandler Carruthfe1088d2013-11-07 00:26:32 +000046
Sean Silvadebc0182012-12-23 01:19:35 +000047Major New Features
48------------------
49
Stephen Hines0e2c34f2015-03-23 12:09:02 -070050- Feature ...
Stephen Hines651f13c2014-04-23 16:59:28 -070051
52
Sean Silvadebc0182012-12-23 01:19:35 +000053Improvements to Clang's diagnostics
54^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
Stephen Hines651f13c2014-04-23 16:59:28 -070056Clang's diagnostics are constantly being improved to catch more issues,
57explain them more clearly, and provide more accurate source information
Stephen Hines176edba2014-12-01 14:53:08 -080058about them. The improvements since the 3.5 release include:
Sean Silvadebc0182012-12-23 01:19:35 +000059
Stephen Hines651f13c2014-04-23 16:59:28 -070060- ...
Bill Wendlingad0116e2013-12-16 19:53:36 +000061
Sean Silvadebc0182012-12-23 01:19:35 +000062New Compiler Flags
63------------------
64
Pirama Arumuga Nainar3ea9e332015-04-08 08:57:32 -070065The 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
Stephen Hines176edba2014-12-01 14:53:08 -080070The option ....
Stephen Hines651f13c2014-04-23 16:59:28 -070071
Stephen Hinesc568f1e2014-07-21 00:47:37 -070072
73New Pragmas in Clang
74-----------------------
75
Stephen Hines176edba2014-12-01 14:53:08 -080076Clang now supports the ...
77
78Windows Support
79---------------
80
81Clang's support for building native Windows programs ...
82
Stephen Hinesc568f1e2014-07-21 00:47:37 -070083
Sean Silvadebc0182012-12-23 01:19:35 +000084C Language Changes in Clang
85---------------------------
86
Stephen Hines651f13c2014-04-23 16:59:28 -070087...
88
89C11 Feature Support
90^^^^^^^^^^^^^^^^^^^
91
92...
Michael Gottesman98d1ec12013-06-20 23:28:10 +000093
Sean Silvadebc0182012-12-23 01:19:35 +000094C++ Language Changes in Clang
95-----------------------------
96
Stephen Hines651f13c2014-04-23 16:59:28 -070097- ...
Eli Friedman65400522013-07-20 01:06:31 +000098
Stephen Hines651f13c2014-04-23 16:59:28 -070099C++11 Feature Support
Sean Silvadebc0182012-12-23 01:19:35 +0000100^^^^^^^^^^^^^^^^^^^^^
101
Stephen Hines651f13c2014-04-23 16:59:28 -0700102...
Richard Smith22540da2013-12-12 02:20:54 +0000103
Stephen Hines651f13c2014-04-23 16:59:28 -0700104Objective-C Language Changes in Clang
105-------------------------------------
Richard Smith22540da2013-12-12 02:20:54 +0000106
Stephen Hines651f13c2014-04-23 16:59:28 -0700107...
Sean Silvadebc0182012-12-23 01:19:35 +0000108
Erik Schnettera87219b2013-11-11 06:36:33 +0000109OpenCL C Language Changes in Clang
110----------------------------------
111
Stephen Hines651f13c2014-04-23 16:59:28 -0700112...
Erik Schnettera87219b2013-11-11 06:36:33 +0000113
Sean Silvadebc0182012-12-23 01:19:35 +0000114Internal API Changes
115--------------------
116
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700117These are major API changes that have happened since the 3.6 release of
Sean Silvadebc0182012-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
Stephen Hines651f13c2014-04-23 16:59:28 -0700121...
Hans Wennborg0437e0d2013-05-20 14:53:06 +0000122
Stephen Hines651f13c2014-04-23 16:59:28 -0700123libclang
124--------
125
126...
Hans Wennborg0437e0d2013-05-20 14:53:06 +0000127
Anna Zaks08741a02013-04-25 23:14:38 +0000128Static Analyzer
Ted Kremenek1377a462013-04-26 00:01:34 +0000129---------------
Anna Zaks08741a02013-04-25 23:14:38 +0000130
Stephen Hines651f13c2014-04-23 16:59:28 -0700131...
Sylvestre Ledruaa7fc192013-12-13 11:30:23 +0000132
Stephen Hines651f13c2014-04-23 16:59:28 -0700133Core Analysis Improvements
134==========================
Daniel Jasper87ddfdd2013-12-11 14:41:33 +0000135
Stephen Hines651f13c2014-04-23 16:59:28 -0700136- ...
Daniel Jasper87ddfdd2013-12-11 14:41:33 +0000137
Stephen Hines651f13c2014-04-23 16:59:28 -0700138New Issues Found
139================
Hans Wennborga6c18502013-12-02 22:38:55 +0000140
Stephen Hines651f13c2014-04-23 16:59:28 -0700141- ...
Hans Wennborga6c18502013-12-02 22:38:55 +0000142
Sean Silvadebc0182012-12-23 01:19:35 +0000143Python Binding Changes
144----------------------
145
146The following methods have been added:
147
Stephen Hines651f13c2014-04-23 16:59:28 -0700148- ...
149
Sean Silvadebc0182012-12-23 01:19:35 +0000150Significant Known Problems
151==========================
152
153Additional Information
154======================
155
156A wide variety of additional information is available on the `Clang web
157page <http://clang.llvm.org/>`_. The web page contains versions of the
Stephen Hines651f13c2014-04-23 16:59:28 -0700158API documentation which are up-to-date with the Subversion version of
Sean Silvadebc0182012-12-23 01:19:35 +0000159the source code. You can access versions of these documents specific to
160this release by going into the "``clang/docs/``" directory in the Clang
161tree.
162
163If you have any questions or comments about Clang, please feel free to
164contact us via the `mailing
165list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_.