diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 1dfdfbe..badde05 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -2,7 +2,7 @@
           "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
-<title>Clang 3.1 Release Notes</title>
+<title>Clang 3.2 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">
@@ -17,14 +17,14 @@
 
 <div id="content">
 
-<h1>Clang 3.1 Release Notes</h1>
+<h1>Clang 3.2 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>
+  <li><a href="#whatsnew">What's New in Clang 3.2?</a>
     <ul>
       <li><a href="#majorfeatures">Major New Features</a></li>
       <li><a href="#cchanges">C Language Changes</a></li>
@@ -42,10 +42,10 @@
   <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
+<h1 style="color:red">These are in-progress notes for the upcoming Clang 3.2
 release.<br>
 You may prefer the
-<a href="http://llvm.org/releases/3.0/docs/ClangReleaseNotes.html">Clang 3.0
+<a href="http://llvm.org/releases/3.1/docs/ClangReleaseNotes.html">Clang 3.1
 Release Notes</a>.</h1>
 
 <!-- ======================================================================= -->
@@ -53,50 +53,39 @@
 <!-- ======================================================================= -->
 
 <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>
+   frontend, part of the LLVM Compiler Infrastructure, release 3.2.  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>.
+   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>
+   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>
+<h2 id="whatsnew">What's New in Clang 3.2?</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>
+  Generic improvements to Clang as a whole or to 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>
+<p>...</p>
 
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
 <h3 id="cchanges">C Language Changes in Clang</h3>
@@ -104,63 +93,33 @@
 
 <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.</p>
-
-<p>Clang 3.1 adds a family of <code>__c11_atomic</code> builtins corresponding
-   directly to the <code>_explict</code> versions of the C11 atomic functions.
-   This means that C11's <code>&lt;stdatomic.h&gt;</code> can be implemented in
-   a small set of trivial macros.  </p>
+<p>...</p>
 
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
 <h3 id="cxxchanges">C++ Language Changes in Clang</h3>
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
 
 <h4 id="cxx11changes">C++11 Feature Support</h4>
-<p>Clang 3.1 supports
-<a href="http://clang.llvm.org/cxx_status.html#cxx11">most 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>&lt;atomic&gt;</tt> are
-      supported)</li>
-</ul>
+
+<p>...</p>
 
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
 <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>.
+<p>...</p>
 
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
 <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.
+<p>These are major API changes that have happened since the 3.1 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.</p>
 
 <h4 id="api1">API change 1</h4>
-...
+
+<p>...</p>
 
 <!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
 <h3 id="pythonchanges">Python Binding Changes</h3>
@@ -168,32 +127,7 @@
 
 The following methods have been added:
 <ul>
-  <li>SourceLocation.from_position (static)</li>
-  <li>SourceLocation.__eq__ and SourceLocation.__ne__</li>
-  <li>SourceRange.__eq__ and SourceRange.__ne__</li>
-  <li>Diagnostic.category_number (property)</li>
-  <li>Diagnostic.category_name (property)</li>
-  <li>Diagnostic.option (property)</li>
-  <li>Diagnostic.disable_option (property)</li>
-  <li>CursorKind.is_translation_unit</li>
-  <li>CursorKind.is_preprocessing</li>
-  <li>CursorKind.is_unexposed</li>
-  <li>Cursor.from_location (static)</li>
-  <li>Cursor.underlying_typedef_type (property)</li>
-  <li>Cursor.enum_type (property)</li>
-  <li>Cursor.objc_type_encoding (property)</li>
-  <li>Cursor.hash</li>
-  <li>TypeKind.spelling</li>
-  <li>Type.argument_types</li>
-  <li>Type.element_type (property)</li>
-  <li>Type.element_count (property)</li>
-  <li>Type.is_function_variadic</li>
-  <li>Type.is_pod</li>
-  <li>Type.get_array_element_type</li>
-  <li>Type.get_array_size</li>
-  <li>Type.__eq__ and Type.__ne__</li>
-  <li>File.from_name (static)</li>
-  <li>File.__str__ and File.__repr__</li>
+  <li>...</li>
 </ul>
 
 <!-- ======================================================================= -->
@@ -205,16 +139,16 @@
 <!-- ======================================================================= -->
 
 <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>
+   <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>
-
+   contact us via
+   the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev"> mailing
+   list</a>.</p>
 
 <!-- ======================================================================= -->
 <!-- Likely 3.1 release notes -->
