1=======================================
2Clang 4.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 4.0.0 release. You may
14   prefer the `Clang 3.9 Release Notes
15   <http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.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 4.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 4.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- The ``diagnose_if`` attribute has been added to clang. This attribute allows
51  clang to emit a warning or error if a function call meets one or more
52  user-specified conditions.
53
54-  ...
55
56Improvements to Clang's diagnostics
57^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58
59-  ...
60
61New Compiler Flags
62------------------
63
64The option -Og has been added to optimize the debugging experience.
65For now, this option is exactly the same as -O1. However, in the future,
66some other optimizations might be enabled or disabled.
67
68
69The option ....
70
71New Pragmas in Clang
72-----------------------
73
74Clang now supports the ...
75
76
77Attribute Changes in Clang
78--------------------------
79
80-  ...
81
82Windows Support
83---------------
84
85Clang's support for building native Windows programs ...
86
87
88C Language Changes in Clang
89---------------------------
90
91- ...
92
93...
94
95C11 Feature Support
96^^^^^^^^^^^^^^^^^^^
97
98...
99
100C++ Language Changes in Clang
101-----------------------------
102
103...
104
105C++1z Feature Support
106^^^^^^^^^^^^^^^^^^^^^
107
108...
109
110Objective-C Language Changes in Clang
111-------------------------------------
112
113...
114
115OpenCL C Language Changes in Clang
116----------------------------------
117
118...
119
120OpenMP Support in Clang
121----------------------------------
122
123...
124
125Internal API Changes
126--------------------
127
128These are major API changes that have happened since the 3.9 release of
129Clang. If upgrading an external codebase that uses Clang as a library,
130this section should help get you past the largest hurdles of upgrading.
131
132-  ...
133
134AST Matchers
135------------
136
137...
138
139libclang
140--------
141
142...
143
144With the option --show-description, scan-build's list of defects will also
145show the description of the defects.
146
147
148Static Analyzer
149---------------
150
151...
152
153Core Analysis Improvements
154==========================
155
156- ...
157
158New Issues Found
159================
160
161- ...
162
163Python Binding Changes
164----------------------
165
166The following methods have been added:
167
168-  ...
169
170Significant Known Problems
171==========================
172
173Additional Information
174======================
175
176A wide variety of additional information is available on the `Clang web
177page <http://clang.llvm.org/>`_. The web page contains versions of the
178API documentation which are up-to-date with the Subversion version of
179the source code. You can access versions of these documents specific to
180this release by going into the "``clang/docs/``" directory in the Clang
181tree.
182
183If you have any questions or comments about Clang, please feel free to
184contact us via the `mailing
185list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
186