Benjamin Kramer | 665a8dc | 2012-01-15 15:26:07 +0000 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| 2 | "http://www.w3.org/TR/html4/strict.dtd"> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 3 | <html> |
| 4 | <head> |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 5 | <title>Clang 3.2 Release Notes</title> |
Benjamin Kramer | 665a8dc | 2012-01-15 15:26:07 +0000 | [diff] [blame] | 6 | <link type="text/css" rel="stylesheet" href="../menu.css"> |
| 7 | <link type="text/css" rel="stylesheet" href="../content.css"> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 8 | <style type="text/css"> |
| 9 | td { |
| 10 | vertical-align: top; |
| 11 | } |
| 12 | </style> |
| 13 | </head> |
| 14 | <body> |
| 15 | |
| 16 | <!--#include virtual="../menu.html.incl"--> |
| 17 | |
| 18 | <div id="content"> |
| 19 | |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 20 | <h1>Clang 3.2 Release Notes</h1> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 21 | |
Benjamin Kramer | 665a8dc | 2012-01-15 15:26:07 +0000 | [diff] [blame] | 22 | <img style="float:right" src="http://llvm.org/img/DragonSmall.png" |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 23 | width="136" height="136" alt="LLVM Dragon Logo"> |
| 24 | |
| 25 | <ul> |
| 26 | <li><a href="#intro">Introduction</a></li> |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 27 | <li><a href="#whatsnew">What's New in Clang 3.2?</a> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 28 | <ul> |
| 29 | <li><a href="#majorfeatures">Major New Features</a></li> |
Alexey Samsonov | f7a4c35 | 2012-06-22 11:18:10 +0000 | [diff] [blame] | 30 | <li><a href="#newflags">New Compiler Flags</a></li> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 31 | <li><a href="#cchanges">C Language Changes</a></li> |
Richard Smith | 45fb995 | 2012-02-16 00:32:27 +0000 | [diff] [blame] | 32 | <li><a href="#cxxchanges">C++ Language Changes</a></li> |
Jean-Daniel Dupas | 3fd8087 | 2012-03-03 13:37:22 +0000 | [diff] [blame] | 33 | <li><a href="#objcchanges">Objective-C Language Changes</a></li> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 34 | <li><a href="#apichanges">Internal API Changes</a></li> |
Gregory Szorc | 6341900 | 2012-05-12 20:45:56 +0000 | [diff] [blame] | 35 | <li><a href="#pythonchanges">Python Binding Changes</a></li> |
Richard Smith | 855746b | 2011-11-28 20:02:05 +0000 | [diff] [blame] | 36 | </ul> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 37 | </li> |
| 38 | <li><a href="#knownproblems">Known Problems</a></li> |
| 39 | <li><a href="#additionalinfo">Additional Information</a></li> |
| 40 | </ul> |
| 41 | |
| 42 | <div class="doc_author"> |
| 43 | <p>Written by the <a href="http://llvm.org/">LLVM Team</a></p> |
| 44 | </div> |
| 45 | |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 46 | <h1 style="color:red">These are in-progress notes for the upcoming Clang 3.2 |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 47 | release.<br> |
| 48 | You may prefer the |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 49 | <a href="http://llvm.org/releases/3.1/docs/ClangReleaseNotes.html">Clang 3.1 |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 50 | Release Notes</a>.</h1> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 51 | |
| 52 | <!-- ======================================================================= --> |
| 53 | <h2 id="intro">Introduction</h2> |
| 54 | <!-- ======================================================================= --> |
| 55 | |
| 56 | <p>This document contains the release notes for the Clang C/C++/Objective-C |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 57 | frontend, part of the LLVM Compiler Infrastructure, release 3.2. Here we |
| 58 | describe the status of Clang in some detail, including major improvements |
| 59 | from the previous release and new feature work. For the general LLVM release |
| 60 | notes, see <a href="http://llvm.org/docs/ReleaseNotes.html">the LLVM |
| 61 | documentation</a>. All LLVM releases may be downloaded from the |
| 62 | <a href="http://llvm.org/releases/">LLVM releases web site</a>.</p> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 63 | |
| 64 | <p>For more information about Clang or LLVM, including information about the |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 65 | latest release, please check out the main please see the |
| 66 | <a href="http://clang.llvm.org">Clang Web Site</a> or the |
| 67 | <a href="http://llvm.org">LLVM Web Site</a>. |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 68 | |
| 69 | <p>Note that if you are reading this file from a Subversion checkout or the main |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 70 | Clang web page, this document applies to the <i>next</i> release, not the |
| 71 | current one. To see the release notes for a specific release, please see the |
| 72 | <a href="http://llvm.org/releases/">releases page</a>.</p> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 73 | |
| 74 | <!-- ======================================================================= --> |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 75 | <h2 id="whatsnew">What's New in Clang 3.2?</h2> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 76 | <!-- ======================================================================= --> |
| 77 | |
| 78 | <p>Some of the major new features and improvements to Clang are listed here. |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 79 | Generic improvements to Clang as a whole or to its underlying infrastructure |
| 80 | are described first, followed by language-specific sections with improvements |
| 81 | to Clang's support for those languages.</p> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 82 | |
| 83 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 84 | <h3 id="majorfeatures">Major New Features</h3> |
| 85 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 86 | |
Richard Smith | b264702 | 2012-05-25 02:35:34 +0000 | [diff] [blame] | 87 | <h4 id="diagnostics">Improvements to Clang's diagnostics</h4> |
Chandler Carruth | a0df07d | 2011-11-28 22:17:58 +0000 | [diff] [blame] | 88 | |
Richard Smith | b264702 | 2012-05-25 02:35:34 +0000 | [diff] [blame] | 89 | <p>Clang's diagnostics are constantly being improved to catch more issues, |
| 90 | explain them more clearly, and provide more accurate source information about |
| 91 | them. The improvements since the 3.1 release include:</p> |
| 92 | |
| 93 | <ul> |
| 94 | <li><tt>-Wuninitialized</tt> has been taught to recognise uninitialized uses |
| 95 | which always occur when an explicitly-written non-constant condition is either |
| 96 | <tt>true</tt> or <tt>false</tt>. For example: |
| 97 | |
| 98 | <pre> |
| 99 | int f(bool b) { |
| 100 | int n; |
| 101 | if (b) |
| 102 | n = 1; |
| 103 | return n; |
| 104 | } |
| 105 | |
Richard Smith | bdb97ff | 2012-05-26 06:20:46 +0000 | [diff] [blame] | 106 | <b>sometimes-uninit.cpp:3:7: <span class="warning">warning:</span> variable 'n' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]</b> |
Richard Smith | b264702 | 2012-05-25 02:35:34 +0000 | [diff] [blame] | 107 | if (b) |
| 108 | <span class="caret">^</span> |
Richard Smith | bdb97ff | 2012-05-26 06:20:46 +0000 | [diff] [blame] | 109 | <b>sometimes-uninit.cpp:5:10: <span class="note">note:</span></b> uninitialized use occurs here |
| 110 | return n; |
| 111 | <span class="caret">^</span> |
| 112 | <b>sometimes-uninit.cpp:3:3: <span class="note">note:</span></b> remove the 'if' if its condition is always true |
| 113 | if (b) |
| 114 | <span class="caret">^~~~~~</span> |
Richard Smith | b264702 | 2012-05-25 02:35:34 +0000 | [diff] [blame] | 115 | <b>sometimes-uninit.cpp:2:8: <span class="note">note:</span></b> initialize the variable 'n' to silence this warning |
| 116 | int n; |
| 117 | <span class="caret">^</span> |
| 118 | <span class="caret"> = 0</span> |
| 119 | </pre> |
| 120 | |
| 121 | This functionality can be enabled or disabled separately from |
| 122 | <tt>-Wuninitialized</tt> with the <tt>-Wsometimes-uninitialized</tt> warning |
| 123 | flag.</li> |
Richard Trieu | e59331a | 2012-06-27 02:00:20 +0000 | [diff] [blame] | 124 | |
| 125 | <li>Template type diffing improves the display of diagnostics with templated |
| 126 | types in them. |
| 127 | |
| 128 | <pre> |
| 129 | int f(vector<map<int, double>>); |
| 130 | int x = f(vector<map<int, float>>()); |
| 131 | </pre> |
| 132 | The error message is the same, but the note is different based on the options selected. |
| 133 | <pre> |
| 134 | <b>template-diff.cpp:5:9: <span class="error">error:</span> no matching function for call to 'f'</b> |
| 135 | int x = f(vector<map<int, float>>()); |
| 136 | <span class="caret">^</span> |
| 137 | </pre> |
| 138 | Templated type diffing with type elision (default): |
| 139 | <pre> |
| 140 | <b>template-diff.cpp:4:5: <span class="note">note:</span></b> candidate function not viable: no known conversion from 'vector<map<[...], <span class="template-highlight">float</span>>>' to 'vector<map<[...], <span class="template-highlight">double</span>>>' for 1st argument; |
| 141 | int f(vector<map<int, double>>); |
| 142 | <span class="caret">^</span> |
| 143 | </pre> |
| 144 | Templated type diffing without type elision (-fno-elide-type): |
| 145 | <pre> |
| 146 | <b>template-diff.cpp:4:5: <span class="note">note:</span></b> candidate function not viable: no known conversion from 'vector<map<int, <span class="template-highlight">float</span>>>' to 'vector<map<int, <span class="template-highlight">double</span>>>' for 1st argument; |
| 147 | int f(vector<map<int, double>>); |
| 148 | <span class="caret">^</span> |
| 149 | </pre> |
| 150 | Templated tree printing with type elision (-fdiagnostics-show-template-tree): |
| 151 | <pre> |
| 152 | <b>template-diff.cpp:4:5: <span class="note">note:</span></b> candidate function not viable: no known conversion for 1st argument; |
| 153 | vector< |
| 154 | map< |
| 155 | [...], |
| 156 | [<span class="template-highlight">float</span> != <span class="template-highlight">double</span>]>> |
| 157 | int f(vector<map<int, double>>); |
| 158 | <span class="caret">^</span> |
| 159 | </pre> |
| 160 | Templated tree printing without type elision (-fdiagnostics-show-template-tree -fno-elide-type): |
| 161 | <pre> |
| 162 | <b>template-diff.cpp:4:5: <span class="note">note:</span></b> candidate function not viable: no known conversion for 1st argument; |
| 163 | vector< |
| 164 | map< |
| 165 | int, |
| 166 | [<span class="template-highlight">float</span> != <span class="template-highlight">double</span>]>> |
| 167 | int f(vector<map<int, double>>); |
| 168 | <span class="caret">^</span> |
| 169 | </pre> |
| 170 | |
| 171 | </li> |
| 172 | |
Chandler Carruth | 2df1658 | 2012-12-17 06:24:36 +0000 | [diff] [blame^] | 173 | <li>The Address Sanitizer feature and Clang's |
| 174 | <tt>-fcatch-undefined-behavior</tt> option have been moved to a unified flag |
| 175 | set: <tt>-fsanitize</tt>. This flag can be used to enable the different |
| 176 | dynamic checking tools when building. For example, |
| 177 | <tt>-faddress-sanitizer</tt> is now <tt>-fsanitize=address</tt>, and |
| 178 | <tt>-fcatch-undefined-behavior</tt> is now <tt>-fsanitize=undefined</tt>. |
| 179 | With this release the set of checks available continues to grow, see the Clang |
| 180 | documentaion and specific sanitizer notes below for details. |
Richard Smith | 3f9411a | 2012-08-25 00:47:19 +0000 | [diff] [blame] | 181 | </li> |
| 182 | |
Richard Smith | b264702 | 2012-05-25 02:35:34 +0000 | [diff] [blame] | 183 | </ul> |
| 184 | |
Hans Wennborg | 5e2d5de | 2012-06-23 11:51:46 +0000 | [diff] [blame] | 185 | <h4 id="tlsmodel">Support for <code>tls_model</code> attribute</h4> |
| 186 | |
| 187 | <p>Clang now supports the <code>tls_model</code> attribute, allowing code that |
| 188 | uses thread-local storage to explicitly select which model to use. The available |
| 189 | models are <code>"global-dynamic"</code>, <code>"local-dynamic"</code>, |
| 190 | <code>"initial-exec"</code> and <code>"local-exec"</code>. See |
| 191 | <a href="http://www.akkadia.org/drepper/tls.pdf">ELF Handling For Thread-Local |
| 192 | Storage</a> for more information.</p> |
| 193 | |
| 194 | <p>The compiler is free to choose a different model if the specified model is not |
| 195 | supported by the target, or if the compiler determines that a more specific |
| 196 | model can be used. |
| 197 | </p> |
| 198 | |
Dmitri Gribenko | 19d48ce | 2012-08-17 16:01:54 +0000 | [diff] [blame] | 199 | <h4>Type safety attributes</h4> |
| 200 | <p>Clang now supports type safety attributes that allow checking during compile |
| 201 | time that 'void *' function arguments and arguments for variadic functions are |
| 202 | of a particular type which is determined by some other argument to the same |
| 203 | function call.</p> |
| 204 | |
| 205 | <p>Usecases include:</p> |
| 206 | <ul> |
| 207 | <li>MPI library implementations, where these attributes enable checking that |
| 208 | buffer type matches the passed <code>MPI_Datatype</code>;</li> |
| 209 | <li> HDF5 library -- similar usecase as for MPI;</li> |
| 210 | <li> checking types of variadic functions' arguments for functions like |
| 211 | <code>fcntl()</code> and <code>ioctl()</code>.</li> |
| 212 | </ul> |
| 213 | |
| 214 | <p>See entries for <code>argument_with_type_tag</code>, |
| 215 | <code>pointer_with_type_tag</code> and <code>type_tag_for_datatype</code> |
| 216 | attributes in Clang language extensions documentation.</p> |
| 217 | |
Dmitri Gribenko | 4f35f74 | 2012-12-16 17:38:09 +0000 | [diff] [blame] | 218 | <h4>Documentation comment support</h4> |
| 219 | <p>Clang now supports documentation comments written in a Doxygen-like syntax. |
| 220 | Clang parses the comments and can detect syntactic and semantic errors in |
| 221 | comments. These warnings are off by default. Pass <tt>-Wdocumentation</tt> |
| 222 | flag to enable warnings about documentation comments.</p> |
| 223 | |
| 224 | <p>For example, given:</p> |
| 225 | |
| 226 | <pre>/// \param [in] Str the string. |
| 227 | /// \returns a modified string. |
| 228 | void do_something(const std::string &str);</pre> |
| 229 | |
| 230 | <p><tt>clang -Wdocumentation</tt> will emit two warnings:</p> |
| 231 | |
| 232 | <pre><b>doc-test.cc:3:6: <span class="warning">warning:</span></b> '\returns' command used in a comment that is attached to a function returning void [-Wdocumentation] |
| 233 | /// \returns a modified string. |
| 234 | <span class="caret">~^~~~~~~~~~~~~~~~~~~~~~~~~~</span> |
| 235 | <b>doc-test.cc:2:17: <span class="warning">warning:</span></b> parameter 'Str' not found in the function declaration [-Wdocumentation] |
| 236 | /// \param [in] Str the string. |
| 237 | <span class="caret">^~~</span> |
| 238 | <b>doc-test.cc:2:17: <span class="note">note:</span></b> did you mean 'str'? |
| 239 | /// \param [in] Str the string. |
| 240 | <span class="caret">^~~</span> |
| 241 | <span class="caret">str</span></pre> |
| 242 | |
| 243 | <p>libclang includes a new API, <tt>clang_FullComment_getAsXML</tt>, to convert |
| 244 | comments to XML documents. This API can be used to build documentation |
| 245 | extraction tools.</p> |
| 246 | |
Alexey Samsonov | f7a4c35 | 2012-06-22 11:18:10 +0000 | [diff] [blame] | 247 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 248 | <h3 id="newflags">New Compiler Flags</h3> |
| 249 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 250 | <ul> |
| 251 | <li><tt>-gline-tables-only</tt> controls the |
| 252 | <a href="http://clang.llvm.org/docs/UsersManual.html#debuginfosize">size of debug information</a>. |
| 253 | This flag tells Clang to emit debug info which is just enough to obtain stack traces with |
| 254 | function names, file names and line numbers (by such tools as gdb or addr2line). |
| 255 | Debug info for variables or function parameters is not produced, which reduces |
| 256 | the size of the resulting binary. |
Hans Wennborg | 7bf9d9b | 2012-07-13 12:47:15 +0000 | [diff] [blame] | 257 | |
| 258 | <li><tt>-ftls-model</tt> controls which TLS model to use for thread-local |
| 259 | variables. This can be overridden per variable using the |
| 260 | <a href="#tlsmodel"><tt>tls_model</tt> attribute</a> mentioned above. |
| 261 | For more details, see the <a href="UsersManual.html#opt_ftls-model">User's |
| 262 | Manual</a>.</li> |
Alexey Samsonov | f7a4c35 | 2012-06-22 11:18:10 +0000 | [diff] [blame] | 263 | </ul> |
Manuel Klimek | 92f7409 | 2012-04-04 12:53:16 +0000 | [diff] [blame] | 264 | |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 265 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 266 | <h3 id="cchanges">C Language Changes in Clang</h3> |
| 267 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 268 | |
Richard Smith | 45fb995 | 2012-02-16 00:32:27 +0000 | [diff] [blame] | 269 | <h4 id="c11changes">C11 Feature Support</h4> |
Richard Smith | 62d730f | 2011-11-28 22:48:25 +0000 | [diff] [blame] | 270 | |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 271 | <p>...</p> |
Richard Smith | 45fb995 | 2012-02-16 00:32:27 +0000 | [diff] [blame] | 272 | |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 273 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 274 | <h3 id="cxxchanges">C++ Language Changes in Clang</h3> |
| 275 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 276 | |
Richard Smith | 855746b | 2011-11-28 20:02:05 +0000 | [diff] [blame] | 277 | <h4 id="cxx11changes">C++11 Feature Support</h4> |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 278 | |
| 279 | <p>...</p> |
Richard Smith | 855746b | 2011-11-28 20:02:05 +0000 | [diff] [blame] | 280 | |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 281 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 282 | <h3 id="objcchanges">Objective-C Language Changes in Clang</h3> |
| 283 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
Chandler Carruth | 4d58212 | 2011-11-29 00:15:23 +0000 | [diff] [blame] | 284 | |
Jordan Rose | 6deae7c | 2012-07-09 16:54:44 +0000 | [diff] [blame] | 285 | <p>...</p> |
Chandler Carruth | 52e375e | 2011-11-29 00:15:25 +0000 | [diff] [blame] | 286 | |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 287 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 288 | <h3 id="apichanges">Internal API Changes</h3> |
| 289 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 290 | |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 291 | <p>These are major API changes that have happened since the 3.1 release of |
| 292 | Clang. If upgrading an external codebase that uses Clang as a library, this |
| 293 | section should help get you past the largest hurdles of upgrading.</p> |
Chandler Carruth | c4dbffa | 2011-11-28 18:55:47 +0000 | [diff] [blame] | 294 | |
Richard Smith | 45fb995 | 2012-02-16 00:32:27 +0000 | [diff] [blame] | 295 | <h4 id="api1">API change 1</h4> |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 296 | |
| 297 | <p>...</p> |
Chandler Carruth | c4dbffa | 2011-11-28 18:55:47 +0000 | [diff] [blame] | 298 | |
Gregory Szorc | 6341900 | 2012-05-12 20:45:56 +0000 | [diff] [blame] | 299 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 300 | <h3 id="pythonchanges">Python Binding Changes</h3> |
| 301 | <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> |
| 302 | |
| 303 | The following methods have been added: |
| 304 | <ul> |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 305 | <li>...</li> |
Gregory Szorc | 6341900 | 2012-05-12 20:45:56 +0000 | [diff] [blame] | 306 | </ul> |
| 307 | |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 308 | <!-- ======================================================================= --> |
| 309 | <h2 id="knownproblems">Significant Known Problems</h2> |
| 310 | <!-- ======================================================================= --> |
| 311 | |
| 312 | <!-- ======================================================================= --> |
| 313 | <h2 id="additionalinfo">Additional Information</h2> |
| 314 | <!-- ======================================================================= --> |
| 315 | |
| 316 | <p>A wide variety of additional information is available on the |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 317 | <a href="http://clang.llvm.org/">Clang web page</a>. The web page contains |
| 318 | versions of the API documentation which are up-to-date with the Subversion |
| 319 | version of the source code. You can access versions of these documents |
| 320 | specific to this release by going into the "<tt>clang/doc/</tt>" directory in |
| 321 | the Clang tree.</p> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 322 | |
| 323 | <p>If you have any questions or comments about Clang, please feel free to |
Bill Wendling | c0bb312 | 2012-05-24 06:42:56 +0000 | [diff] [blame] | 324 | contact us via |
| 325 | the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev"> mailing |
| 326 | list</a>.</p> |
Chandler Carruth | 59abf06 | 2011-11-28 22:12:44 +0000 | [diff] [blame] | 327 | |
| 328 | <!-- ======================================================================= --> |
| 329 | <!-- Likely 3.1 release notes --> |
| 330 | <!-- ======================================================================= --> |
| 331 | <!-- |
| 332 | This is just a section to hold things that have already gotten started and |
| 333 | should likely pick up proper release notes in 3.1. |
| 334 | |
| 335 | - C1X and C++11 atomics infrastructure and support |
| 336 | - CUDA support? |
| 337 | |
| 338 | --> |
| 339 | |
Benjamin Kramer | 665a8dc | 2012-01-15 15:26:07 +0000 | [diff] [blame] | 340 | </div> |
Chandler Carruth | c00c0c3 | 2011-11-28 07:16:19 +0000 | [diff] [blame] | 341 | </body> |
| 342 | </html> |