1 =======================================
2 Clang 5.0.0 (In-Progress) Release Notes
3 =======================================
9 Written by the `LLVM Team <http://llvm.org/>`_
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>`_.
20 This document contains the release notes for the Clang C/C++/Objective-C
21 frontend, part of the LLVM Compiler Infrastructure, release 5.0.0. Here we
22 describe the status of Clang in some detail, including major
23 improvements from the previous release and new feature work. For the
24 general LLVM release notes, see `the LLVM
25 documentation <http://llvm.org/docs/ReleaseNotes.html>`_. All LLVM
26 releases may be downloaded from the `LLVM releases web
27 site <http://llvm.org/releases/>`_.
29 For more information about Clang or LLVM, including information about
30 the latest release, please check out the main please see the `Clang Web
31 Site <http://clang.llvm.org>`_ or the `LLVM Web
32 Site <http://llvm.org>`_.
34 Note that if you are reading this file from a Subversion checkout or the
35 main Clang web page, this document applies to the *next* release, not
36 the current one. To see the release notes for a specific release, please
37 see the `releases page <http://llvm.org/releases/>`_.
39 What's New in Clang 5.0.0?
40 ==========================
42 Some of the major new features and improvements to Clang are listed
43 here. Generic improvements to Clang as a whole or to its underlying
44 infrastructure are described first, followed by language-specific
45 sections with improvements to Clang's support for those languages.
52 Improvements to Clang's diagnostics
53 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55 - -Wunused-lambda-capture warns when a variable explicitly captured
56 by a lambda is not used in the body of the lambda.
64 -----------------------
66 Clang now supports the ...
69 Attribute Changes in Clang
70 --------------------------
77 Clang's support for building native Windows programs ...
80 C Language Changes in Clang
81 ---------------------------
92 C++ Language Changes in Clang
93 -----------------------------
102 Objective-C Language Changes in Clang
103 -------------------------------------
107 OpenCL C Language Changes in Clang
108 ----------------------------------
112 OpenMP Support in Clang
113 ----------------------------------
120 These are major API changes that have happened since the 4.0.0 release of
121 Clang. If upgrading an external codebase that uses Clang as a library,
122 this section should help get you past the largest hurdles of upgrading.
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.
138 +---------------------+----------------------------------------+
140 +=====================+========================================+
141 | .. code-block:: c++ | .. code-block:: c++ |
143 | class MyClass | class MyClass : public X, public Y { |
147 +---------------------+----------------------------------------+
149 * Align block comment decorations.
151 +----------------------+---------------------+
153 +======================+=====================+
154 | .. code-block:: c++ | .. code-block:: c++ |
156 | /* line 1 | /* line 1 |
157 | * line 2 | * line 2 |
159 +----------------------+---------------------+
161 * The :doc:`ClangFormatStyleOptions` documentation provides detailed examples for most options.
163 * Namespace end comments are now added or updated automatically.
165 +---------------------+---------------------+
167 +=====================+=====================+
168 | .. code-block:: c++ | .. code-block:: c++ |
170 | namespace A { | namespace A { |
174 +---------------------+---------------------+
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.
190 Core Analysis Improvements
191 ==========================
200 Python Binding Changes
201 ----------------------
203 The following methods have been added:
207 Significant Known Problems
208 ==========================
210 Additional Information
211 ======================
213 A wide variety of additional information is available on the `Clang web
214 page <http://clang.llvm.org/>`_. The web page contains versions of the
215 API documentation which are up-to-date with the Subversion version of
216 the source code. You can access versions of these documents specific to
217 this release by going into the "``clang/docs/``" directory in the Clang
220 If you have any questions or comments about Clang, please feel free to
221 contact us via the `mailing
222 list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_.