diff options
Diffstat (limited to 'docs/ReleaseNotes.html')
-rw-r--r-- | docs/ReleaseNotes.html | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html new file mode 100644 index 0000000000000..d05c4b6939d1f --- /dev/null +++ b/docs/ReleaseNotes.html @@ -0,0 +1,193 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>Clang 3.1 Release Notes</title> +<link type="text/css" rel="stylesheet" href="../menu.css"> +<link type="text/css" rel="stylesheet" href="../content.css"> +<style type="text/css"> +td { + vertical-align: top; +} +</style> +</head> +<body> + +<!--#include virtual="../menu.html.incl"--> + +<div id="content"> + +<h1>Clang 3.1 Release Notes</h1> + +<img style="float:right" src="http://llvm.org/img/DragonSmall.png" + width="136" height="136" alt="LLVM Dragon Logo"> + +<ul> + <li><a href="#intro">Introduction</a></li> + <li><a href="#whatsnew">What's New in Clang 3.1?</a> + <ul> + <li><a href="#majorfeatures">Major New Features</a></li> + <li><a href="#cchanges">C Language Changes</a></li> + <li><a href="#cxxchanges">C++ Language Changes</a></li> + <li><a href="#objcchanges">Objective-C Language Changes</a></li> + <li><a href="#apichanges">Internal API Changes</a></li> + </ul> + </li> + <li><a href="#knownproblems">Known Problems</a></li> + <li><a href="#additionalinfo">Additional Information</a></li> +</ul> + +<div class="doc_author"> + <p>Written by the <a href="http://llvm.org/">LLVM Team</a></p> +</div> + +<h1 style="color:red">These are in-progress notes for the upcoming Clang 3.1 +release.<br> +You may prefer the +<a href="http://llvm.org/releases/3.0/docs/ClangReleaseNotes.html">Clang 3.0 +Release Notes</a>.</h1> + +<!-- ======================================================================= --> +<h2 id="intro">Introduction</h2> +<!-- ======================================================================= --> + +<p>This document contains the release notes for the Clang C/C++/Objective-C +frontend, part of the LLVM Compiler Infrastructure, release 3.1. Here we +describe the status of Clang in some detail, including major improvements from +the previous release and new feature work. For the general LLVM release notes, +see <a href="http://llvm.org/docs/ReleaseNotes.html">the LLVM + documentation</a>. All LLVM releases may be downloaded from the +<a href="http://llvm.org/releases/">LLVM releases web site</a>.</p> + +<p>For more information about Clang or LLVM, including information about the +latest release, please check out the main please see the +<a href="http://clang.llvm.org">Clang Web Site</a> or the +<a href="http://llvm.org">LLVM Web Site</a>. + +<p>Note that if you are reading this file from a Subversion checkout or the main +Clang web page, this document applies to the <i>next</i> release, not the +current one. To see the release notes for a specific release, please see the +<a href="http://llvm.org/releases/">releases page</a>.</p> + +<!-- ======================================================================= --> +<h2 id="whatsnew">What's New in Clang 3.1?</h2> +<!-- ======================================================================= --> + +<p>Some of the major new features and improvements to Clang are listed here. +Generic improvements to Clang as a whole or two its underlying infrastructure +are described first, followed by language-specific sections with improvements to +Clang's support for those languages.</p> + +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> +<h3 id="majorfeatures">Major New Features</h3> +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> + +<h4 id="majorfeature1">Feature 1</h4> +... + +<h4 id="diagnostics">New and better diagnostics</h4> + +<p>New: <code>-Wdangling-else</code>, <code>-Wstrncat-size</code>, ...</p> + +<p>Improved: <code>-Wformat</code>, <code>-Wempty-body</code>, +<code>-Wliteral-conversion</code>, ...</p> + +<h4 id="tooling">Tooling</h4> +<!-- FIXME: add a link to the tooling documentation once that's written. --> +<p>Added an API to enable clang-based standalone tools, including initial build +system integration.</p> + +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> +<h3 id="cchanges">C Language Changes in Clang</h3> +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> + +<h4 id="c11changes">C11 Feature Support</h4> + +<p>Clang 3.1 adds support for anonymous structs and anonymous unions, added in +the latest ISO C standard. Use <code>-std=c11</code> or <code>-std=gnu11</code> +to enable support for the new language standard. The new C11 features are +backwards-compatible and are available as an extension in all language +modes.</p> + +<p>All warning and language selection flags which previously accepted +<code>c1x</code> have been updated to accept <code>c11</code>. The old +<code>c1x</code> forms have been removed. + +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> +<h3 id="cxxchanges">C++ Language Changes in Clang</h3> +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> + +<h4 id="cxx11changes">C++11 Feature Support</h4> +<p>Clang 3.1 adds support for +<a href="http://clang.llvm.org/cxx_status.html#cxx11">more of the language +features</a> added in the latest ISO C++ standard, +<a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372">C++ 2011</a>. +Use <code>-std=c++11</code> or <code>-std=gnu++11</code> to enable support for +these features. In addition to the features supported by Clang 3.0, the +following are now considered to be of production quality: +<ul> + <li>Generalized constant expressions</li> + <li>Lambda expressions</li> + <li>Generalized initializers</li> + <li>Unrestricted unions</li> + <li>User-defined literals</li> + <li>Forward-declared enumerations</li> + <li>Atomics (both libc++'s and libstdc++4.7's <tt><atomic></tt> are + supported)</li> +</ul> + +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> +<h3 id="objcchanges">Objective-C Language Changes in Clang</h3> +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> +Clang 3.1 introduces several new Objective-C language features and improvements. + +<h4 id="objcwformat">Format string checking for NSString literals</h4> + +<code>-Wformat</code> now checks <code>@"nsstring literals"</code>. + +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> +<h3 id="apichanges">Internal API Changes</h3> +<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = --> + +These are major API changes that have happened since the 3.0 release of Clang. +If upgrading an external codebase that uses Clang as a library, this section +should help get you past the largest hurdles of upgrading. + +<h4 id="api1">API change 1</h4> +... + +<!-- ======================================================================= --> +<h2 id="knownproblems">Significant Known Problems</h2> +<!-- ======================================================================= --> + +<!-- ======================================================================= --> +<h2 id="additionalinfo">Additional Information</h2> +<!-- ======================================================================= --> + +<p>A wide variety of additional information is available on the +<a href="http://clang.llvm.org/">Clang web page</a>. The web page contains +versions of the API documentation which are up-to-date with the Subversion +version of the source code. You can access versions of these documents specific +to this release by going into the "<tt>clang/doc/</tt>" directory in the Clang +tree.</p> + +<p>If you have any questions or comments about Clang, please feel free to +contact us via the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev"> +mailing list</a>.</p> + + +<!-- ======================================================================= --> +<!-- Likely 3.1 release notes --> +<!-- ======================================================================= --> +<!-- +This is just a section to hold things that have already gotten started and +should likely pick up proper release notes in 3.1. + +- C1X and C++11 atomics infrastructure and support +- CUDA support? + +--> + +</div> +</body> +</html> |