1=====================================
2Clang 3.8 (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 3.8 release. You may
14   prefer the `Clang 3.7 Release Notes
15   <http://llvm.org/releases/3.7.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 3.8. 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 3.8?
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- Feature1...
51
52Improvements to Clang's diagnostics
53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54
55Clang's diagnostics are constantly being improved to catch more issues,
56explain them more clearly, and provide more accurate source information
57about them. The improvements since the 3.7 release include:
58
59-  ...
60
61New Compiler Flags
62------------------
63
64The option ....
65
66
67New Pragmas in Clang
68-----------------------
69
70Clang now supports the ...
71
72Windows Support
73---------------
74
75Clang's support for building native Windows programs ...
76
77
78C Language Changes in Clang
79---------------------------
80
81...
82
83C11 Feature Support
84^^^^^^^^^^^^^^^^^^^
85
86...
87
88C++ Language Changes in Clang
89-----------------------------
90
91- ...
92
93C++11 Feature Support
94^^^^^^^^^^^^^^^^^^^^^
95
96...
97
98Objective-C Language Changes in Clang
99-------------------------------------
100
101...
102
103OpenCL C Language Changes in Clang
104----------------------------------
105
106...
107
108Internal API Changes
109--------------------
110
111These are major API changes that have happened since the 3.7 release of
112Clang. If upgrading an external codebase that uses Clang as a library,
113this section should help get you past the largest hurdles of upgrading.
114
115-  ...
116
117AST Matchers
118------------
119The AST matcher functions were renamed to reflect the exact AST node names,
120which is a breaking change to AST matching code. The following matchers were
121affected:
122
123=======================	============================
124Previous Matcher Name	New Matcher Name
125=======================	============================
126recordDecl		recordDecl and cxxRecordDecl
127ctorInitializer		cxxCtorInitializer
128constructorDecl		cxxConstructorDecl
129destructorDecl		cxxDestructorDecl
130methodDecl		cxxMethodDecl
131conversionDecl		cxxConversionDecl
132memberCallExpr		cxxMemberCallExpr
133constructExpr		cxxConstructExpr
134unresolvedConstructExpr	cxxUnresolvedConstructExpr
135thisExpr		cxxThisExpr
136bindTemporaryExpr	cxxBindTemporaryExpr
137newExpr			cxxNewExpr
138deleteExpr		cxxDeleteExpr
139defaultArgExpr		cxxDefaultArgExpr
140operatorCallExpr	cxxOperatorCallExpr
141forRangeStmt		cxxForRangeStmt
142catchStmt		cxxCatchStmt
143tryStmt			cxxTryStmt
144throwExpr		cxxThrowExpr
145boolLiteral		cxxBoolLiteral
146nullPtrLiteralExpr	cxxNullPtrLiteralExpr
147reinterpretCastExpr	cxxReinterpretCastExpr
148staticCastExpr		cxxStaticCastExpr
149dynamicCastExpr		cxxDynamicCastExpr
150constCastExpr		cxxConstCastExpr
151functionalCastExpr	cxxFunctionalCastExpr
152temporaryObjectExpr	cxxTemporaryObjectExpr
153CUDAKernalCallExpr	cudaKernelCallExpr
154=======================	============================
155
156recordDecl() previously matched AST nodes of type CXXRecordDecl, but now
157matches AST nodes of type RecordDecl. If a CXXRecordDecl is required, use the
158cxxRecordDecl() matcher instead.
159
160...
161
162libclang
163--------
164
165...
166
167Static Analyzer
168---------------
169
170...
171
172Core Analysis Improvements
173==========================
174
175- ...
176
177New Issues Found
178================
179
180- ...
181
182Python Binding Changes
183----------------------
184
185The following methods have been added:
186
187-  ...
188
189Significant Known Problems
190==========================
191
192Additional Information
193======================
194
195A wide variety of additional information is available on the `Clang web
196page <http://clang.llvm.org/>`_. The web page contains versions of the
197API documentation which are up-to-date with the Subversion version of
198the source code. You can access versions of these documents specific to
199this release by going into the "``clang/docs/``" directory in the Clang
200tree.
201
202If you have any questions or comments about Clang, please feel free to
203contact us via the `mailing
204list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
205