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- ...
79
80New Pragmas in Clang
81--------------------
82
83- ...
84
85Attribute Changes in Clang
86--------------------------
87
88- ...
89
90Windows Support
91---------------
92
93- ...
94
95
96C Language Changes in Clang
97---------------------------
98
99- ...
100
101...
102
103C11 Feature Support
104^^^^^^^^^^^^^^^^^^^
105
106...
107
108C++ Language Changes in Clang
109-----------------------------
110
111- ...
112
113C++1z Feature Support
114^^^^^^^^^^^^^^^^^^^^^
115
116...
117
118Objective-C Language Changes in Clang
119-------------------------------------
120
121...
122
123OpenCL C Language Changes in Clang
124----------------------------------
125
126...
127
128ABI Changes in Clang
129--------------------
130
131- ...
132
133OpenMP Support in Clang
134-----------------------
135
136- Added emission of the debug information for NVPTX target devices.
137
138CUDA Support in Clang
139---------------------
140
141- Added emission of the debug information for the device code.
142
143Internal API Changes
144--------------------
145
146These are major API changes that have happened since the 8.0.0 release of
147Clang. If upgrading an external codebase that uses Clang as a library,
148this section should help get you past the largest hurdles of upgrading.
149
150Build System Changes
151--------------------
152
153These are major changes to the build system that have happened since the 8.0.0
154release of Clang. Users of the build system should adjust accordingly.
155
156- In 8.0.0 and below, the install-clang-headers target would install clang's
157  resource directory headers. This installation is now performed by the
158  install-clang-resource-headers target. Users of the old install-clang-headers
159  target should switch to the new install-clang-resource-headers target. The
160  install-clang-headers target now installs clang's API headers (corresponding
161  to its libraries), which is consistent with the install-llvm-headers target.
162
163-  ...
164
165AST Matchers
166------------
167
168- ...
169
170clang-format
171------------
172
173- Add language support for clang-formatting C# files
174- Add Microsoft coding style to encapsulate default C# formatting style
175- Added new option `PPDIS_BeforeHash` (in configuration: `BeforeHash`) to
176  `IndentPPDirectives` which indents preprocessor directives before the hash.
177
178libclang
179--------
180
181- When `CINDEXTEST_INCLUDE_ATTRIBUTED_TYPES` is not provided when making a
182  CXType, the equivalent type of the AttributedType is returned instead of the
183  modified type if the user does not want attribute sugar. The equivalent type
184  represents the minimally-desugared type which the AttributedType is
185  canonically equivalent to.
186
187
188Static Analyzer
189---------------
190
191- ...
192
193...
194
195.. _release-notes-ubsan:
196
197Undefined Behavior Sanitizer (UBSan)
198------------------------------------
199
200- ...
201
202Core Analysis Improvements
203==========================
204
205- ...
206
207New Issues Found
208================
209
210- ...
211
212Python Binding Changes
213----------------------
214
215The following methods have been added:
216
217-  ...
218
219Significant Known Problems
220==========================
221
222Additional Information
223======================
224
225A wide variety of additional information is available on the `Clang web
226page <https://clang.llvm.org/>`_. The web page contains versions of the
227API documentation which are up-to-date with the Subversion version of
228the source code. You can access versions of these documents specific to
229this release by going into the "``clang/docs/``" directory in the Clang
230tree.
231
232If you have any questions or comments about Clang, please feel free to
233contact us via the `mailing
234list <https://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
235