1=======================================
2Clang 5.0.0 (In-Progress) Release Notes
3=======================================
4
5.. contents::
6   :local:
7   :depth: 2
8
9Written by the `LLVM Team <http://llvm.org/>`_
10
11.. warning::
12
13   These are in-progress notes for the upcoming Clang 5 release.
14   Release notes for previous releases can be found on
15   `the Download Page <http://releases.llvm.org/download.html>`_.
16
17Introduction
18============
19
20This document contains the release notes for the Clang C/C++/Objective-C
21frontend, part of the LLVM Compiler Infrastructure, release 5.0.0. Here we
22describe 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
39What's New in Clang 5.0.0?
40==========================
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
50-  ...
51
52Improvements to Clang's diagnostics
53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54
55-  -Wunused-lambda-capture warns when a variable explicitly captured
56   by a lambda is not used in the body of the lambda.
57
58New Compiler Flags
59------------------
60
61The option ....
62
63New Pragmas in Clang
64-----------------------
65
66Clang now supports the ...
67
68
69Attribute Changes in Clang
70--------------------------
71
72-  ...
73
74Windows Support
75---------------
76
77Clang's support for building native Windows programs ...
78
79
80C Language Changes in Clang
81---------------------------
82
83- ...
84
85...
86
87C11 Feature Support
88^^^^^^^^^^^^^^^^^^^
89
90...
91
92C++ Language Changes in Clang
93-----------------------------
94
95...
96
97C++1z Feature Support
98^^^^^^^^^^^^^^^^^^^^^
99
100...
101
102Objective-C Language Changes in Clang
103-------------------------------------
104
105...
106
107OpenCL C Language Changes in Clang
108----------------------------------
109
110...
111
112OpenMP Support in Clang
113----------------------------------
114
115...
116
117Internal API Changes
118--------------------
119
120These are major API changes that have happened since the 4.0.0 release of
121Clang. If upgrading an external codebase that uses Clang as a library,
122this section should help get you past the largest hurdles of upgrading.
123
124-  ...
125
126AST Matchers
127------------
128
129...
130
131
132clang-format
133------------
134
135* Option **BreakBeforeInheritanceComma** added to break before ``:`` and ``,``  in case of
136  multiple inheritance in a class declaration. Enabled by default in the Mozilla coding style.
137
138  +---------------------+----------------------------------------+
139  | true                | false                                  |
140  +=====================+========================================+
141  | .. code-block:: c++ | .. code-block:: c++                    |
142  |                     |                                        |
143  |   class MyClass     |   class MyClass : public X, public Y { |
144  |       : public X    |   };                                   |
145  |       , public Y {  |                                        |
146  |   };                |                                        |
147  +---------------------+----------------------------------------+
148
149* Align block comment decorations.
150
151  +----------------------+---------------------+
152  | Before               | After               |
153  +======================+=====================+
154  |  .. code-block:: c++ | .. code-block:: c++ |
155  |                      |                     |
156  |    /* line 1         |   /* line 1         |
157  |      * line 2        |    * line 2         |
158  |     */               |    */               |
159  +----------------------+---------------------+
160
161* The :doc:`ClangFormatStyleOptions` documentation provides detailed examples for most options.
162
163* Namespace end comments are now added or updated automatically.
164
165  +---------------------+---------------------+
166  | Before              | After               |
167  +=====================+=====================+
168  | .. code-block:: c++ | .. code-block:: c++ |
169  |                     |                     |
170  |   namespace A {     |   namespace A {     |
171  |   int i;            |   int i;            |
172  |   int j;            |   int j;            |
173  |   }                 |   }                 |
174  +---------------------+---------------------+
175
176* Comment reflow support added. Overly long comment lines will now be reflown with the rest of
177  the paragraph instead of just broken. Option **ReflowComments** added and enabled by default.
178
179libclang
180--------
181
182...
183
184
185Static Analyzer
186---------------
187
188...
189
190Core Analysis Improvements
191==========================
192
193- ...
194
195New Issues Found
196================
197
198- ...
199
200Python Binding Changes
201----------------------
202
203The following methods have been added:
204
205-  ...
206
207Significant Known Problems
208==========================
209
210Additional Information
211======================
212
213A wide variety of additional information is available on the `Clang web
214page <http://clang.llvm.org/>`_. The web page contains versions of the
215API documentation which are up-to-date with the Subversion version of
216the source code. You can access versions of these documents specific to
217this release by going into the "``clang/docs/``" directory in the Clang
218tree.
219
220If you have any questions or comments about Clang, please feel free to
221contact us via the `mailing
222list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
223