]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - docs/ReleaseNotes.rst
Vendor import of clang trunk r238337:
[FreeBSD/FreeBSD.git] / docs / ReleaseNotes.rst
1 =====================================
2 Clang 3.7 (In-Progress) Release Notes
3 =====================================
4
5 .. contents::
6    :local:
7    :depth: 2
8
9 Written by the `LLVM Team <http://llvm.org/>`_
10
11 .. warning::
12
13    These are in-progress notes for the upcoming Clang 3.7 release. You may
14    prefer the `Clang 3.6 Release Notes
15    <http://llvm.org/releases/3.6.0/tools/clang/docs/ReleaseNotes.html>`_.
16
17 Introduction
18 ============
19
20 This document contains the release notes for the Clang C/C++/Objective-C
21 frontend, part of the LLVM Compiler Infrastructure, release 3.7. 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/>`_.
28
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>`_.
33
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/>`_.
38
39 What's New in Clang 3.7?
40 ========================
41
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.
46
47 Major New Features
48 ------------------
49
50 - Use of the ``__declspec`` language extension for declaration attributes now
51   requires passing the -fms-extensions or -fborland compiler flag. This language
52   extension is also enabled when compiling CUDA code, but its use should be
53   viewed as an implementation detail that is subject to change.
54
55 Improvements to Clang's diagnostics
56 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57
58 Clang's diagnostics are constantly being improved to catch more issues,
59 explain them more clearly, and provide more accurate source information
60 about them. The improvements since the 3.5 release include:
61
62 -  ...
63
64 New Compiler Flags
65 ------------------
66
67 The sized deallocation feature of C++14 is now controlled by the
68 ``-fsized-deallocation`` flag. This feature relies on library support that
69 isn't yet widely deployed, so the user must supply an extra flag to get the
70 extra functionality.
71
72 The option ....
73
74
75 New Pragmas in Clang
76 -----------------------
77
78 Clang now supports the ...
79
80 Windows Support
81 ---------------
82
83 Clang's support for building native Windows programs ...
84
85
86 C Language Changes in Clang
87 ---------------------------
88
89 ...
90
91 C11 Feature Support
92 ^^^^^^^^^^^^^^^^^^^
93
94 ...
95
96 C++ Language Changes in Clang
97 -----------------------------
98
99 - ...
100
101 C++11 Feature Support
102 ^^^^^^^^^^^^^^^^^^^^^
103
104 ...
105
106 Objective-C Language Changes in Clang
107 -------------------------------------
108
109 ...
110
111 OpenCL C Language Changes in Clang
112 ----------------------------------
113
114 ...
115
116 Internal API Changes
117 --------------------
118
119 These are major API changes that have happened since the 3.6 release of
120 Clang. If upgrading an external codebase that uses Clang as a library,
121 this section should help get you past the largest hurdles of upgrading.
122
123 -  Some of the `PPCallbacks` interface now deals in `MacroDefinition`
124    objects instead of `MacroDirective` objects. This allows preserving
125    full information on macros imported from modules.
126
127 -  `clang-c/Index.h` no longer `#include`\s `clang-c/Documentation.h`.
128    You now need to explicitly `#include "clang-c/Documentation.h"` if
129    you use the libclang documentation API.
130
131 libclang
132 --------
133
134 ...
135
136 Static Analyzer
137 ---------------
138
139 ...
140
141 Core Analysis Improvements
142 ==========================
143
144 - ...
145
146 New Issues Found
147 ================
148
149 - ...
150
151 Python Binding Changes
152 ----------------------
153
154 The following methods have been added:
155
156 -  ...
157
158 Significant Known Problems
159 ==========================
160
161 Additional Information
162 ======================
163
164 A wide variety of additional information is available on the `Clang web
165 page <http://clang.llvm.org/>`_. The web page contains versions of the
166 API documentation which are up-to-date with the Subversion version of
167 the source code. You can access versions of these documents specific to
168 this release by going into the "``clang/docs/``" directory in the Clang
169 tree.
170
171 If you have any questions or comments about Clang, please feel free to
172 contact us via the `mailing
173 list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_.