blob: 4a76ba253fd47bf74f0104e01faf1e6cba5c7d70 [file] [log] [blame]
Chandler Carruthc00c0c32011-11-28 07:16:19 +00001<html>
2<head>
3<title>Clang 3.0 Release Notes</title>
4<link type="text/css" rel="stylesheet" href="../menu.css" />
5<link type="text/css" rel="stylesheet" href="../content.css" />
6<style type="text/css">
7td {
8 vertical-align: top;
9}
10</style>
11</head>
12<body>
13
14<!--#include virtual="../menu.html.incl"-->
15
16<div id="content">
17
18<h1>Clang 3.0 Release Notes</h1>
19
20<img align=right src="http://llvm.org/img/DragonSmall.png"
21 width="136" height="136" alt="LLVM Dragon Logo">
22
23<ul>
24 <li><a href="#intro">Introduction</a></li>
25 <li><a href="#whatsnew">What's New in Clang 3.0?</a>
26 <ul>
27 <li><a href="#majorfeatures">Major New Features</a></li>
28 <li><a href="#cchanges">C Language Changes</a></li>
29 <li><a href="#cxxhanges">C++ Language Changes</a></li>
30 <li><a href="#objchanges">Objective-C Language Changes</a></li>
31 <li><a href="#apichanges">Internal API Changes</a></li>
32 </li>
33 <li><a href="#knownproblems">Known Problems</a></li>
34 <li><a href="#additionalinfo">Additional Information</a></li>
35</ul>
36
37<div class="doc_author">
38 <p>Written by the <a href="http://llvm.org/">LLVM Team</a></p>
39</div>
40
41<!--
42<h1 style="color:red">These are in-progress notes for the upcoming LLVM 3.0
43release.<br>
44You may prefer the
45<a href="http://llvm.org/releases/2.9/docs/ReleaseNotes.html">LLVM 2.9
46Release Notes</a>.</h1>
47 -->
48
49<!-- ======================================================================= -->
50<h2 id="intro">Introduction</h2>
51<!-- ======================================================================= -->
52
53<p>This document contains the release notes for the Clang C/C++/Objective-C
54frontend, part of the LLVM Compiler Infrastructure, release 3.0. Here we
55describe the status of Clang in some detail, including major improvements from
56the previous release and new feature work. For the general LLVM release notes,
57see <a href ="http;//llvm.org/docs/ReleaseNotes.html">the LLVM
58 documentation</a>. All LLVM releases may be downloaded from the
59<a href="http://llvm.org/releases/">LLVM releases web site</a>.</p>
60
61<p>For more information about Clang or LLVM, including information about the
62latest release, please check out the main please see the
63<a href="http://clang.llvm.org">Clang Web Site</a> or the
64<a href="http://llvm.org">LLVM Web Site</a>.
65
66<p>Note that if you are reading this file from a Subversion checkout or the main
67Clang web page, this document applies to the <i>next</i> release, not the
68current one. To see the release notes for a specific release, please see the
69<a href="http://llvm.org/releases/">releases page</a>.</p>
70
71<!-- ======================================================================= -->
72<h2 id="whatsnew">What's New in Clang 3.0?</h2>
73<!-- ======================================================================= -->
74
75<p>Some of the major new features and improvements to Clang are listed here.
76Generic improvements to Clang as a whole or two its underlying infrastructure
77are described first, followed by language-specific sections with improvements to
78Clang's support for those languages.</p>
79
80<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
81<h3 id="majorfeatures">Major New Features</h3>
82<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
83
Chandler Carrutha3950cc2011-11-28 08:41:06 +000084<h4 id="notes">Unorganized Notes</h4>
85<p>These are completely random notes as I'm organizing my thoughts and reviewing
86the history. Anything still here needs to be distilled and turned into proper
87prose in a section of its own. When doing that, delete the notes.</p>
88<ul>
89 <li>Make analyzer (especially as used w/ warnings in Clang) much faster</li>
90 <li>OpenCL support -- need details from Tanya and Peter -- separate language
91 section?</li>
92 <li>Building Clang on windows -- mingw, 32 and 64 bit, native windows builds,
93 cygwin. get chapuni to flesh out details.</li>
94 <li>Compiling C/C++ w/ MinGW (32/64) and Cygwin on Windows -- chapuny</li>
95 <li>C++11 -- noexcept (Sebastian Redl)</li>
96 <li>Uninitialized values Clang warning rewrite -- more accurate, faster, able
97 to differentiate between the possibility of an uninitialized use and the
98 certainty of an uninitialized use.</li>
99 <li>Enhancements to PPCallbacks
100 <ul>
101 <li>exact include paths<li>
102 </ul>
103 </li>
104 <li>Support for language specific address spaces</li>
105 <li>Support for compiling on NetBSD systems -- Joerg Sonnenberger to fill out</li>
106 <li>Support for '--sysroot' based cross-compilation</li>
107 <li>Crash recovery handling for libclang clients -- Ted</li>
108 <li>Driver support for automatic preparation of reproduction steps for
109 compiler crashes -- Chad</li>
110 <li>OS Availability attribute -- r128127</li>
111 <li>GNU ObjectiveC Runtime support -- David Chisnall</li>
112 <li>C++11 -- override</li>
113 <li>Diagnostic improvements bucket?
114 <ul>
115 <li>Emitting fewer include stacks</li>
116 </ul>
117 </li>
118 <li>C++ -- supported in the static analyzer: methods, new, constructors,
119 destructors, etc.</li>
120</ul>
121
Chandler Carruthc00c0c32011-11-28 07:16:19 +0000122<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
123<h3 id="cchanges">C Language Changes in Clang</h3>
124<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
125
126<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
127<h3 id="cxxchanges">C++ Language Changes in Clang</h3>
128<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
129
130<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
131<h3 id="objcchanges">Objective-C Language Changes in Clang</h3>
132<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
133
134<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
135<h3 id="apichanges">Internal API Changes</h3>
136<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
137
138<!-- ======================================================================= -->
139<h2 id="knownproblems">Significant Known Problems</h2>
140<!-- ======================================================================= -->
141
142<!-- ======================================================================= -->
143<h2 id="additionalinfo">Additional Information</h2>
144<!-- ======================================================================= -->
145
146<p>A wide variety of additional information is available on the
147<a href="http://clang.llvm.org/">Clang web page</a>. The web page contains
148versions of the API documentation which are up-to-date with the Subversion
149version of the source code. You can access versions of these documents specific
150to this release by going into the "<tt>clang/doc/</tt>" directory in the Clang
151tree.</p>
152
153<p>If you have any questions or comments about Clang, please feel free to
154contact us via the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">
155mailing list</a>.</p>
156
157</body>
158</html>