Index: docs/LanguageExtensions.html
===================================================================
--- docs/LanguageExtensions.html	(revision 161879)
+++ docs/LanguageExtensions.html	(working copy)
@@ -1643,121 +1643,12 @@
 <!-- ======================================================================= -->
 
 <p>Clang supports additional attributes that are useful for documenting program
-invariants and rules for static analysis tools. The extensions documented here
-are used by the <a
-href="http://clang.llvm.org/StaticAnalysis.html">path-sensitive static analyzer
-engine</a> that is part of Clang's Analysis library.</p>
+invariants and rules for static analysis tools. These extensions are used by the
+<a href="http://clang-analyzer.llvm.org/">path-sensitive static analyzer
+engine</a> that is part of Clang's Analysis library and documented on
+<a href="http://clang-analyzer.llvm.org/annotations.html">their own page</a>.
+</p>
 
-<h3 id="attr_analyzer_noreturn">The <tt>analyzer_noreturn</tt> attribute</h3>
-
-<p>Clang's static analysis engine understands the standard <tt>noreturn</tt>
-attribute. This attribute, which is typically affixed to a function prototype,
-indicates that a call to a given function never returns. Function prototypes for
-common functions like <tt>exit</tt> are typically annotated with this attribute,
-as well as a variety of common assertion handlers. Users can educate the static
-analyzer about their own custom assertion handles (thus cutting down on false
-positives due to false paths) by marking their own &quot;panic&quot; functions
-with this attribute.</p>
-
-<p>While useful, <tt>noreturn</tt> is not applicable in all cases. Sometimes
-there are special functions that for all intents and purposes should be
-considered panic functions (i.e., they are only called when an internal program
-error occurs) but may actually return so that the program can fail gracefully.
-The <tt>analyzer_noreturn</tt> attribute allows one to annotate such functions
-as being interpreted as &quot;no return&quot; functions by the analyzer (thus
-pruning bogus paths) but will not affect compilation (as in the case of
-<tt>noreturn</tt>).</p>
-
-<p><b>Usage</b>: The <tt>analyzer_noreturn</tt> attribute can be placed in the
-same places where the <tt>noreturn</tt> attribute can be placed. It is commonly
-placed at the end of function prototypes:</p>
-
-<pre>
-  void foo() <b>__attribute__((analyzer_noreturn))</b>;
-</pre>
-
-<p>Query for this feature with
-<tt>__has_attribute(analyzer_noreturn)</tt>.</p>
-
-<h3 id="attr_method_family">The <tt>objc_method_family</tt> attribute</h3>
-
-<p>Many methods in Objective-C have conventional meanings determined
-by their selectors.  For the purposes of static analysis, it is
-sometimes useful to be able to mark a method as having a particular
-conventional meaning despite not having the right selector, or as not
-having the conventional meaning that its selector would suggest.
-For these use cases, we provide an attribute to specifically describe
-the <q>method family</q> that a method belongs to.</p>
-
-<p><b>Usage</b>: <tt>__attribute__((objc_method_family(X)))</tt>,
-where <tt>X</tt> is one of <tt>none</tt>, <tt>alloc</tt>, <tt>copy</tt>,
-<tt>init</tt>, <tt>mutableCopy</tt>, or <tt>new</tt>.  This attribute
-can only be placed at the end of a method declaration:</p>
-
-<pre>
-  - (NSString*) initMyStringValue <b>__attribute__((objc_method_family(none)))</b>;
-</pre>
-
-<p>Users who do not wish to change the conventional meaning of a
-method, and who merely want to document its non-standard retain and
-release semantics, should use the
-<a href="#attr_retain_release">retaining behavior attributes</a>
-described below.</p>
-
-<p>Query for this feature with
-<tt>__has_attribute(objc_method_family)</tt>.</p>
-
-<h3 id="attr_retain_release">Objective-C retaining behavior attributes</h3>
-
-<p>In Objective-C, functions and methods are generally assumed to take
-and return objects with +0 retain counts, with some exceptions for
-special methods like <tt>+alloc</tt> and <tt>init</tt>.  However,
-there are exceptions, and so Clang provides attributes to allow these
-exceptions to be documented, which helps the analyzer find leaks (and
-ignore non-leaks).  Some exceptions may be better described using
-the <a href="#attr_method_family"><tt>objc_method_family</tt></a>
-attribute instead.</p>
-
-<p><b>Usage</b>: The <tt>ns_returns_retained</tt>, <tt>ns_returns_not_retained</tt>,
-<tt>ns_returns_autoreleased</tt>, <tt>cf_returns_retained</tt>,
-and <tt>cf_returns_not_retained</tt> attributes can be placed on
-methods and functions that return Objective-C or CoreFoundation
-objects.  They are commonly placed at the end of a function prototype
-or method declaration:</p>
-
-<pre>
-  id foo() <b>__attribute__((ns_returns_retained))</b>;
-
-  - (NSString*) bar: (int) x <b>__attribute__((ns_returns_retained))</b>;
-</pre>
-
-<p>The <tt>*_returns_retained</tt> attributes specify that the
-returned object has a +1 retain count.
-The <tt>*_returns_not_retained</tt> attributes specify that the return
-object has a +0 retain count, even if the normal convention for its
-selector would be +1.  <tt>ns_returns_autoreleased</tt> specifies that the
-returned object is +0, but is guaranteed to live at least as long as the
-next flush of an autorelease pool.</p>
-
-<p><b>Usage</b>: The <tt>ns_consumed</tt> and <tt>cf_consumed</tt>
-attributes can be placed on an parameter declaration; they specify
-that the argument is expected to have a +1 retain count, which will be
-balanced in some way by the function or method.
-The <tt>ns_consumes_self</tt> attribute can only be placed on an
-Objective-C method; it specifies that the method expects
-its <tt>self</tt> parameter to have a +1 retain count, which it will
-balance in some way.</p>
-
-<pre>
-  void <b>foo(__attribute__((ns_consumed))</b> NSString *string);
-
-  - (void) bar <b>__attribute__((ns_consumes_self))</b>;
-  - (void) baz: (id) <b>__attribute__((ns_consumed))</b> x;
-</pre>
-
-<p>Query for these features with <tt>__has_attribute(ns_consumed)</tt>,
-<tt>__has_attribute(ns_returns_retained)</tt>, etc.</p>
-
