Clang Project

clang_source_code/docs/ReleaseNotes.rst
1=======================================
2Clang 9.0.0 (In-Progress) Release Notes
3=======================================
4
5.. contents::
6   :local:
7   :depth: 2
8
9Written by the `LLVM Team <https://llvm.org/>`_
10
11.. warning::
12
13   These are in-progress notes for the upcoming Clang 9 release.
14   Release notes for previous releases can be found on
15   `the Download Page <https://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 9.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 <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM
26releases may be downloaded from the `LLVM releases web
27site <https://llvm.org/releases/>`_.
28
29For more information about Clang or LLVM, including information about the
30latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or the
31`LLVM Web Site <https://llvm.org>`_.
32
33Note that if you are reading this file from a Subversion checkout or the
34main Clang web page, this document applies to the *next* release, not
35the current one. To see the release notes for a specific release, please
36see the `releases page <https://llvm.org/releases/>`_.
37
38What's New in Clang 9.0.0?
39==========================
40
41Some of the major new features and improvements to Clang are listed
42here. Generic improvements to Clang as a whole or to its underlying
43infrastructure are described first, followed by language-specific
44sections with improvements to Clang's support for those languages.
45
46Major New Features
47------------------
48
49- ...
50
51Improvements to Clang's diagnostics
52^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
53
54- ...
55
56Non-comprehensive list of changes in this release
57-------------------------------------------------
58
59- ...
60
61
62New Compiler Flags
63------------------
64
65- ...
66
67Deprecated Compiler Flags
68-------------------------
69
70The following options are deprecated and ignored. They will be removed in
71future versions of Clang.
72
73- ...
74
75Modified Compiler Flags
76-----------------------
77
78- `clang -dumpversion` now returns the version of Clang itself.
79
80- ...
81
82New Pragmas in Clang
83--------------------
84
85- ...
86
87Attribute Changes in Clang
88--------------------------
89
90- ...
91
92Windows Support
93---------------
94
95- ...
96
97
98C Language Changes in Clang
99---------------------------
100
101- ...
102
103...
104
105C11 Feature Support
106^^^^^^^^^^^^^^^^^^^
107
108...
109
110C++ Language Changes in Clang
111-----------------------------
112
113- ...
114
115C++1z Feature Support
116^^^^^^^^^^^^^^^^^^^^^
117
118...
119
120Objective-C Language Changes in Clang
121-------------------------------------
122
123...
124
125OpenCL C Language Changes in Clang
126----------------------------------
127
128...
129
130ABI Changes in Clang
131--------------------
132
133- ...
134
135OpenMP Support in Clang
136-----------------------
137
138- Added emission of the debug information for NVPTX target devices.
139
140CUDA Support in Clang
141---------------------
142
143- Added emission of the debug information for the device code.
144
145Internal API Changes
146--------------------
147
148These are major API changes that have happened since the 8.0.0 release of
149Clang. If upgrading an external codebase that uses Clang as a library,
150this section should help get you past the largest hurdles of upgrading.
151
152Build System Changes
153--------------------
154
155These are major changes to the build system that have happened since the 8.0.0
156release of Clang. Users of the build system should adjust accordingly.
157
158- In 8.0.0 and below, the install-clang-headers target would install clang's
159  resource directory headers. This installation is now performed by the
160  install-clang-resource-headers target. Users of the old install-clang-headers
161  target should switch to the new install-clang-resource-headers target. The
162  install-clang-headers target now installs clang's API headers (corresponding
163  to its libraries), which is consistent with the install-llvm-headers target.
164
165-  ...
166
167AST Matchers
168------------
169
170- ...
171
172clang-format
173------------
174
175- Add language support for clang-formatting C# files
176- Add Microsoft coding style to encapsulate default C# formatting style
177- Added new option `PPDIS_BeforeHash` (in configuration: `BeforeHash`) to
178  `IndentPPDirectives` which indents preprocessor directives before the hash.
179
180libclang
181--------
182
183- When `CINDEXTEST_INCLUDE_ATTRIBUTED_TYPES` is not provided when making a
184  CXType, the equivalent type of the AttributedType is returned instead of the
185  modified type if the user does not want attribute sugar. The equivalent type
186  represents the minimally-desugared type which the AttributedType is
187  canonically equivalent to.
188
189
190Static Analyzer
191---------------
192
193- ...
194
195...
196
197.. _release-notes-ubsan:
198
199Undefined Behavior Sanitizer (UBSan)
200------------------------------------
201
202- ...
203
204Core Analysis Improvements
205==========================
206
207- ...
208
209New Issues Found
210================
211
212- ...
213
214Python Binding Changes
215----------------------
216
217The following methods have been added:
218
219-  ...
220
221Significant Known Problems
222==========================
223
224Additional Information
225======================
226
227A wide variety of additional information is available on the `Clang web
228page <https://clang.llvm.org/>`_. The web page contains versions of the
229API documentation which are up-to-date with the Subversion version of
230the source code. You can access versions of these documents specific to
231this release by going into the "``clang/docs/``" directory in the Clang
232tree.
233
234If you have any questions or comments about Clang, please feel free to
235contact us via the `mailing
236list <https://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
237