[www-releases] r280493 - Add 3.9.0 source, docs and binaries

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 2 08:56:56 PDT 2016


Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-using-namespace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-using-namespace.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-using-namespace.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-using-namespace.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-build-using-namespace — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-default-arguments" href="google-default-arguments.html" />
+    <link rel="prev" title="google-build-namespaces" href="google-build-namespaces.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-build-using-namespace</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-build-namespaces.html">google-build-namespaces</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-default-arguments.html">google-default-arguments</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-build-using-namespace">
+<h1>google-build-using-namespace<a class="headerlink" href="#google-build-using-namespace" title="Permalink to this headline">¶</a></h1>
+<p>Finds <tt class="docutils literal"><span class="pre">using</span> <span class="pre">namespace</span></tt> directives.</p>
+<p><a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Namespaces">https://google.github.io/styleguide/cppguide.html#Namespaces</a></p>
+<p>The check implements the following rule of the Google C++ Style Guide:</p>
+<blockquote>
+<div><p>You may not use a using-directive to make all names from a namespace
+available.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>// Forbidden -- This pollutes the namespace.
+using namespace foo;
+</pre></div>
+</div>
+</div></blockquote>
+<p>Corresponding cpplint.py check name: <cite>build/namespaces</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-build-namespaces.html">google-build-namespaces</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-default-arguments.html">google-default-arguments</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-default-arguments.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-default-arguments.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-default-arguments.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-default-arguments.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-default-arguments — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-explicit-constructor" href="google-explicit-constructor.html" />
+    <link rel="prev" title="google-build-using-namespace" href="google-build-using-namespace.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-default-arguments</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-build-using-namespace.html">google-build-using-namespace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-explicit-constructor.html">google-explicit-constructor</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-default-arguments">
+<h1>google-default-arguments<a class="headerlink" href="#google-default-arguments" title="Permalink to this headline">¶</a></h1>
+<p>Checks that default arguments are not given for virtual methods.</p>
+<p>See <a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Default_Arguments">https://google.github.io/styleguide/cppguide.html#Default_Arguments</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-build-using-namespace.html">google-build-using-namespace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-explicit-constructor.html">google-explicit-constructor</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-explicit-constructor.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-explicit-constructor.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-explicit-constructor.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-explicit-constructor.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-explicit-constructor — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-global-names-in-headers" href="google-global-names-in-headers.html" />
+    <link rel="prev" title="google-default-arguments" href="google-default-arguments.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-explicit-constructor</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-default-arguments.html">google-default-arguments</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-global-names-in-headers.html">google-global-names-in-headers</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-explicit-constructor">
+<h1>google-explicit-constructor<a class="headerlink" href="#google-explicit-constructor" title="Permalink to this headline">¶</a></h1>
+<p>Checks that all single-argument constructors are explicit.</p>
+<p>See <a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Explicit_Constructors">https://google.github.io/styleguide/cppguide.html#Explicit_Constructors</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-default-arguments.html">google-default-arguments</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-global-names-in-headers.html">google-global-names-in-headers</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-global-names-in-headers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-global-names-in-headers.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-global-names-in-headers.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-global-names-in-headers.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-global-names-in-headers — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-readability-braces-around-statements" href="google-readability-braces-around-statements.html" />
+    <link rel="prev" title="google-explicit-constructor" href="google-explicit-constructor.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-global-names-in-headers</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-explicit-constructor.html">google-explicit-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-braces-around-statements.html">google-readability-braces-around-statements</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-global-names-in-headers">
+<h1>google-global-names-in-headers<a class="headerlink" href="#google-global-names-in-headers" title="Permalink to this headline">¶</a></h1>
+<p>Flag global namespace pollution in header files.
+Right now it only triggers on <tt class="docutils literal"><span class="pre">using</span></tt> declarations and directives.</p>
+<dl class="docutils">
+<dt>The check supports these options:</dt>
+<dd><ul class="first last simple">
+<li><cite>HeaderFileExtensions</cite>: a comma-separated list of filename extensions
+of header files (the filename extensions should not contain ”.” prefix).
+“h” by default.
+For extension-less header files, using an empty string or leaving an
+empty string between ”,” if there are other filename extensions.</li>
+</ul>
+</dd>
+</dl>
+<p>The relevant style guide section is
+<a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Namespaces">https://google.github.io/styleguide/cppguide.html#Namespaces</a>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-explicit-constructor.html">google-explicit-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-braces-around-statements.html">google-readability-braces-around-statements</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-braces-around-statements.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-braces-around-statements.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-braces-around-statements.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-braces-around-statements.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta content="5;URL=readability-braces-around-statements.html" http-equiv="refresh" />
+
+    <title>clang-tidy - google-readability-braces-around-statements — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-readability-casting" href="google-readability-casting.html" />
+    <link rel="prev" title="google-global-names-in-headers" href="google-global-names-in-headers.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-readability-braces-around-statements</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-global-names-in-headers.html">google-global-names-in-headers</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-casting.html">google-readability-casting</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-readability-braces-around-statements">
+<h1>google-readability-braces-around-statements<a class="headerlink" href="#google-readability-braces-around-statements" title="Permalink to this headline">¶</a></h1>
+<p>The google-readability-braces-around-statements check is an alias, please see
+<a class="reference external" href="readability-braces-around-statements.html">readability-braces-around-statements</a>
+for more information.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-global-names-in-headers.html">google-global-names-in-headers</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-casting.html">google-readability-casting</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-casting.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-casting.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-casting.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-casting.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-readability-casting — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-readability-function-size" href="google-readability-function-size.html" />
+    <link rel="prev" title="google-readability-braces-around-statements" href="google-readability-braces-around-statements.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-readability-casting</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-readability-braces-around-statements.html">google-readability-braces-around-statements</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-function-size.html">google-readability-function-size</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-readability-casting">
+<h1>google-readability-casting<a class="headerlink" href="#google-readability-casting" title="Permalink to this headline">¶</a></h1>
+<p>Finds usages of C-style casts.</p>
+<p><a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Casting">https://google.github.io/styleguide/cppguide.html#Casting</a></p>
+<p>Corresponding cpplint.py check name: <cite>readability/casting</cite>.</p>
+<p>This check is similar to <cite>-Wold-style-cast</cite>, but it suggests automated fixes
+in some cases. The reported locations should not be different from the
+ones generated by <cite>-Wold-style-cast</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-readability-braces-around-statements.html">google-readability-braces-around-statements</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-function-size.html">google-readability-function-size</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-function-size.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-function-size.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-function-size.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-function-size.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta content="5;URL=readability-function-size.html" http-equiv="refresh" />
+
+    <title>clang-tidy - google-readability-function-size — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-readability-namespace-comments" href="google-readability-namespace-comments.html" />
+    <link rel="prev" title="google-readability-casting" href="google-readability-casting.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-readability-function-size</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-readability-casting.html">google-readability-casting</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-namespace-comments.html">google-readability-namespace-comments</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-readability-function-size">
+<h1>google-readability-function-size<a class="headerlink" href="#google-readability-function-size" title="Permalink to this headline">¶</a></h1>
+<p>The google-readability-function-size check is an alias, please see
+<a class="reference external" href="readability-function-size.html">readability-function-size</a> for more
+information.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-readability-casting.html">google-readability-casting</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-namespace-comments.html">google-readability-namespace-comments</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-namespace-comments.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-namespace-comments.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-namespace-comments.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-namespace-comments.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-readability-namespace-comments — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-readability-redundant-smartptr-get" href="google-readability-redundant-smartptr-get.html" />
+    <link rel="prev" title="google-readability-function-size" href="google-readability-function-size.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-readability-namespace-comments</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-readability-function-size.html">google-readability-function-size</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-redundant-smartptr-get.html">google-readability-redundant-smartptr-get</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-readability-namespace-comments">
+<h1>google-readability-namespace-comments<a class="headerlink" href="#google-readability-namespace-comments" title="Permalink to this headline">¶</a></h1>
+<p>Checks that long namespaces have a closing comment.</p>
+<p><a class="reference external" href="http://llvm.org/docs/CodingStandards.html#namespace-indentation">http://llvm.org/docs/CodingStandards.html#namespace-indentation</a></p>
+<p><a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Namespaces">https://google.github.io/styleguide/cppguide.html#Namespaces</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-readability-function-size.html">google-readability-function-size</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-redundant-smartptr-get.html">google-readability-redundant-smartptr-get</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-redundant-smartptr-get.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-redundant-smartptr-get.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-redundant-smartptr-get.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-redundant-smartptr-get.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-readability-redundant-smartptr-get — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-readability-todo" href="google-readability-todo.html" />
+    <link rel="prev" title="google-readability-namespace-comments" href="google-readability-namespace-comments.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-readability-redundant-smartptr-get</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-readability-namespace-comments.html">google-readability-namespace-comments</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-todo.html">google-readability-todo</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-readability-redundant-smartptr-get">
+<h1>google-readability-redundant-smartptr-get<a class="headerlink" href="#google-readability-redundant-smartptr-get" title="Permalink to this headline">¶</a></h1>
+<p>Find and remove redundant calls to smart pointer’s <tt class="docutils literal"><span class="pre">.get()</span></tt> method.</p>
+<p>Examples:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>ptr.get()->Foo()  ==>  ptr->Foo()
+*ptr.get()  ==>  *ptr
+*ptr->get()  ==>  **ptr
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-readability-namespace-comments.html">google-readability-namespace-comments</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-readability-todo.html">google-readability-todo</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-todo.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-todo.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-todo.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-todo.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-readability-todo — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-runtime-int" href="google-runtime-int.html" />
+    <link rel="prev" title="google-readability-redundant-smartptr-get" href="google-readability-redundant-smartptr-get.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-readability-todo</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-readability-redundant-smartptr-get.html">google-readability-redundant-smartptr-get</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-int.html">google-runtime-int</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-readability-todo">
+<h1>google-readability-todo<a class="headerlink" href="#google-readability-todo" title="Permalink to this headline">¶</a></h1>
+<p>Finds TODO comments without a username or bug number.</p>
+<p>The relevant style guide section is
+<a class="reference external" href="https://google.github.io/styleguide/cppguide.html#TODO_Comments">https://google.github.io/styleguide/cppguide.html#TODO_Comments</a>.</p>
+<p>Corresponding cpplint.py check: <cite>readability/todo</cite></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-readability-redundant-smartptr-get.html">google-readability-redundant-smartptr-get</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-int.html">google-runtime-int</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-int.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-int.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-int.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-int.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-runtime-int — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-runtime-member-string-references" href="google-runtime-member-string-references.html" />
+    <link rel="prev" title="google-readability-todo" href="google-readability-todo.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-runtime-int</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-readability-todo.html">google-readability-todo</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-member-string-references.html">google-runtime-member-string-references</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-runtime-int">
+<h1>google-runtime-int<a class="headerlink" href="#google-runtime-int" title="Permalink to this headline">¶</a></h1>
+<p>Finds uses of <tt class="docutils literal"><span class="pre">short</span></tt>, <tt class="docutils literal"><span class="pre">long</span></tt> and <tt class="docutils literal"><span class="pre">long</span> <span class="pre">long</span></tt> and suggest replacing them
+with <tt class="docutils literal"><span class="pre">u?intXX(_t)?</span></tt>.</p>
+<p>The corresponding style guide rule:
+<a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Integer_Types">https://google.github.io/styleguide/cppguide.html#Integer_Types</a>.</p>
+<p>Correspondig cpplint.py check: <cite>runtime/int</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-readability-todo.html">google-readability-todo</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-member-string-references.html">google-runtime-member-string-references</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-member-string-references.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-member-string-references.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-member-string-references.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-member-string-references.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-runtime-member-string-references — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-runtime-memset" href="google-runtime-memset.html" />
+    <link rel="prev" title="google-runtime-int" href="google-runtime-int.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-runtime-member-string-references</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-runtime-int.html">google-runtime-int</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-memset.html">google-runtime-memset</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-runtime-member-string-references">
+<h1>google-runtime-member-string-references<a class="headerlink" href="#google-runtime-member-string-references" title="Permalink to this headline">¶</a></h1>
+<p>Finds members of type <tt class="docutils literal"><span class="pre">const</span> <span class="pre">string&</span></tt>.</p>
+<p>const string reference members are generally considered unsafe as they can
+be created from a temporary quite easily.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>struct S {
+  S(const string &Str) : Str(Str) {}
+  const string &Str;
+};
+S instance("string");
+</pre></div>
+</div>
+<p>In the constructor call a string temporary is created from <tt class="docutils literal"><span class="pre">const</span> <span class="pre">char</span> <span class="pre">*</span></tt>
+and destroyed immediately after the call. This leaves around a dangling
+reference.</p>
+<p>This check emit warnings for both <tt class="docutils literal"><span class="pre">std::string</span></tt> and <tt class="docutils literal"><span class="pre">::string</span></tt> const
+reference members.</p>
+<p>Corresponding cpplint.py check name: <cite>runtime/member_string_reference</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-runtime-int.html">google-runtime-int</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-memset.html">google-runtime-memset</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-memset.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-memset.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-memset.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-memset.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-runtime-memset — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-runtime-operator" href="google-runtime-operator.html" />
+    <link rel="prev" title="google-runtime-member-string-references" href="google-runtime-member-string-references.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-runtime-memset</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-runtime-member-string-references.html">google-runtime-member-string-references</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-operator.html">google-runtime-operator</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-runtime-memset">
+<h1>google-runtime-memset<a class="headerlink" href="#google-runtime-memset" title="Permalink to this headline">¶</a></h1>
+<p>Finds calls to <tt class="docutils literal"><span class="pre">memset</span></tt> with a literal zero in the length argument.</p>
+<p>This is most likely unintended and the length and value arguments are swapped.</p>
+<p>Corresponding cpplint.py check name: <cite>runtime/memset</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-runtime-member-string-references.html">google-runtime-member-string-references</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-operator.html">google-runtime-operator</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-operator.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-operator.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-operator.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-operator.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-runtime-operator — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="google-runtime-references" href="google-runtime-references.html" />
+    <link rel="prev" title="google-runtime-memset" href="google-runtime-memset.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-runtime-operator</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-runtime-memset.html">google-runtime-memset</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-references.html">google-runtime-references</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-runtime-operator">
+<h1>google-runtime-operator<a class="headerlink" href="#google-runtime-operator" title="Permalink to this headline">¶</a></h1>
+<p>Finds overloads of unary <tt class="docutils literal"><span class="pre">operator</span> <span class="pre">&</span></tt>.</p>
+<p><a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Operator_Overloading">https://google.github.io/styleguide/cppguide.html#Operator_Overloading</a></p>
+<p>Corresponding cpplint.py check name: <cite>runtime/operator</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-runtime-memset.html">google-runtime-memset</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="google-runtime-references.html">google-runtime-references</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-references.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-references.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-references.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-references.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - google-runtime-references — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="llvm-header-guard" href="llvm-header-guard.html" />
+    <link rel="prev" title="google-runtime-operator" href="google-runtime-operator.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - google-runtime-references</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-runtime-operator.html">google-runtime-operator</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-header-guard.html">llvm-header-guard</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="google-runtime-references">
+<h1>google-runtime-references<a class="headerlink" href="#google-runtime-references" title="Permalink to this headline">¶</a></h1>
+<p>Checks the usage of non-constant references in function parameters.</p>
+<p>The corresponding style guide rule:
+<a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Reference_Arguments">https://google.github.io/styleguide/cppguide.html#Reference_Arguments</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-runtime-operator.html">google-runtime-operator</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-header-guard.html">llvm-header-guard</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/list.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/list.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/list.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/list.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - Clang-Tidy Checks — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy" href="../index.html" />
+    <link rel="next" title="boost-use-to-string" href="boost-use-to-string.html" />
+    <link rel="prev" title="Clang-Tidy" href="../index.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - Clang-Tidy Checks</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="../index.html">Clang-Tidy</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="boost-use-to-string.html">boost-use-to-string</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="clang-tidy-checks">
+<h1>Clang-Tidy Checks<a class="headerlink" href="#clang-tidy-checks" title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="boost-use-to-string.html">boost-use-to-string</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-dcl03-c.html">cert-dcl03-c (redirects to misc-static-assert)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-dcl50-cpp.html">cert-dcl50-cpp</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-dcl54-cpp.html">cert-dcl54-cpp (redirects to misc-new-delete-overloads)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-dcl59-cpp.html">cert-dcl59-cpp (redirects to google-build-namespaces)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-env33-c.html">cert-env33-c</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-err34-c.html">cert-err34-c</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-err52-cpp.html">cert-err52-cpp</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-err58-cpp.html">cert-err58-cpp</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-err60-cpp.html">cert-err60-cpp</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-err61-cpp.html">cert-err61-cpp (redirects to misc-throw-by-value-catch-by-reference)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-fio38-c.html">cert-fio38-c (redirects to misc-non-copyable-objects)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-flp30-c.html">cert-flp30-c</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cert-oop11-cpp.html">cert-oop11-cpp (redirects to misc-move-constructor-init)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-interfaces-global-init.html">cppcoreguidelines-interfaces-global-init</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-bounds-array-to-pointer-decay.html">cppcoreguidelines-pro-bounds-array-to-pointer-decay</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-bounds-constant-array-index.html">cppcoreguidelines-pro-bounds-constant-array-index</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-bounds-pointer-arithmetic.html">cppcoreguidelines-pro-bounds-pointer-arithmetic</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-const-cast.html">cppcoreguidelines-pro-type-const-cast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-cstyle-cast.html">cppcoreguidelines-pro-type-cstyle-cast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-member-init.html">cppcoreguidelines-pro-type-member-init</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="cppcoreguidelines-pro-type-member-init.html#ignorearrays-option">IgnoreArrays option</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-reinterpret-cast.html">cppcoreguidelines-pro-type-reinterpret-cast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-static-cast-downcast.html">cppcoreguidelines-pro-type-static-cast-downcast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-union-access.html">cppcoreguidelines-pro-type-union-access</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cppcoreguidelines-pro-type-vararg.html">cppcoreguidelines-pro-type-vararg</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-build-explicit-make-pair.html">google-build-explicit-make-pair</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-build-namespaces.html">google-build-namespaces</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-build-using-namespace.html">google-build-using-namespace</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-default-arguments.html">google-default-arguments</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-explicit-constructor.html">google-explicit-constructor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-global-names-in-headers.html">google-global-names-in-headers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-readability-braces-around-statements.html">google-readability-braces-around-statements (redirects to readability-braces-around-statements)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-readability-casting.html">google-readability-casting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-readability-function-size.html">google-readability-function-size (redirects to readability-function-size)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-readability-namespace-comments.html">google-readability-namespace-comments</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-readability-redundant-smartptr-get.html">google-readability-redundant-smartptr-get</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-readability-todo.html">google-readability-todo</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-runtime-int.html">google-runtime-int</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-runtime-member-string-references.html">google-runtime-member-string-references</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-runtime-memset.html">google-runtime-memset</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-runtime-operator.html">google-runtime-operator</a></li>
+<li class="toctree-l1"><a class="reference internal" href="google-runtime-references.html">google-runtime-references</a></li>
+<li class="toctree-l1"><a class="reference internal" href="llvm-header-guard.html">llvm-header-guard</a></li>
+<li class="toctree-l1"><a class="reference internal" href="llvm-include-order.html">llvm-include-order</a></li>
+<li class="toctree-l1"><a class="reference internal" href="llvm-namespace-comment.html">llvm-namespace-comment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="llvm-twine-local.html">llvm-twine-local</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-argument-comment.html">misc-argument-comment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-assert-side-effect.html">misc-assert-side-effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-bool-pointer-implicit-conversion.html">misc-bool-pointer-implicit-conversion</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-dangling-handle.html">misc-dangling-handle</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-definitions-in-headers.html">misc-definitions-in-headers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-fold-init-type.html">misc-fold-init-type</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-forward-declaration-namespace.html">misc-forward-declaration-namespace</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-inaccurate-erase.html">misc-inaccurate-erase</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-incorrect-roundings.html">misc-incorrect-roundings</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-inefficient-algorithm.html">misc-inefficient-algorithm</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-macro-parentheses.html">misc-macro-parentheses</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-macro-repeated-side-effects.html">misc-macro-repeated-side-effects</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-misplaced-const.html">misc-misplaced-const</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-misplaced-widening-cast.html">misc-misplaced-widening-cast</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="misc-misplaced-widening-cast.html#implicit-casts">Implicit casts</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-misplaced-widening-cast.html#floating-point">Floating point</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="misc-move-const-arg.html">misc-move-const-arg</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-move-constructor-init.html">misc-move-constructor-init</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-multiple-statement-macro.html">misc-multiple-statement-macro</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-new-delete-overloads.html">misc-new-delete-overloads</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-noexcept-move-constructor.html">misc-noexcept-move-constructor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-non-copyable-objects.html">misc-non-copyable-objects</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-pointer-and-integral-operation.html">misc-pointer-and-integral-operation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-redundant-expression.html">misc-redundant-expression</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-sizeof-container.html">misc-sizeof-container</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-sizeof-expression.html">misc-sizeof-expression</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#suspicious-usage-of-sizeof-k">Suspicious usage of ‘sizeof(K)’</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#suspicious-usage-of-sizeof-this">Suspicious usage of ‘sizeof(this)’</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#suspicious-usage-of-sizeof-char">Suspicious usage of ‘sizeof(char*)’</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#suspicious-usage-of-sizeof-a">Suspicious usage of ‘sizeof(A*)’</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#suspicious-usage-of-sizeof-sizeof">Suspicious usage of ‘sizeof(...)/sizeof(...)’</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#suspicious-sizeof-by-sizeof-expression">Suspicious ‘sizeof’ by ‘sizeof’ expression</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-sizeof-expression.html#id1">Suspicious usage of ‘sizeof(sizeof(...))’</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="misc-static-assert.html">misc-static-assert</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-string-constructor.html">misc-string-constructor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-string-integer-assignment.html">misc-string-integer-assignment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-string-literal-with-embedded-nul.html">misc-string-literal-with-embedded-nul</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="misc-string-literal-with-embedded-nul.html#invalid-escaping">Invalid escaping</a></li>
+<li class="toctree-l2"><a class="reference internal" href="misc-string-literal-with-embedded-nul.html#truncated-literal">Truncated literal</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="misc-suspicious-missing-comma.html">misc-suspicious-missing-comma</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-suspicious-semicolon.html">misc-suspicious-semicolon</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-suspicious-string-compare.html">misc-suspicious-string-compare</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-swapped-arguments.html">misc-swapped-arguments</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-throw-by-value-catch-by-reference.html">misc-throw-by-value-catch-by-reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-unconventional-assign-operator.html">misc-unconventional-assign-operator</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-undelegated-constructor.html">misc-undelegated-constructor</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-uniqueptr-reset-release.html">misc-uniqueptr-reset-release</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-unused-alias-decls.html">misc-unused-alias-decls</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-unused-parameters.html">misc-unused-parameters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-unused-raii.html">misc-unused-raii</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-unused-using-decls.html">misc-unused-using-decls</a></li>
+<li class="toctree-l1"><a class="reference internal" href="misc-virtual-near-miss.html">misc-virtual-near-miss</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-avoid-bind.html">modernize-avoid-bind</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-deprecated-headers.html">modernize-deprecated-headers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-loop-convert.html">modernize-loop-convert</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="modernize-loop-convert.html#minconfidence-option">MinConfidence option</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#risky">risky</a></li>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#reasonable-default">reasonable (Default)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#safe">safe</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="modernize-loop-convert.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modernize-loop-convert.html#limitations">Limitations</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#comments-inside-loop-headers">Comments inside loop headers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#range-based-loops-evaluate-end-only-once">Range-based loops evaluate end() only once</a></li>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#overloaded-operator-with-side-effects">Overloaded operator->() with side effects</a></li>
+<li class="toctree-l3"><a class="reference internal" href="modernize-loop-convert.html#pointers-and-references-to-containers">Pointers and references to containers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-make-shared.html">modernize-make-shared</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-make-unique.html">modernize-make-unique</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-pass-by-value.html">modernize-pass-by-value</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="modernize-pass-by-value.html#pass-by-value-in-constructors">Pass-by-value in constructors</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="modernize-pass-by-value.html#known-limitations">Known limitations</a></li>
+<li class="toctree-l3"><a class="reference internal" href="modernize-pass-by-value.html#note-about-delayed-template-parsing">Note about delayed template parsing</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-raw-string-literal.html">modernize-raw-string-literal</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-redundant-void-arg.html">modernize-redundant-void-arg</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-replace-auto-ptr.html">modernize-replace-auto-ptr</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="modernize-replace-auto-ptr.html#known-limitations">Known Limitations</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-shrink-to-fit.html">modernize-shrink-to-fit</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-auto.html">modernize-use-auto</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="modernize-use-auto.html#iterators">Iterators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modernize-use-auto.html#new-expressions">New expressions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modernize-use-auto.html#known-limitations">Known Limitations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modernize-use-auto.html#removestars-option">RemoveStars option</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-bool-literals.html">modernize-use-bool-literals</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-default.html">modernize-use-default</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-emplace.html">modernize-use-emplace</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-nullptr.html">modernize-use-nullptr</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="modernize-use-nullptr.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modernize-use-nullptr.html#user-defined-macros">User defined macros</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="modernize-use-nullptr.html#id1">Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-override.html">modernize-use-override</a></li>
+<li class="toctree-l1"><a class="reference internal" href="modernize-use-using.html">modernize-use-using</a></li>
+<li class="toctree-l1"><a class="reference internal" href="performance-faster-string-find.html">performance-faster-string-find</a></li>
+<li class="toctree-l1"><a class="reference internal" href="performance-for-range-copy.html">performance-for-range-copy</a></li>
+<li class="toctree-l1"><a class="reference internal" href="performance-implicit-cast-in-loop.html">performance-implicit-cast-in-loop</a></li>
+<li class="toctree-l1"><a class="reference internal" href="performance-unnecessary-copy-initialization.html">performance-unnecessary-copy-initialization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="performance-unnecessary-value-param.html">performance-unnecessary-value-param</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-avoid-const-params-in-decls.html">readability-avoid-const-params-in-decls</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-braces-around-statements.html">readability-braces-around-statements</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-container-size-empty.html">readability-container-size-empty</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-deleted-default.html">readability-deleted-default</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-else-after-return.html">readability-else-after-return</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-function-size.html">readability-function-size</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-identifier-naming.html">readability-identifier-naming</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-implicit-bool-cast.html">readability-implicit-bool-cast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-inconsistent-declaration-parameter-name.html">readability-inconsistent-declaration-parameter-name</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-named-parameter.html">readability-named-parameter</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-redundant-control-flow.html">readability-redundant-control-flow</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-redundant-smartptr-get.html">readability-redundant-smartptr-get</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-redundant-string-cstr.html">readability-redundant-string-cstr</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-redundant-string-init.html">readability-redundant-string-init</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-static-definition-in-anonymous-namespace.html">readability-static-definition-in-anonymous-namespace</a></li>
+<li class="toctree-l1"><a class="reference internal" href="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a></li>
+</ul>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="../index.html">Clang-Tidy</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="boost-use-to-string.html">boost-use-to-string</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-header-guard.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-header-guard.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-header-guard.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-header-guard.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - llvm-header-guard — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="llvm-include-order" href="llvm-include-order.html" />
+    <link rel="prev" title="google-runtime-references" href="google-runtime-references.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - llvm-header-guard</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="google-runtime-references.html">google-runtime-references</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-include-order.html">llvm-include-order</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="llvm-header-guard">
+<h1>llvm-header-guard<a class="headerlink" href="#llvm-header-guard" title="Permalink to this headline">¶</a></h1>
+<p>TODO: add docs</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="google-runtime-references.html">google-runtime-references</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-include-order.html">llvm-include-order</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-include-order.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-include-order.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-include-order.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-include-order.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - llvm-include-order — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="llvm-namespace-comment" href="llvm-namespace-comment.html" />
+    <link rel="prev" title="llvm-header-guard" href="llvm-header-guard.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - llvm-include-order</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="llvm-header-guard.html">llvm-header-guard</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-namespace-comment.html">llvm-namespace-comment</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="llvm-include-order">
+<h1>llvm-include-order<a class="headerlink" href="#llvm-include-order" title="Permalink to this headline">¶</a></h1>
+<p>Checks the correct order of <tt class="docutils literal"><span class="pre">#includes</span></tt>.</p>
+<p>See <a class="reference external" href="http://llvm.org/docs/CodingStandards.html#include-style">http://llvm.org/docs/CodingStandards.html#include-style</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="llvm-header-guard.html">llvm-header-guard</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-namespace-comment.html">llvm-namespace-comment</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-namespace-comment.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-namespace-comment.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-namespace-comment.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-namespace-comment.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - llvm-namespace-comment — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="llvm-twine-local" href="llvm-twine-local.html" />
+    <link rel="prev" title="llvm-include-order" href="llvm-include-order.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - llvm-namespace-comment</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="llvm-include-order.html">llvm-include-order</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-twine-local.html">llvm-twine-local</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="llvm-namespace-comment">
+<h1>llvm-namespace-comment<a class="headerlink" href="#llvm-namespace-comment" title="Permalink to this headline">¶</a></h1>
+<p>Checks that long namespaces have a closing comment.</p>
+<p><a class="reference external" href="http://llvm.org/docs/CodingStandards.html#namespace-indentation">http://llvm.org/docs/CodingStandards.html#namespace-indentation</a></p>
+<p><a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Namespaces">https://google.github.io/styleguide/cppguide.html#Namespaces</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="llvm-include-order.html">llvm-include-order</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="llvm-twine-local.html">llvm-twine-local</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-twine-local.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-twine-local.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-twine-local.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-twine-local.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - llvm-twine-local — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-argument-comment" href="misc-argument-comment.html" />
+    <link rel="prev" title="llvm-namespace-comment" href="llvm-namespace-comment.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - llvm-twine-local</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="llvm-namespace-comment.html">llvm-namespace-comment</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-argument-comment.html">misc-argument-comment</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="llvm-twine-local">
+<h1>llvm-twine-local<a class="headerlink" href="#llvm-twine-local" title="Permalink to this headline">¶</a></h1>
+<p>Looks for local <tt class="docutils literal"><span class="pre">Twine</span></tt> variables which are prone to use after frees and
+should be generally avoided.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="llvm-namespace-comment.html">llvm-namespace-comment</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-argument-comment.html">misc-argument-comment</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-argument-comment.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-argument-comment.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-argument-comment.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-argument-comment.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-argument-comment — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-assert-side-effect" href="misc-assert-side-effect.html" />
+    <link rel="prev" title="llvm-twine-local" href="llvm-twine-local.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-argument-comment</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="llvm-twine-local.html">llvm-twine-local</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-assert-side-effect.html">misc-assert-side-effect</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-argument-comment">
+<h1>misc-argument-comment<a class="headerlink" href="#misc-argument-comment" title="Permalink to this headline">¶</a></h1>
+<p>Checks that argument comments match parameter names.</p>
+<p>The check understands argument comments in the form <tt class="docutils literal"><span class="pre">/*parameter_name=*/</span></tt>
+that are placed right before the argument.</p>
+<pre class="code c++ literal-block">
+<span class="keyword type">void</span> <span class="name function">f</span><span class="punctuation">(</span><span class="keyword type">bool</span> <span class="name">foo</span><span class="punctuation">);</span>
+
+<span class="punctuation">...</span>
+<span class="name">f</span><span class="punctuation">(</span><span class="comment multiline">/*bar=*/</span><span class="name builtin">true</span><span class="punctuation">);</span>
+<span class="comment single">// warning: argument name 'bar' in comment does not match parameter name 'foo'
+</span>
+</pre>
+<p>The check tries to detect typos and suggest automated fixes for them.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="llvm-twine-local.html">llvm-twine-local</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-assert-side-effect.html">misc-assert-side-effect</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-assert-side-effect.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-assert-side-effect.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-assert-side-effect.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-assert-side-effect.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-assert-side-effect — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-bool-pointer-implicit-conversion" href="misc-bool-pointer-implicit-conversion.html" />
+    <link rel="prev" title="misc-argument-comment" href="misc-argument-comment.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-assert-side-effect</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-argument-comment.html">misc-argument-comment</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-bool-pointer-implicit-conversion.html">misc-bool-pointer-implicit-conversion</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-assert-side-effect">
+<h1>misc-assert-side-effect<a class="headerlink" href="#misc-assert-side-effect" title="Permalink to this headline">¶</a></h1>
+<p>Finds <tt class="docutils literal"><span class="pre">assert()</span></tt> with side effect.</p>
+<p>The condition of <tt class="docutils literal"><span class="pre">assert()</span></tt> is evaluated only in debug builds so a
+condition with side effect can cause different behavior in debug / release
+builds.</p>
+<p>There are two options:</p>
+<blockquote>
+<div><ul class="simple">
+<li><em class="xref std std-option">AssertMacros</em>: A comma-separated list of the names of assert macros
+to be checked.</li>
+<li><em class="xref std std-option">CheckFunctionCalls</em>: Whether to treat non-const member and
+non-member functions as they produce side effects. Disabled by default
+because it can increase the number of false positive warnings.</li>
+</ul>
+</div></blockquote>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-argument-comment.html">misc-argument-comment</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-bool-pointer-implicit-conversion.html">misc-bool-pointer-implicit-conversion</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-bool-pointer-implicit-conversion.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-bool-pointer-implicit-conversion.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-bool-pointer-implicit-conversion.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-bool-pointer-implicit-conversion.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-bool-pointer-implicit-conversion — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-dangling-handle" href="misc-dangling-handle.html" />
+    <link rel="prev" title="misc-assert-side-effect" href="misc-assert-side-effect.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-bool-pointer-implicit-conversion</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-assert-side-effect.html">misc-assert-side-effect</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-dangling-handle.html">misc-dangling-handle</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-bool-pointer-implicit-conversion">
+<h1>misc-bool-pointer-implicit-conversion<a class="headerlink" href="#misc-bool-pointer-implicit-conversion" title="Permalink to this headline">¶</a></h1>
+<p>Checks for conditions based on implicit conversion from a <tt class="docutils literal"><span class="pre">bool</span></tt> pointer to
+<tt class="docutils literal"><span class="pre">bool</span></tt>.</p>
+<p>Example:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>bool *p;
+if (p) {
+  // Never used in a pointer-specific way.
+}
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-assert-side-effect.html">misc-assert-side-effect</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-dangling-handle.html">misc-dangling-handle</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-dangling-handle.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-dangling-handle.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-dangling-handle.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-dangling-handle.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-dangling-handle — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-definitions-in-headers" href="misc-definitions-in-headers.html" />
+    <link rel="prev" title="misc-bool-pointer-implicit-conversion" href="misc-bool-pointer-implicit-conversion.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-dangling-handle</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-bool-pointer-implicit-conversion.html">misc-bool-pointer-implicit-conversion</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-definitions-in-headers.html">misc-definitions-in-headers</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-dangling-handle">
+<h1>misc-dangling-handle<a class="headerlink" href="#misc-dangling-handle" title="Permalink to this headline">¶</a></h1>
+<p>Detect dangling references in value handlers like
+<tt class="docutils literal"><span class="pre">std::experimental::string_view</span></tt>.
+These dangling references can come from constructing handles from temporary
+values, where the temporary is destroyed soon after the handle is created.</p>
+<p>By default only <tt class="docutils literal"><span class="pre">std::experimental::basic_string_view</span></tt> is considered.
+This list can be modified by passing a <cite>;</cite> separated list of class names using
+the HandleClasses option.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">string_view</span> <span class="n">View</span> <span class="o">=</span> <span class="n">string</span><span class="p">();</span>  <span class="c1">// View will dangle.</span>
+<span class="n">string</span> <span class="n">A</span><span class="p">;</span>
+<span class="n">View</span> <span class="o">=</span> <span class="n">A</span> <span class="o">+</span> <span class="s">"A"</span><span class="p">;</span>  <span class="c1">// still dangle.</span>
+
+<span class="n">vector</span><span class="o"><</span><span class="n">string_view</span><span class="o">></span> <span class="n">V</span><span class="p">;</span>
+<span class="n">V</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">string</span><span class="p">());</span>  <span class="c1">// V[0] is dangling.</span>
+<span class="n">V</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="n">string</span><span class="p">());</span>  <span class="c1">// V[1] and V[2] will also dangle.</span>
+
+<span class="n">string_view</span> <span class="nf">f</span><span class="p">()</span> <span class="p">{</span>
+  <span class="c1">// All these return values will dangle.</span>
+  <span class="k">return</span> <span class="n">string</span><span class="p">();</span>
+  <span class="n">string</span> <span class="n">S</span><span class="p">;</span>
+  <span class="k">return</span> <span class="n">S</span><span class="p">;</span>
+  <span class="kt">char</span> <span class="n">Array</span><span class="p">[</span><span class="mi">10</span><span class="p">]{};</span>
+  <span class="k">return</span> <span class="n">Array</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-bool-pointer-implicit-conversion.html">misc-bool-pointer-implicit-conversion</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-definitions-in-headers.html">misc-definitions-in-headers</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-definitions-in-headers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-definitions-in-headers.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-definitions-in-headers.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-definitions-in-headers.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-definitions-in-headers — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-fold-init-type" href="misc-fold-init-type.html" />
+    <link rel="prev" title="misc-dangling-handle" href="misc-dangling-handle.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-definitions-in-headers</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-dangling-handle.html">misc-dangling-handle</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-fold-init-type.html">misc-fold-init-type</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-definitions-in-headers">
+<h1>misc-definitions-in-headers<a class="headerlink" href="#misc-definitions-in-headers" title="Permalink to this headline">¶</a></h1>
+<p>Finds non-extern non-inline function and variable definitions in header files,
+which can lead to potential ODR violations in case these headers are included
+from multiple translation units.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>// Foo.h
+int a = 1; // Warning: variable definition.
+extern int d; // OK: extern variable.
+
+namespace N {
+  int e = 2; // Warning: variable definition.
+}
+
+// Warning: variable definition.
+const char* str = "foo";
+
+// OK: internal linkage variable definitions are ignored for now.
+// Although these might also cause ODR violations, we can be less certain and
+// should try to keep the false-positive rate down.
+static int b = 1;
+const int c = 1;
+const char* const str2 = "foo";
+
+// Warning: function definition.
+int g() {
+  return 1;
+}
+
+// OK: inline function definition is allowed to be defined multiple times.
+inline int e() {
+  return 1;
+}
+
+class A {
+ public:
+  int f1() { return 1; } // OK: implicitly inline member function definition is allowed.
+  int f2();
+  static int d;
+};
+
+// Warning: not an inline member function definition.
+int A::f2() { return 1; }
+
+// OK: class static data member declaration is allowed.
+int A::d = 1;
+
+// OK: function template is allowed.
+template<typename T>
+T f3() {
+  T a = 1;
+  return a;
+}
+
+// Warning: full specialization of a function template is not allowed.
+template <>
+int f3() {
+  int a = 1;
+  return a;
+}
+
+template <typename T>
+struct B {
+  void f1();
+};
+
+// OK: member function definition of a class template is allowed.
+template <typename T>
+void B<T>::f1() {}
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-dangling-handle.html">misc-dangling-handle</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-fold-init-type.html">misc-fold-init-type</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-fold-init-type.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-fold-init-type.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-fold-init-type.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-fold-init-type.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-fold-init-type — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-forward-declaration-namespace" href="misc-forward-declaration-namespace.html" />
+    <link rel="prev" title="misc-definitions-in-headers" href="misc-definitions-in-headers.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-fold-init-type</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-definitions-in-headers.html">misc-definitions-in-headers</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-forward-declaration-namespace.html">misc-forward-declaration-namespace</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-fold-init-type">
+<h1>misc-fold-init-type<a class="headerlink" href="#misc-fold-init-type" title="Permalink to this headline">¶</a></h1>
+<p>The check flags type mismatches in
+<a class="reference external" href="https://en.wikipedia.org/wiki/Fold_(higher-order_function)">folds</a>
+like <tt class="docutils literal"><span class="pre">std::accumulate</span></tt> that might result in loss of precision.
+<tt class="docutils literal"><span class="pre">std::accumulate</span></tt> folds an input range into an initial value using the type of
+the latter, with <tt class="docutils literal"><span class="pre">operator+</span></tt> by default. This can cause loss of precision
+through:</p>
+<ul class="simple">
+<li>Truncation: The following code uses a floating point range and an int
+initial value, so trucation wil happen at every application of <tt class="docutils literal"><span class="pre">operator+</span></tt>
+and the result will be <cite>0</cite>, which might not be what the user expected.</li>
+</ul>
+<div class="code c++ highlight-python"><div class="highlight"><pre>auto a = {0.5f, 0.5f, 0.5f, 0.5f};
+return std::accumulate(std::begin(a), std::end(a), 0);
+</pre></div>
+</div>
+<ul class="simple">
+<li>Overflow: The following code also returns <cite>0</cite>.</li>
+</ul>
+<div class="code c++ highlight-python"><div class="highlight"><pre>auto a = {65536LL * 65536 * 65536};
+return std::accumulate(std::begin(a), std::end(a), 0);
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-definitions-in-headers.html">misc-definitions-in-headers</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-forward-declaration-namespace.html">misc-forward-declaration-namespace</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-forward-declaration-namespace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-forward-declaration-namespace.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-forward-declaration-namespace.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-forward-declaration-namespace.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-forward-declaration-namespace — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-inaccurate-erase" href="misc-inaccurate-erase.html" />
+    <link rel="prev" title="misc-fold-init-type" href="misc-fold-init-type.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-forward-declaration-namespace</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-fold-init-type.html">misc-fold-init-type</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-inaccurate-erase.html">misc-inaccurate-erase</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-forward-declaration-namespace">
+<h1>misc-forward-declaration-namespace<a class="headerlink" href="#misc-forward-declaration-namespace" title="Permalink to this headline">¶</a></h1>
+<p>Checks if an unused forward declaration is in a wrong namespace.</p>
+<p>The check inspects all unused forward declarations and checks if there is any
+declaration/definition with the same name existing, which could indicate that
+the forward declaration is in a potentially wrong namespace.</p>
+<pre class="code c++ literal-block">
+<span class="keyword">namespace</span> <span class="name">na</span> <span class="punctuation">{</span> <span class="keyword">struct</span> <span class="name">A</span><span class="punctuation">;</span> <span class="punctuation">}</span>
+<span class="keyword">namespace</span> <span class="name">nb</span> <span class="punctuation">{</span> <span class="keyword">struct</span> <span class="name">A</span> <span class="punctuation">{};</span> <span class="punctuation">}</span>
+<span class="name">nb</span><span class="operator">::</span><span class="name">A</span> <span class="name">a</span><span class="punctuation">;</span>
+<span class="comment single">// warning : no definition found for 'A', but a definition with the same name
+// 'A' found in another namespace 'nb::'
+</span>
+</pre>
+<p>This check can only generate warnings, but it can’t suggest a fix at this point.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-fold-init-type.html">misc-fold-init-type</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-inaccurate-erase.html">misc-inaccurate-erase</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inaccurate-erase.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inaccurate-erase.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inaccurate-erase.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inaccurate-erase.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-inaccurate-erase — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-incorrect-roundings" href="misc-incorrect-roundings.html" />
+    <link rel="prev" title="misc-forward-declaration-namespace" href="misc-forward-declaration-namespace.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-inaccurate-erase</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-forward-declaration-namespace.html">misc-forward-declaration-namespace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-incorrect-roundings.html">misc-incorrect-roundings</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-inaccurate-erase">
+<h1>misc-inaccurate-erase<a class="headerlink" href="#misc-inaccurate-erase" title="Permalink to this headline">¶</a></h1>
+<p>Checks for inaccurate use of the <tt class="docutils literal"><span class="pre">erase()</span></tt> method.</p>
+<p>Algorithms like <tt class="docutils literal"><span class="pre">remove()</span></tt> do not actually remove any element from the
+container but return an iterator to the first redundant element at the end
+of the container. These redundant elements must be removed using the
+<tt class="docutils literal"><span class="pre">erase()</span></tt> method. This check warns when not all of the elements will be
+removed due to using an inappropriate overload.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-forward-declaration-namespace.html">misc-forward-declaration-namespace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-incorrect-roundings.html">misc-incorrect-roundings</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-incorrect-roundings.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-incorrect-roundings.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-incorrect-roundings.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-incorrect-roundings.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-incorrect-roundings — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-inefficient-algorithm" href="misc-inefficient-algorithm.html" />
+    <link rel="prev" title="misc-inaccurate-erase" href="misc-inaccurate-erase.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-incorrect-roundings</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-inaccurate-erase.html">misc-inaccurate-erase</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-inefficient-algorithm.html">misc-inefficient-algorithm</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-incorrect-roundings">
+<h1>misc-incorrect-roundings<a class="headerlink" href="#misc-incorrect-roundings" title="Permalink to this headline">¶</a></h1>
+<p>Checks the usage of patterns known to produce incorrect rounding.
+Programmers often use:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="p">(</span><span class="nb">int</span><span class="p">)(</span><span class="n">double_expression</span> <span class="o">+</span> <span class="mf">0.5</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>to round the double expression to an integer. The problem with this:</p>
+<ol class="arabic simple">
+<li>It is unnecessarily slow.</li>
+<li>It is incorrect. The number 0.499999975 (smallest representable float
+number below 0.5) rounds to 1.0. Even worse behavior for negative
+numbers where both -0.5f and -1.4f both round to 0.0.</li>
+</ol>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-inaccurate-erase.html">misc-inaccurate-erase</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-inefficient-algorithm.html">misc-inefficient-algorithm</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inefficient-algorithm.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inefficient-algorithm.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inefficient-algorithm.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-inefficient-algorithm.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-inefficient-algorithm — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-macro-parentheses" href="misc-macro-parentheses.html" />
+    <link rel="prev" title="misc-incorrect-roundings" href="misc-incorrect-roundings.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-inefficient-algorithm</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-incorrect-roundings.html">misc-incorrect-roundings</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-macro-parentheses.html">misc-macro-parentheses</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-inefficient-algorithm">
+<h1>misc-inefficient-algorithm<a class="headerlink" href="#misc-inefficient-algorithm" title="Permalink to this headline">¶</a></h1>
+<p>Warns on inefficient use of STL algorithms on associative containers.</p>
+<p>Associative containers implements some of the algorithms as methods which
+should be preferred to the algorithms in the algorithm header. The methods
+can take advanatage of the order of the elements.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-incorrect-roundings.html">misc-incorrect-roundings</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-macro-parentheses.html">misc-macro-parentheses</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-parentheses.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-parentheses.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-parentheses.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-parentheses.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-macro-parentheses — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-macro-repeated-side-effects" href="misc-macro-repeated-side-effects.html" />
+    <link rel="prev" title="misc-inefficient-algorithm" href="misc-inefficient-algorithm.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-macro-parentheses</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-inefficient-algorithm.html">misc-inefficient-algorithm</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-macro-repeated-side-effects.html">misc-macro-repeated-side-effects</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-macro-parentheses">
+<h1>misc-macro-parentheses<a class="headerlink" href="#misc-macro-parentheses" title="Permalink to this headline">¶</a></h1>
+<p>Finds macros that can have unexpected behaviour due to missing parentheses.</p>
+<p>Macros are expanded by the preprocessor as-is. As a result, there can be
+unexpected behaviour; operators may be evaluated in unexpected order and
+unary operators may become binary operators, etc.</p>
+<p>When the replacement list has an expression, it is recommended to surround
+it with parentheses. This ensures that the macro result is evaluated
+completely before it is used.</p>
+<p>It is also recommended to surround macro arguments in the replacement list
+with parentheses. This ensures that the argument value is calculated
+properly.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-inefficient-algorithm.html">misc-inefficient-algorithm</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-macro-repeated-side-effects.html">misc-macro-repeated-side-effects</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-repeated-side-effects.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-repeated-side-effects.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-repeated-side-effects.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-macro-repeated-side-effects.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-macro-repeated-side-effects — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-misplaced-const" href="misc-misplaced-const.html" />
+    <link rel="prev" title="misc-macro-parentheses" href="misc-macro-parentheses.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-macro-repeated-side-effects</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-macro-parentheses.html">misc-macro-parentheses</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-misplaced-const.html">misc-misplaced-const</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-macro-repeated-side-effects">
+<h1>misc-macro-repeated-side-effects<a class="headerlink" href="#misc-macro-repeated-side-effects" title="Permalink to this headline">¶</a></h1>
+<p>Checks for repeated argument with side effects in macros.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-macro-parentheses.html">misc-macro-parentheses</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-misplaced-const.html">misc-misplaced-const</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-const.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-const.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-const.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-const.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-misplaced-const — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-misplaced-widening-cast" href="misc-misplaced-widening-cast.html" />
+    <link rel="prev" title="misc-macro-repeated-side-effects" href="misc-macro-repeated-side-effects.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-misplaced-const</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-macro-repeated-side-effects.html">misc-macro-repeated-side-effects</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-misplaced-widening-cast.html">misc-misplaced-widening-cast</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-misplaced-const">
+<h1>misc-misplaced-const<a class="headerlink" href="#misc-misplaced-const" title="Permalink to this headline">¶</a></h1>
+<p>This check diagnoses when a <tt class="docutils literal"><span class="pre">const</span></tt> qualifier is applied to a <tt class="docutils literal"><span class="pre">typedef</span></tt> to a
+pointer type rather than to the pointee, because such constructs are often
+misleading to developers because the <tt class="docutils literal"><span class="pre">const</span></tt> applies to the pointer rather
+than the pointee.</p>
+<p>For instance, in the following code, the resulting type is <tt class="docutils literal"><span class="pre">int</span> <span class="pre">*</span></tt> <tt class="docutils literal"><span class="pre">const</span></tt>
+rather than <tt class="docutils literal"><span class="pre">const</span> <span class="pre">int</span> <span class="pre">*</span></tt>:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>typedef int *int_ptr;
+void f(const int_ptr ptr);
+</pre></div>
+</div>
+<p>The check does not diagnose when the underlying <tt class="docutils literal"><span class="pre">typedef</span></tt> type is a pointer to
+a <tt class="docutils literal"><span class="pre">const</span></tt> type or a function pointer type. This is because the <tt class="docutils literal"><span class="pre">const</span></tt>
+qualifier is less likely to be mistaken because it would be redundant (or
+disallowed) on the underlying pointee type.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-macro-repeated-side-effects.html">misc-macro-repeated-side-effects</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-misplaced-widening-cast.html">misc-misplaced-widening-cast</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-widening-cast.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-widening-cast.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-widening-cast.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-widening-cast.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-misplaced-widening-cast — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-move-const-arg" href="misc-move-const-arg.html" />
+    <link rel="prev" title="misc-misplaced-const" href="misc-misplaced-const.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-misplaced-widening-cast</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-misplaced-const.html">misc-misplaced-const</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-move-const-arg.html">misc-move-const-arg</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-misplaced-widening-cast">
+<h1>misc-misplaced-widening-cast<a class="headerlink" href="#misc-misplaced-widening-cast" title="Permalink to this headline">¶</a></h1>
+<p>This check will warn when there is a cast of a calculation result to a bigger
+type. If the intention of the cast is to avoid loss of precision then the cast
+is misplaced, and there can be loss of precision. Otherwise the cast is
+ineffective.</p>
+<p>Example code:</p>
+<div class="highlight-python"><div class="highlight"><pre>long f(int x) {
+    return (long)(x*1000);
+}
+</pre></div>
+</div>
+<p>The result x*1000 is first calculated using int precision. If the result
+exceeds int precision there is loss of precision. Then the result is casted to
+long.</p>
+<p>If there is no loss of precision then the cast can be removed or you can
+explicitly cast to int instead.</p>
+<p>If you want to avoid loss of precision then put the cast in a proper location,
+for instance:</p>
+<div class="highlight-python"><div class="highlight"><pre>long f(int x) {
+    return (long)x * 1000;
+}
+</pre></div>
+</div>
+<div class="section" id="implicit-casts">
+<h2>Implicit casts<a class="headerlink" href="#implicit-casts" title="Permalink to this headline">¶</a></h2>
+<p>Forgetting to place the cast at all is at least as dangerous and at least as
+common as misplacing it. If option <tt class="docutils literal"><span class="pre">CheckImplicitCasts</span></tt> is enabled (default)
+the checker also detects these cases, for instance:</p>
+<div class="highlight-python"><div class="highlight"><pre>long f(int x) {
+    return x * 1000;
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="floating-point">
+<h2>Floating point<a class="headerlink" href="#floating-point" title="Permalink to this headline">¶</a></h2>
+<p>Currently warnings are only written for integer conversion. No warning is
+written for this code:</p>
+<div class="highlight-python"><div class="highlight"><pre>double f(float x) {
+    return (double)(x * 10.0f);
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-misplaced-const.html">misc-misplaced-const</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-move-const-arg.html">misc-move-const-arg</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-const-arg.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-const-arg.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-const-arg.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-const-arg.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-move-const-arg — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-move-constructor-init" href="misc-move-constructor-init.html" />
+    <link rel="prev" title="misc-misplaced-widening-cast" href="misc-misplaced-widening-cast.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-move-const-arg</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-misplaced-widening-cast.html">misc-misplaced-widening-cast</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-move-constructor-init.html">misc-move-constructor-init</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-move-const-arg">
+<h1>misc-move-const-arg<a class="headerlink" href="#misc-move-const-arg" title="Permalink to this headline">¶</a></h1>
+<p>The check warns</p>
+<blockquote>
+<div><ul class="simple">
+<li>if <tt class="docutils literal"><span class="pre">std::move()</span></tt> is called with a constant argument,</li>
+<li>if <tt class="docutils literal"><span class="pre">std::move()</span></tt> is called with an argument of a trivially-copyable type,
+or</li>
+<li>if the result of <tt class="docutils literal"><span class="pre">std::move()</span></tt> is passed as a const reference argument.</li>
+</ul>
+</div></blockquote>
+<p>In all three cases, the check will suggest a fix that removes the
+<tt class="docutils literal"><span class="pre">std::move()</span></tt>.</p>
+<p>Here are examples of each of the three cases:</p>
+<pre class="code c++ literal-block">
+<span class="keyword">const</span> <span class="name">string</span> <span class="name">s</span><span class="punctuation">;</span>
+<span class="keyword">return</span> <span class="name">std</span><span class="operator">::</span><span class="name">move</span><span class="punctuation">(</span><span class="name">s</span><span class="punctuation">);</span>  <span class="comment single">// Warning: std::move of the const variable has no effect
+</span>
+<span class="keyword type">int</span> <span class="name">x</span><span class="punctuation">;</span>
+<span class="keyword">return</span> <span class="name">std</span><span class="operator">::</span><span class="name">move</span><span class="punctuation">(</span><span class="name">x</span><span class="punctuation">);</span>  <span class="comment single">// Warning: std::move of the variable of a trivially-copyable type has no effect
+</span>
+<span class="keyword type">void</span> <span class="name function">f</span><span class="punctuation">(</span><span class="keyword">const</span> <span class="name">string</span> <span class="operator">&</span><span class="name">s</span><span class="punctuation">);</span>
+<span class="name">string</span> <span class="name">s</span><span class="punctuation">;</span>
+<span class="name">f</span><span class="punctuation">(</span><span class="name">std</span><span class="operator">::</span><span class="name">move</span><span class="punctuation">(</span><span class="name">s</span><span class="punctuation">));</span>  <span class="comment single">// Warning: passing result of std::move as a const reference argument; no move will actually happen
+</span>
+</pre>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-misplaced-widening-cast.html">misc-misplaced-widening-cast</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-move-constructor-init.html">misc-move-constructor-init</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-constructor-init.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-constructor-init.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-constructor-init.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-move-constructor-init.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-move-constructor-init — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-multiple-statement-macro" href="misc-multiple-statement-macro.html" />
+    <link rel="prev" title="misc-move-const-arg" href="misc-move-const-arg.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-move-constructor-init</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-move-const-arg.html">misc-move-const-arg</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-multiple-statement-macro.html">misc-multiple-statement-macro</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-move-constructor-init">
+<h1>misc-move-constructor-init<a class="headerlink" href="#misc-move-constructor-init" title="Permalink to this headline">¶</a></h1>
+<p>“cert-oop11-cpp” redirects here as an alias for this check.</p>
+<p>The check flags user-defined move constructors that have a ctor-initializer
+initializing a member or base class through a copy constructor instead of a
+move constructor.</p>
+<p>It also flags constructor arguments that are passed by value, have a non-deleted
+move-constructor and are assigned to a class field by copy construction.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-move-const-arg.html">misc-move-const-arg</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-multiple-statement-macro.html">misc-multiple-statement-macro</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-multiple-statement-macro.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-multiple-statement-macro.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-multiple-statement-macro.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-multiple-statement-macro.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-multiple-statement-macro — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-new-delete-overloads" href="misc-new-delete-overloads.html" />
+    <link rel="prev" title="misc-move-constructor-init" href="misc-move-constructor-init.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-multiple-statement-macro</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-move-constructor-init.html">misc-move-constructor-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-new-delete-overloads.html">misc-new-delete-overloads</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-multiple-statement-macro">
+<h1>misc-multiple-statement-macro<a class="headerlink" href="#misc-multiple-statement-macro" title="Permalink to this headline">¶</a></h1>
+<p>Detect multiple statement macros that are used in unbraced conditionals.
+Only the first statement of the macro will be inside the conditional and the other ones will be executed unconditionally.</p>
+<p>Example:</p>
+<pre class="code c++ literal-block">
+<span class="comment preproc">#define INCREMENT_TWO(x, y) (x)++; (y)++
+</span><span class="keyword">if</span> <span class="punctuation">(</span><span class="name">do_increment</span><span class="punctuation">)</span>
+  <span class="name">INCREMENT_TWO</span><span class="punctuation">(</span><span class="name">a</span><span class="punctuation">,</span> <span class="name">b</span><span class="punctuation">);</span>  <span class="comment single">// `(b)++;` will be executed unconditionally.
+</span>
+</pre>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-move-constructor-init.html">misc-move-constructor-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-new-delete-overloads.html">misc-new-delete-overloads</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-new-delete-overloads.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-new-delete-overloads.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-new-delete-overloads.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-new-delete-overloads.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-new-delete-overloads — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-noexcept-move-constructor" href="misc-noexcept-move-constructor.html" />
+    <link rel="prev" title="misc-multiple-statement-macro" href="misc-multiple-statement-macro.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-new-delete-overloads</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-multiple-statement-macro.html">misc-multiple-statement-macro</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-noexcept-move-constructor.html">misc-noexcept-move-constructor</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-new-delete-overloads">
+<h1>misc-new-delete-overloads<a class="headerlink" href="#misc-new-delete-overloads" title="Permalink to this headline">¶</a></h1>
+<p><cite>cert-dcl54-cpp</cite> redirects here as an alias for this check.</p>
+<p>The check flags overloaded operator <tt class="docutils literal"><span class="pre">new()</span></tt> and operator <tt class="docutils literal"><span class="pre">delete()</span></tt>
+functions that do not have a corresponding free store function defined within
+the same scope.
+For instance, the check will flag a class implementation of a non-placement
+operator <tt class="docutils literal"><span class="pre">new()</span></tt> when the class does not also define a non-placement operator
+<tt class="docutils literal"><span class="pre">delete()</span></tt> function as well.</p>
+<p>The check does not flag implicitly-defined operators, deleted or private
+operators, or placement operators.</p>
+<p>This check corresponds to CERT C++ Coding Standard rule <a class="reference external" href="https://www.securecoding.cert.org/confluence/display/cplusplus/DCL54-CPP.+Overload+allocation+and+deallocation+functions+as+a+pair+in+the+same+scope">DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope</a>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-multiple-statement-macro.html">misc-multiple-statement-macro</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-noexcept-move-constructor.html">misc-noexcept-move-constructor</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-noexcept-move-constructor.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-noexcept-move-constructor.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-noexcept-move-constructor.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-noexcept-move-constructor.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-noexcept-move-constructor — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-non-copyable-objects" href="misc-non-copyable-objects.html" />
+    <link rel="prev" title="misc-new-delete-overloads" href="misc-new-delete-overloads.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-noexcept-move-constructor</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-new-delete-overloads.html">misc-new-delete-overloads</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-non-copyable-objects.html">misc-non-copyable-objects</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-noexcept-move-constructor">
+<h1>misc-noexcept-move-constructor<a class="headerlink" href="#misc-noexcept-move-constructor" title="Permalink to this headline">¶</a></h1>
+<p>The check flags user-defined move constructors and assignment operators not
+marked with <tt class="docutils literal"><span class="pre">noexcept</span></tt> or marked with <tt class="docutils literal"><span class="pre">noexcept(expr)</span></tt> where <tt class="docutils literal"><span class="pre">expr</span></tt>
+evaluates to <tt class="docutils literal"><span class="pre">false</span></tt> (but is not a <tt class="docutils literal"><span class="pre">false</span></tt> literal itself).</p>
+<p>Move constructors of all the types used with STL containers, for example,
+need to be declared <tt class="docutils literal"><span class="pre">noexcept</span></tt>. Otherwise STL will choose copy constructors
+instead. The same is valid for move assignment operations.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-new-delete-overloads.html">misc-new-delete-overloads</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-non-copyable-objects.html">misc-non-copyable-objects</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-non-copyable-objects.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-non-copyable-objects.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-non-copyable-objects.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-non-copyable-objects.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-non-copyable-objects — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-pointer-and-integral-operation" href="misc-pointer-and-integral-operation.html" />
+    <link rel="prev" title="misc-noexcept-move-constructor" href="misc-noexcept-move-constructor.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-non-copyable-objects</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-noexcept-move-constructor.html">misc-noexcept-move-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-pointer-and-integral-operation.html">misc-pointer-and-integral-operation</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-non-copyable-objects">
+<h1>misc-non-copyable-objects<a class="headerlink" href="#misc-non-copyable-objects" title="Permalink to this headline">¶</a></h1>
+<p><cite>cert-fio38-c</cite> redirects here as an alias for this check.</p>
+<p>The check flags dereferences and non-pointer declarations of objects that are
+not meant to be passed by value, such as C FILE objects or POSIX
+<tt class="docutils literal"><span class="pre">pthread_mutex_t</span></tt> objects.</p>
+<p>This check corresponds to CERT C++ Coding Standard rule <a class="reference external" href="https://www.securecoding.cert.org/confluence/display/c/FIO38-C.+Do+not+copy+a+FILE+object">FIO38-C. Do not copy a FILE object</a>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-noexcept-move-constructor.html">misc-noexcept-move-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-pointer-and-integral-operation.html">misc-pointer-and-integral-operation</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-pointer-and-integral-operation.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-pointer-and-integral-operation.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-pointer-and-integral-operation.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-pointer-and-integral-operation.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-pointer-and-integral-operation — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-redundant-expression" href="misc-redundant-expression.html" />
+    <link rel="prev" title="misc-non-copyable-objects" href="misc-non-copyable-objects.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-pointer-and-integral-operation</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-non-copyable-objects.html">misc-non-copyable-objects</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-redundant-expression.html">misc-redundant-expression</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-pointer-and-integral-operation">
+<h1>misc-pointer-and-integral-operation<a class="headerlink" href="#misc-pointer-and-integral-operation" title="Permalink to this headline">¶</a></h1>
+<p>Looks for operation involving pointers and integral types. A common mistake is
+to forget to dereference a pointer. These errors may be detected when a pointer
+object is compare to an object with integral type.</p>
+<p>Examples:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>char* ptr;
+if ((ptr = malloc(...)) < nullptr)   // Pointer comparison with operator '<'
+  ...                                // Should probably be '!='
+
+if (ptr == '\0')   // Should probably be *ptr
+  ...
+
+void Process(std::string path, bool* error) {
+  [...]
+  if (error != false)  // Should probably be *error
+    ...
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-non-copyable-objects.html">misc-non-copyable-objects</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-redundant-expression.html">misc-redundant-expression</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-redundant-expression.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-redundant-expression.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-redundant-expression.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-redundant-expression.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-redundant-expression — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-sizeof-container" href="misc-sizeof-container.html" />
+    <link rel="prev" title="misc-pointer-and-integral-operation" href="misc-pointer-and-integral-operation.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-redundant-expression</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-pointer-and-integral-operation.html">misc-pointer-and-integral-operation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-sizeof-container.html">misc-sizeof-container</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-redundant-expression">
+<h1>misc-redundant-expression<a class="headerlink" href="#misc-redundant-expression" title="Permalink to this headline">¶</a></h1>
+<p>Detect redundant expressions which are typically errors due to copy-paste.</p>
+<dl class="docutils">
+<dt>Depending on the operator expressions may be</dt>
+<dd><ul class="first last simple">
+<li>redundant,</li>
+<li>always be <cite>true</cite>,</li>
+<li>always be <cite>false</cite>,</li>
+<li>always be a constant (zero or one)</li>
+</ul>
+</dd>
+</dl>
+<p>Example:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>((x+1) | (x+1))             // (x+1) is redundant
+(p->x == p->x)              // always true
+(p->x < p->x)               // always false
+(speed - speed + 1 == 12)   // speed - speed is always zero
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-pointer-and-integral-operation.html">misc-pointer-and-integral-operation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-sizeof-container.html">misc-sizeof-container</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-container.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-container.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-container.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-container.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-sizeof-container — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-sizeof-expression" href="misc-sizeof-expression.html" />
+    <link rel="prev" title="misc-redundant-expression" href="misc-redundant-expression.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-sizeof-container</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-redundant-expression.html">misc-redundant-expression</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-sizeof-expression.html">misc-sizeof-expression</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-sizeof-container">
+<h1>misc-sizeof-container<a class="headerlink" href="#misc-sizeof-container" title="Permalink to this headline">¶</a></h1>
+<p>The check finds usages of <tt class="docutils literal"><span class="pre">sizeof</span></tt> on expressions of STL container types. Most
+likely the user wanted to use <tt class="docutils literal"><span class="pre">.size()</span></tt> instead.</p>
+<p>All class/struct types declared in namespace <tt class="docutils literal"><span class="pre">std::</span></tt> having a const <tt class="docutils literal"><span class="pre">size()</span></tt>
+method are considered containers, with the exception of <tt class="docutils literal"><span class="pre">std::bitset</span></tt> and
+<tt class="docutils literal"><span class="pre">std::array</span></tt>.</p>
+<p>Examples:</p>
+<pre class="code c++ literal-block">
+<span class="name">std</span><span class="operator">::</span><span class="name">string</span> <span class="name">s</span><span class="punctuation">;</span>
+<span class="keyword type">int</span> <span class="name">a</span> <span class="operator">=</span> <span class="literal number integer">47</span> <span class="operator">+</span> <span class="keyword">sizeof</span><span class="punctuation">(</span><span class="name">s</span><span class="punctuation">);</span> <span class="comment single">// warning: sizeof() doesn't return the size of the container. Did you mean .size()?
+</span>
+<span class="keyword type">int</span> <span class="name">b</span> <span class="operator">=</span> <span class="keyword">sizeof</span><span class="punctuation">(</span><span class="name">std</span><span class="operator">::</span><span class="name">string</span><span class="punctuation">);</span> <span class="comment single">// no warning, probably intended.
+</span>
+<span class="name">std</span><span class="operator">::</span><span class="name">string</span> <span class="name">array_of_strings</span><span class="punctuation">[</span><span class="literal number integer">10</span><span class="punctuation">];</span>
+<span class="keyword type">int</span> <span class="name">c</span> <span class="operator">=</span> <span class="keyword">sizeof</span><span class="punctuation">(</span><span class="name">array_of_strings</span><span class="punctuation">)</span> <span class="operator">/</span> <span class="keyword">sizeof</span><span class="punctuation">(</span><span class="name">array_of_strings</span><span class="punctuation">[</span><span class="literal number integer">0</span><span class="punctuation">]);</span> <span class="comment single">// no warning, definitely intended.
+</span>
+<span class="name">std</span><span class="operator">::</span><span class="name">array</span><span class="operator"><</span><span class="keyword type">int</span><span class="punctuation">,</span> <span class="literal number integer">3</span><span class="operator">></span> <span class="name">std_array</span><span class="punctuation">;</span>
+<span class="keyword type">int</span> <span class="name">d</span> <span class="operator">=</span> <span class="keyword">sizeof</span><span class="punctuation">(</span><span class="name">std_array</span><span class="punctuation">);</span> <span class="comment single">// no warning, probably intended.
+</span>
+</pre>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-redundant-expression.html">misc-redundant-expression</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-sizeof-expression.html">misc-sizeof-expression</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-expression.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-expression.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-expression.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-sizeof-expression.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-sizeof-expression — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-static-assert" href="misc-static-assert.html" />
+    <link rel="prev" title="misc-sizeof-container" href="misc-sizeof-container.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-sizeof-expression</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-sizeof-container.html">misc-sizeof-container</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-static-assert.html">misc-static-assert</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-sizeof-expression">
+<h1>misc-sizeof-expression<a class="headerlink" href="#misc-sizeof-expression" title="Permalink to this headline">¶</a></h1>
+<p>The check finds usages of <tt class="docutils literal"><span class="pre">sizeof</span></tt> expressions which are most likely errors.</p>
+<p>The <tt class="docutils literal"><span class="pre">sizeof</span></tt> operator yields the size (in bytes) of its operand, which may be
+an expression or the parenthesized name of a type. Misuse of this operator may
+be leading to errors and possible software vulnerabilities.</p>
+<div class="section" id="suspicious-usage-of-sizeof-k">
+<h2>Suspicious usage of ‘sizeof(K)’<a class="headerlink" href="#suspicious-usage-of-sizeof-k" title="Permalink to this headline">¶</a></h2>
+<p>A common mistake is to query the <tt class="docutils literal"><span class="pre">sizeof</span></tt> of an integer literal. This is
+equivalent to query the size of its type (probably <tt class="docutils literal"><span class="pre">int</span></tt>). The intent of the
+programmer was probably to simply get the integer and not its size.</p>
+<pre class="code c++ literal-block">
+<span class="comment preproc">#define BUFLEN 42
+</span><span class="keyword type">char</span> <span class="name">buf</span><span class="punctuation">[</span><span class="name">BUFLEN</span><span class="punctuation">];</span>
+<span class="name">memset</span><span class="punctuation">(</span><span class="name">buf</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">,</span> <span class="keyword">sizeof</span><span class="punctuation">(</span><span class="name">BUFLEN</span><span class="punctuation">));</span>  <span class="comment single">// sizeof(42) ==> sizeof(int)
+</span>
+</pre>
+</div>
+<div class="section" id="suspicious-usage-of-sizeof-this">
+<h2>Suspicious usage of ‘sizeof(this)’<a class="headerlink" href="#suspicious-usage-of-sizeof-this" title="Permalink to this headline">¶</a></h2>
+<p>The <tt class="docutils literal"><span class="pre">this</span></tt> keyword is evaluated to a pointer to an object of a given type.
+The expression <tt class="docutils literal"><span class="pre">sizeof(this)</span></tt> is returning the size of a pointer. The
+programmer most likely wanted the size of the object and not the size of the
+pointer.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>class Point {
+  [...]
+  size_t size() { return sizeof(this); }  // should probably be sizeof(*this)
+  [...]
+};
+</pre></div>
+</div>
+</div>
+<div class="section" id="suspicious-usage-of-sizeof-char">
+<h2>Suspicious usage of ‘sizeof(char*)’<a class="headerlink" href="#suspicious-usage-of-sizeof-char" title="Permalink to this headline">¶</a></h2>
+<p>There is a subtle difference between declaring a string literal with
+<tt class="docutils literal"><span class="pre">char*</span> <span class="pre">A</span> <span class="pre">=</span> <span class="pre">""</span></tt> and <tt class="docutils literal"><span class="pre">char</span> <span class="pre">A[]</span> <span class="pre">=</span> <span class="pre">""</span></tt>. The first case has the type <tt class="docutils literal"><span class="pre">char*</span></tt>
+instead of the aggregate type <tt class="docutils literal"><span class="pre">char[]</span></tt>. Using <tt class="docutils literal"><span class="pre">sizeof</span></tt> on an object declared
+with <tt class="docutils literal"><span class="pre">char*</span></tt> type is returning the size of a pointer instead of the number of
+characters (bytes) in the string literal.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>const char* kMessage = "Hello World!";      // const char kMessage[] = "...";
+void getMessage(char* buf) {
+  memcpy(buf, kMessage, sizeof(kMessage));  // sizeof(char*)
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="suspicious-usage-of-sizeof-a">
+<h2>Suspicious usage of ‘sizeof(A*)’<a class="headerlink" href="#suspicious-usage-of-sizeof-a" title="Permalink to this headline">¶</a></h2>
+<p>A common mistake is to compute the size of a pointer instead of its pointee.
+These cases may occur because of explicit cast or implicit conversion.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>int A[10];
+memset(A, 0, sizeof(A + 0));
+
+struct Point point;
+memset(point, 0, sizeof(&point));
+</pre></div>
+</div>
+</div>
+<div class="section" id="suspicious-usage-of-sizeof-sizeof">
+<h2>Suspicious usage of ‘sizeof(...)/sizeof(...)’<a class="headerlink" href="#suspicious-usage-of-sizeof-sizeof" title="Permalink to this headline">¶</a></h2>
+<p>Dividing <tt class="docutils literal"><span class="pre">sizeof</span></tt> expressions is typically used to retrieve the number of
+elements of an aggregate. This check warns on incompatible or suspicious cases.</p>
+<p>In the following example, the entity has 10-bytes and is incompatible with the
+type <tt class="docutils literal"><span class="pre">int</span></tt> which has 4 bytes.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>char buf[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };  // sizeof(buf) => 10
+void getMessage(char* dst) {
+  memcpy(dst, buf, sizeof(buf) / sizeof(int));  // sizeof(int) => 4  [incompatible sizes]
+}
+</pre></div>
+</div>
+<p>In the following example, the expression <tt class="docutils literal"><span class="pre">sizeof(Values)</span></tt> is returning the
+size of <tt class="docutils literal"><span class="pre">char*</span></tt>. One can easily be fooled by its declaration, but in parameter
+declaration the size ‘10’ is ignored and the function is receiving a <tt class="docutils literal"><span class="pre">char*</span></tt>.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>char OrderedValues[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+return CompareArray(char Values[10]) {
+  return memcmp(OrderedValues, Values, sizeof(Values)) == 0;  // sizeof(Values) ==> sizeof(char*) [implicit cast to char*]
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="suspicious-sizeof-by-sizeof-expression">
+<h2>Suspicious ‘sizeof’ by ‘sizeof’ expression<a class="headerlink" href="#suspicious-sizeof-by-sizeof-expression" title="Permalink to this headline">¶</a></h2>
+<p>Multiplying <tt class="docutils literal"><span class="pre">sizeof</span></tt> expressions typically makes no sense and is probably a
+logic error. In the following example, the programmer used <tt class="docutils literal"><span class="pre">*</span></tt> instead of
+<tt class="docutils literal"><span class="pre">/</span></tt>.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>const char kMessage[] = "Hello World!";
+void getMessage(char* buf) {
+  memcpy(buf, kMessage, sizeof(kMessage) * sizeof(char));  //  sizeof(kMessage) / sizeof(char)
+}
+</pre></div>
+</div>
+<p>This check may trigger on code using the arraysize macro. The following code is
+working correctly but should be simplified by using only the <tt class="docutils literal"><span class="pre">sizeof</span></tt>
+operator.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>extern Object objects[100];
+void InitializeObjects() {
+  memset(objects, 0, arraysize(objects) * sizeof(Object));  // sizeof(objects)
+}
+</pre></div>
+</div>
+</div>
+<div class="section" id="id1">
+<h2>Suspicious usage of ‘sizeof(sizeof(...))’<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
+<p>Getting the <tt class="docutils literal"><span class="pre">sizeof</span></tt> of a <tt class="docutils literal"><span class="pre">sizeof</span></tt> makes no sense and is typically an error
+hidden through macros.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>#define INT_SZ sizeof(int)
+int buf[] = { 42 };
+void getInt(int* dst) {
+  memcpy(dst, buf, sizeof(INT_SZ));  // sizeof(sizeof(int)) is suspicious.
+}
+</pre></div>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-sizeof-container.html">misc-sizeof-container</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-static-assert.html">misc-static-assert</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-static-assert.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-static-assert.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-static-assert.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-static-assert.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-static-assert — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-string-constructor" href="misc-string-constructor.html" />
+    <link rel="prev" title="misc-sizeof-expression" href="misc-sizeof-expression.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-static-assert</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-sizeof-expression.html">misc-sizeof-expression</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-string-constructor.html">misc-string-constructor</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-static-assert">
+<h1>misc-static-assert<a class="headerlink" href="#misc-static-assert" title="Permalink to this headline">¶</a></h1>
+<p><cite>cert-dcl03-c</cite> redirects here as an alias for this check.</p>
+<p>Replaces <tt class="docutils literal"><span class="pre">assert()</span></tt> with <tt class="docutils literal"><span class="pre">static_assert()</span></tt> if the condition is evaluatable
+at compile time.</p>
+<p>The condition of <tt class="docutils literal"><span class="pre">static_assert()</span></tt> is evaluated at compile time which is
+safer and more efficient.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-sizeof-expression.html">misc-sizeof-expression</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-string-constructor.html">misc-string-constructor</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-constructor.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-constructor.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-constructor.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-constructor.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-string-constructor — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-string-integer-assignment" href="misc-string-integer-assignment.html" />
+    <link rel="prev" title="misc-static-assert" href="misc-static-assert.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-string-constructor</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-static-assert.html">misc-static-assert</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-string-integer-assignment.html">misc-string-integer-assignment</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-string-constructor">
+<h1>misc-string-constructor<a class="headerlink" href="#misc-string-constructor" title="Permalink to this headline">¶</a></h1>
+<p>Finds string constructors that are suspicious and probably errors.</p>
+<p>A common mistake is to swap parameters to the ‘fill’ string-constructor.</p>
+<p>Examples:</p>
+<pre class="code c++ literal-block">
+<span class="name">std</span><span class="operator">::</span><span class="name">string</span><span class="punctuation">(</span><span class="literal string char">'x'</span><span class="punctuation">,</span> <span class="literal number integer">50</span><span class="punctuation">)</span> <span class="name">str</span><span class="punctuation">;</span> <span class="comment single">// should be std::string(50, 'x')
+</span>
+</pre>
+<p>Calling the string-literal constructor with a length bigger than the literal is
+suspicious and adds extra random characters to the string.</p>
+<p>Examples:</p>
+<pre class="code c++ literal-block">
+<span class="name">std</span><span class="operator">::</span><span class="name">string</span><span class="punctuation">(</span><span class="literal string">"test"</span><span class="punctuation">,</span> <span class="literal number integer">200</span><span class="punctuation">);</span>   <span class="comment single">// Will include random characters after "test".
+</span>
+</pre>
+<p>Creating an empty string from constructors with parameters is considered
+suspicious. The programmer should use the empty constructor instead.</p>
+<p>Examples:</p>
+<pre class="code c++ literal-block">
+<span class="name">std</span><span class="operator">::</span><span class="name">string</span><span class="punctuation">(</span><span class="literal string">"test"</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">);</span>   <span class="comment single">// Creation of an empty string.
+</span>
+</pre>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-static-assert.html">misc-static-assert</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-string-integer-assignment.html">misc-string-integer-assignment</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-integer-assignment.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-integer-assignment.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-integer-assignment.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-integer-assignment.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-string-integer-assignment — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-string-literal-with-embedded-nul" href="misc-string-literal-with-embedded-nul.html" />
+    <link rel="prev" title="misc-string-constructor" href="misc-string-constructor.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-string-integer-assignment</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-string-constructor.html">misc-string-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-string-literal-with-embedded-nul.html">misc-string-literal-with-embedded-nul</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-string-integer-assignment">
+<h1>misc-string-integer-assignment<a class="headerlink" href="#misc-string-integer-assignment" title="Permalink to this headline">¶</a></h1>
+<p>The check finds assignments of an integer to <tt class="docutils literal"><span class="pre">std::basic_string<CharT></span></tt>
+(<tt class="docutils literal"><span class="pre">std::string</span></tt>, <tt class="docutils literal"><span class="pre">std::wstring</span></tt>, etc.). The source of the problem is the
+following assignment operator of <tt class="docutils literal"><span class="pre">std::basic_string<CharT></span></tt>:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>basic_string& operator=( CharT ch );
+</pre></div>
+</div>
+<p>Numeric types can be implicitly casted to character types.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::string s;
+int x = 5965;
+s = 6;
+s = x;
+</pre></div>
+</div>
+<p>Use the appropriate conversion functions or character literals.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::string s;
+int x = 5965;
+s = '6';
+s = std::to_string(x);
+</pre></div>
+</div>
+<p>In order to suppress false positives, use an explicit cast.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::string s;
+s = static_cast<char>(6);
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-string-constructor.html">misc-string-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-string-literal-with-embedded-nul.html">misc-string-literal-with-embedded-nul</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-literal-with-embedded-nul.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-literal-with-embedded-nul.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-literal-with-embedded-nul.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-string-literal-with-embedded-nul.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-string-literal-with-embedded-nul — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-suspicious-missing-comma" href="misc-suspicious-missing-comma.html" />
+    <link rel="prev" title="misc-string-integer-assignment" href="misc-string-integer-assignment.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-string-literal-with-embedded-nul</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-string-integer-assignment.html">misc-string-integer-assignment</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-suspicious-missing-comma.html">misc-suspicious-missing-comma</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-string-literal-with-embedded-nul">
+<h1>misc-string-literal-with-embedded-nul<a class="headerlink" href="#misc-string-literal-with-embedded-nul" title="Permalink to this headline">¶</a></h1>
+<p>Finds occurences of string literal with embedded NUL character and validates
+their usage.</p>
+<div class="section" id="invalid-escaping">
+<h2>Invalid escaping<a class="headerlink" href="#invalid-escaping" title="Permalink to this headline">¶</a></h2>
+<p>Special characters can be escaped within a string literal by using their
+hexadecimal encoding like <tt class="docutils literal"><span class="pre">\x42</span></tt>. A common mistake is to escape them
+like this <tt class="docutils literal"><span class="pre">\0x42</span></tt> where the <tt class="docutils literal"><span class="pre">\0</span></tt> stands for the NUL character.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>const char* Example[] = "Invalid character: \0x12 should be \x12";
+const char* Bytes[] = "\x03\0x02\0x01\0x00\0xFF\0xFF\0xFF";
+</pre></div>
+</div>
+</div>
+<div class="section" id="truncated-literal">
+<h2>Truncated literal<a class="headerlink" href="#truncated-literal" title="Permalink to this headline">¶</a></h2>
+<p>String-like classes can manipulate strings with embedded NUL as they are
+keeping track of the bytes and the length. This is not the case for a
+<tt class="docutils literal"><span class="pre">char*</span></tt> (NUL-terminated) string.</p>
+<p>A common mistake is to pass a string-literal with embedded NUL to a string
+constructor expecting a NUL-terminated string. The bytes after the first NUL
+character are truncated.</p>
+<pre class="code c++ literal-block">
+<span class="name">std</span><span class="operator">::</span><span class="name">string</span> <span class="name">str</span><span class="punctuation">(</span><span class="literal string">"abc</span><span class="literal string escape">\0</span><span class="literal string">def"</span><span class="punctuation">);</span>  <span class="comment single">// "def" is truncated
+</span><span class="name">str</span> <span class="operator">+=</span> <span class="literal string">"</span><span class="literal string escape">\0</span><span class="literal string">"</span><span class="punctuation">;</span>                  <span class="comment single">// This statement is doing nothing
+</span><span class="keyword">if</span> <span class="punctuation">(</span><span class="name">str</span> <span class="operator">==</span> <span class="literal string">"</span><span class="literal string escape">\0</span><span class="literal string">abc"</span><span class="punctuation">)</span> <span class="keyword">return</span><span class="punctuation">;</span>   <span class="comment single">// This expression is always true
+</span>
+</pre>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-string-integer-assignment.html">misc-string-integer-assignment</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-suspicious-missing-comma.html">misc-suspicious-missing-comma</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-missing-comma.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-missing-comma.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-missing-comma.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-missing-comma.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-suspicious-missing-comma — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-suspicious-semicolon" href="misc-suspicious-semicolon.html" />
+    <link rel="prev" title="misc-string-literal-with-embedded-nul" href="misc-string-literal-with-embedded-nul.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-suspicious-missing-comma</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-string-literal-with-embedded-nul.html">misc-string-literal-with-embedded-nul</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-suspicious-semicolon.html">misc-suspicious-semicolon</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-suspicious-missing-comma">
+<h1>misc-suspicious-missing-comma<a class="headerlink" href="#misc-suspicious-missing-comma" title="Permalink to this headline">¶</a></h1>
+<p>String literals placed side-by-side are concatenated at translation phase 6
+(after the preprocessor). This feature is used to represent long string
+literal on multiple lines.</p>
+<p>For instance, the following declarations are equivalent:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>const char* A[] = "This is a test";
+const char* B[] = "This" " is a "    "test";
+</pre></div>
+</div>
+<p>A common mistake done by programmers is to forget a comma between two string
+literals in an array initializer list.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>const char* Test[] = {
+  "line 1",
+  "line 2"     // Missing comma!
+  "line 3",
+  "line 4",
+  "line 5"
+};
+</pre></div>
+</div>
+<p>The array contains the string “line 2line3” at offset 1 (i.e. Test[1]). Clang
+won’t generate warnings at compile time.</p>
+<p>This checker may warn incorrectly on cases like:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>const char* SupportedFormat[] = {
+  "Error %s",
+  "Code " PRIu64,   // May warn here.
+  "Warning %s",
+};
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-string-literal-with-embedded-nul.html">misc-string-literal-with-embedded-nul</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-suspicious-semicolon.html">misc-suspicious-semicolon</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-semicolon.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-semicolon.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-semicolon.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-semicolon.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-suspicious-semicolon — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-suspicious-string-compare" href="misc-suspicious-string-compare.html" />
+    <link rel="prev" title="misc-suspicious-missing-comma" href="misc-suspicious-missing-comma.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-suspicious-semicolon</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-suspicious-missing-comma.html">misc-suspicious-missing-comma</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-suspicious-string-compare.html">misc-suspicious-string-compare</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-suspicious-semicolon">
+<h1>misc-suspicious-semicolon<a class="headerlink" href="#misc-suspicious-semicolon" title="Permalink to this headline">¶</a></h1>
+<p>Finds most instances of stray semicolons that unexpectedly alter the meaning of
+the code. More specifically, it looks for <tt class="docutils literal"><span class="pre">if</span></tt>, <tt class="docutils literal"><span class="pre">while</span></tt>, <tt class="docutils literal"><span class="pre">for</span></tt> and
+<tt class="docutils literal"><span class="pre">for-range</span></tt> statements whose body is a single semicolon, and then analyzes the
+context of the code (e.g. indentation) in an attempt to determine whether that
+is intentional.</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="k">if</span> <span class="p">(</span><span class="n">x</span> <span class="o"><</span> <span class="n">y</span><span class="p">);</span>
+<span class="p">{</span>
+  <span class="n">x</span><span class="o">++</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>Here the body of the <tt class="docutils literal"><span class="pre">if</span></tt> statement consists of only the semicolon at the end
+of the first line, and <cite>x</cite> will be incremented regardless of the condition.</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="k">while</span> <span class="p">((</span><span class="n">line</span> <span class="o">=</span> <span class="n">readLine</span><span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+  <span class="n">processLine</span><span class="p">(</span><span class="n">line</span><span class="p">);</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>As a result of this code, <cite>processLine()</cite> will only be called once, when the
+<tt class="docutils literal"><span class="pre">while</span></tt> loop with the empty body exits with <cite>line == NULL</cite>. The indentation of
+the code indicates the intention of the programmer.</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="k">if</span> <span class="p">(</span><span class="n">x</span> <span class="o">>=</span> <span class="n">y</span><span class="p">);</span>
+<span class="n">x</span> <span class="o">-=</span> <span class="n">y</span><span class="p">;</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>While the indentation does not imply any nesting, there is simply no valid
+reason to have an <cite>if</cite> statement with an empty body (but it can make sense for
+a loop). So this check issues a warning for the code above.</p>
+<p>To solve the issue remove the stray semicolon or in case the empty body is
+intentional, reflect this using code indentation or put the semicolon in a new
+line. For example:</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="k">while</span> <span class="p">(</span><span class="n">readWhitespace</span><span class="p">());</span>
+  <span class="n">Token</span> <span class="n">t</span> <span class="o">=</span> <span class="n">readNextToken</span><span class="p">();</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>Here the second line is indented in a way that suggests that it is meant to be
+the body of the <cite>while</cite> loop - whose body is in fact empty, becasue of the
+semicolon at the end of the first line.</p>
+<p>Either remove the indentation from the second line:</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="k">while</span> <span class="p">(</span><span class="n">readWhitespace</span><span class="p">());</span>
+<span class="n">Token</span> <span class="n">t</span> <span class="o">=</span> <span class="n">readNextToken</span><span class="p">();</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>... or move the semicolon from the end of the first line to a new line:</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="k">while</span> <span class="p">(</span><span class="n">readWhitespace</span><span class="p">())</span>
+  <span class="p">;</span>
+
+  <span class="n">Token</span> <span class="n">t</span> <span class="o">=</span> <span class="n">readNextToken</span><span class="p">();</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>In this case the check will assume that you know what you are doing, and will
+not raise a warning.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-suspicious-missing-comma.html">misc-suspicious-missing-comma</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-suspicious-string-compare.html">misc-suspicious-string-compare</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-string-compare.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-string-compare.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-string-compare.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-suspicious-string-compare.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-suspicious-string-compare — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-swapped-arguments" href="misc-swapped-arguments.html" />
+    <link rel="prev" title="misc-suspicious-semicolon" href="misc-suspicious-semicolon.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-suspicious-string-compare</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-suspicious-semicolon.html">misc-suspicious-semicolon</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-swapped-arguments.html">misc-swapped-arguments</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-suspicious-string-compare">
+<h1>misc-suspicious-string-compare<a class="headerlink" href="#misc-suspicious-string-compare" title="Permalink to this headline">¶</a></h1>
+<p>Find suspicious usage of runtime string comparison functions.
+This check is valid in C and C++.</p>
+<p>Checks for calls with implicit comparator and proposed to explicitly add it.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>if (strcmp(...))       // Implicitly compare to zero
+if (!strcmp(...))      // Won't warn
+if (strcmp(...) != 0)  // Won't warn
+</pre></div>
+</div>
+<p>Checks that compare function results (i,e, <tt class="docutils literal"><span class="pre">strcmp</span></tt>) are compared to valid
+constant. The resulting value is</p>
+<div class="code highlight-python"><div class="highlight"><pre><  0    when lower than,
+>  0    when greater than,
+== 0    when equals.
+</pre></div>
+</div>
+<p>A common mistake is to compare the result to ‘1’ or ‘-1’.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>if (strcmp(...) == -1)  // Incorrect usage of the returned value.
+</pre></div>
+</div>
+<p>Additionally, the check warns if the results value is implicitly cast to a
+<em>suspicious</em> non-integer type. It’s happening when the returned value is used in
+a wrong context.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>if (strcmp(...) < 0.)  // Incorrect usage of the returned value.
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-suspicious-semicolon.html">misc-suspicious-semicolon</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-swapped-arguments.html">misc-swapped-arguments</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-swapped-arguments.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-swapped-arguments.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-swapped-arguments.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-swapped-arguments.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-swapped-arguments — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-throw-by-value-catch-by-reference" href="misc-throw-by-value-catch-by-reference.html" />
+    <link rel="prev" title="misc-suspicious-string-compare" href="misc-suspicious-string-compare.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-swapped-arguments</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-suspicious-string-compare.html">misc-suspicious-string-compare</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-throw-by-value-catch-by-reference.html">misc-throw-by-value-catch-by-reference</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-swapped-arguments">
+<h1>misc-swapped-arguments<a class="headerlink" href="#misc-swapped-arguments" title="Permalink to this headline">¶</a></h1>
+<p>Finds potentially swapped arguments by looking at implicit conversions.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-suspicious-string-compare.html">misc-suspicious-string-compare</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-throw-by-value-catch-by-reference.html">misc-throw-by-value-catch-by-reference</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-throw-by-value-catch-by-reference — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-unconventional-assign-operator" href="misc-unconventional-assign-operator.html" />
+    <link rel="prev" title="misc-swapped-arguments" href="misc-swapped-arguments.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-throw-by-value-catch-by-reference</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-swapped-arguments.html">misc-swapped-arguments</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unconventional-assign-operator.html">misc-unconventional-assign-operator</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-throw-by-value-catch-by-reference">
+<h1>misc-throw-by-value-catch-by-reference<a class="headerlink" href="#misc-throw-by-value-catch-by-reference" title="Permalink to this headline">¶</a></h1>
+<p>“cert-err61-cpp” redirects here as an alias for this check.</p>
+<p>Finds violations of the rule “Throw by value, catch by reference” presented for example in “C++ Coding Standards” by H. Sutter and A. Alexandrescu. This check also has the option to find violations of the rule “Throw anonymous temporaries” (<a class="reference external" href="https://www.securecoding.cert.org/confluence/display/cplusplus/ERR09-CPP.+Throw+anonymous+temporaries">https://www.securecoding.cert.org/confluence/display/cplusplus/ERR09-CPP.+Throw+anonymous+temporaries</a>). The option is named <em class="xref std std-option">CheckThrowTemporaries</em> and it’s on by default.</p>
+<dl class="docutils">
+<dt>Exceptions:</dt>
+<dd><ul class="first last simple">
+<li>Throwing string literals will not be flagged despite being a pointer. They are not susceptible to slicing and the usage of string literals is idomatic.</li>
+<li>Catching character pointers (<tt class="docutils literal"><span class="pre">char</span></tt>, <tt class="docutils literal"><span class="pre">wchar_t</span></tt>, unicode character types) will not be flagged to allow catching sting literals.</li>
+<li>Moved named values will not be flagged as not throwing an anonymous temporary. In this case we can be sure that the user knows that the object can’t be accessed outside catch blocks handling the error.</li>
+<li>Throwing function parameters will not be flagged as not throwing an anonymous temporary. This allows helper functions for throwing.</li>
+<li>Re-throwing caught exception variables will not be flragged as not throwing an anonymous temporary. Although this can usually be done by just writing <tt class="docutils literal"><span class="pre">throw;</span></tt> it happens often enough in real code.</li>
+</ul>
+</dd>
+</dl>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-swapped-arguments.html">misc-swapped-arguments</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unconventional-assign-operator.html">misc-unconventional-assign-operator</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unconventional-assign-operator.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unconventional-assign-operator.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unconventional-assign-operator.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unconventional-assign-operator.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-unconventional-assign-operator — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-undelegated-constructor" href="misc-undelegated-constructor.html" />
+    <link rel="prev" title="misc-throw-by-value-catch-by-reference" href="misc-throw-by-value-catch-by-reference.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-unconventional-assign-operator</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-throw-by-value-catch-by-reference.html">misc-throw-by-value-catch-by-reference</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-undelegated-constructor.html">misc-undelegated-constructor</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-unconventional-assign-operator">
+<h1>misc-unconventional-assign-operator<a class="headerlink" href="#misc-unconventional-assign-operator" title="Permalink to this headline">¶</a></h1>
+<p>Finds declarations of assign operators with the wrong return and/or argument
+types and definitions with good return type but wrong <tt class="docutils literal"><span class="pre">return</span></tt> statements.</p>
+<blockquote>
+<div><ul class="simple">
+<li>The return type must be <tt class="docutils literal"><span class="pre">Class&</span></tt>.</li>
+<li>Works with move-assign and assign by value.</li>
+<li>Private and deleted operators are ignored.</li>
+<li>The operator must always return <tt class="docutils literal"><span class="pre">*this</span></tt>.</li>
+</ul>
+</div></blockquote>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-throw-by-value-catch-by-reference.html">misc-throw-by-value-catch-by-reference</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-undelegated-constructor.html">misc-undelegated-constructor</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-undelegated-constructor.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-undelegated-constructor.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-undelegated-constructor.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-undelegated-constructor.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-undelegated-constructor — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-uniqueptr-reset-release" href="misc-uniqueptr-reset-release.html" />
+    <link rel="prev" title="misc-unconventional-assign-operator" href="misc-unconventional-assign-operator.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-undelegated-constructor</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-unconventional-assign-operator.html">misc-unconventional-assign-operator</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-uniqueptr-reset-release.html">misc-uniqueptr-reset-release</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-undelegated-constructor">
+<h1>misc-undelegated-constructor<a class="headerlink" href="#misc-undelegated-constructor" title="Permalink to this headline">¶</a></h1>
+<p>Finds creation of temporary objects in constructors that look like a
+function call to another constructor of the same class.</p>
+<p>The user most likely meant to use a delegating constructor or base class
+initializer.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-unconventional-assign-operator.html">misc-unconventional-assign-operator</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-uniqueptr-reset-release.html">misc-uniqueptr-reset-release</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-uniqueptr-reset-release.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-uniqueptr-reset-release.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-uniqueptr-reset-release.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-uniqueptr-reset-release.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-uniqueptr-reset-release — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-unused-alias-decls" href="misc-unused-alias-decls.html" />
+    <link rel="prev" title="misc-undelegated-constructor" href="misc-undelegated-constructor.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-uniqueptr-reset-release</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-undelegated-constructor.html">misc-undelegated-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-alias-decls.html">misc-unused-alias-decls</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-uniqueptr-reset-release">
+<h1>misc-uniqueptr-reset-release<a class="headerlink" href="#misc-uniqueptr-reset-release" title="Permalink to this headline">¶</a></h1>
+<p>Find and replace <tt class="docutils literal"><span class="pre">unique_ptr::reset(release())</span></tt> with <tt class="docutils literal"><span class="pre">std::move()</span></tt>.</p>
+<p>Example:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::unique_ptr<Foo> x, y;
+x.reset(y.release()); -> x = std::move(y);
+</pre></div>
+</div>
+<p>If <tt class="docutils literal"><span class="pre">y</span></tt> is already rvalue, <tt class="docutils literal"><span class="pre">std::move()</span></tt> is not added.  <tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> can also
+be <tt class="docutils literal"><span class="pre">std::unique_ptr<Foo>*</span></tt>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-undelegated-constructor.html">misc-undelegated-constructor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-alias-decls.html">misc-unused-alias-decls</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-alias-decls.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-alias-decls.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-alias-decls.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-alias-decls.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-unused-alias-decls — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-unused-parameters" href="misc-unused-parameters.html" />
+    <link rel="prev" title="misc-uniqueptr-reset-release" href="misc-uniqueptr-reset-release.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-unused-alias-decls</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-uniqueptr-reset-release.html">misc-uniqueptr-reset-release</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-parameters.html">misc-unused-parameters</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-unused-alias-decls">
+<h1>misc-unused-alias-decls<a class="headerlink" href="#misc-unused-alias-decls" title="Permalink to this headline">¶</a></h1>
+<p>Finds unused namespace alias declarations.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-uniqueptr-reset-release.html">misc-uniqueptr-reset-release</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-parameters.html">misc-unused-parameters</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-parameters.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-parameters.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-parameters.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-parameters.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-unused-parameters — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-unused-raii" href="misc-unused-raii.html" />
+    <link rel="prev" title="misc-unused-alias-decls" href="misc-unused-alias-decls.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-unused-parameters</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-unused-alias-decls.html">misc-unused-alias-decls</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-raii.html">misc-unused-raii</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-unused-parameters">
+<h1>misc-unused-parameters<a class="headerlink" href="#misc-unused-parameters" title="Permalink to this headline">¶</a></h1>
+<p>Finds unused parameters and fixes them, so that <cite>-Wunused-parameter</cite> can be
+turned on.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-unused-alias-decls.html">misc-unused-alias-decls</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-raii.html">misc-unused-raii</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-raii.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-raii.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-raii.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-raii.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-unused-raii — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-unused-using-decls" href="misc-unused-using-decls.html" />
+    <link rel="prev" title="misc-unused-parameters" href="misc-unused-parameters.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-unused-raii</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-unused-parameters.html">misc-unused-parameters</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-using-decls.html">misc-unused-using-decls</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-unused-raii">
+<h1>misc-unused-raii<a class="headerlink" href="#misc-unused-raii" title="Permalink to this headline">¶</a></h1>
+<p>Finds temporaries that look like RAII objects.</p>
+<p>The canonical example for this is a scoped lock.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>{
+  scoped_lock(&global_mutex);
+  critical_section();
+}
+</pre></div>
+</div>
+<p>The destructor of the scoped_lock is called before the <tt class="docutils literal"><span class="pre">critical_section</span></tt> is
+entered, leaving it unprotected.</p>
+<p>We apply a number of heuristics to reduce the false positive count of this
+check:</p>
+<blockquote>
+<div><ul class="simple">
+<li>Ignore code expanded from macros. Testing frameworks make heavy use of this.</li>
+<li>Ignore types with trivial destructors. They are very unlikely to be RAII
+objects and there’s no difference when they are deleted.</li>
+<li>Ignore objects at the end of a compound statement (doesn’t change behavior).</li>
+<li>Ignore objects returned from a call.</li>
+</ul>
+</div></blockquote>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-unused-parameters.html">misc-unused-parameters</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-unused-using-decls.html">misc-unused-using-decls</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-using-decls.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-using-decls.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-using-decls.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-using-decls.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-unused-using-decls — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="misc-virtual-near-miss" href="misc-virtual-near-miss.html" />
+    <link rel="prev" title="misc-unused-raii" href="misc-unused-raii.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-unused-using-decls</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-unused-raii.html">misc-unused-raii</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-virtual-near-miss.html">misc-virtual-near-miss</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-unused-using-decls">
+<h1>misc-unused-using-decls<a class="headerlink" href="#misc-unused-using-decls" title="Permalink to this headline">¶</a></h1>
+<p>Finds unused <tt class="docutils literal"><span class="pre">using</span></tt> declarations.</p>
+<p>Example:</p>
+<pre class="code c++ literal-block">
+<span class="keyword">namespace</span> <span class="name">n</span> <span class="punctuation">{</span> <span class="keyword">class</span> <span class="name class">C</span><span class="punctuation">;</span> <span class="punctuation">}</span>
+<span class="keyword">using</span> <span class="name">n</span><span class="operator">::</span><span class="name">C</span><span class="punctuation">;</span>  <span class="comment single">// Never actually used.
+</span>
+</pre>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-unused-raii.html">misc-unused-raii</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="misc-virtual-near-miss.html">misc-virtual-near-miss</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-virtual-near-miss.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-virtual-near-miss.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-virtual-near-miss.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/misc-virtual-near-miss.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - misc-virtual-near-miss — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-avoid-bind" href="modernize-avoid-bind.html" />
+    <link rel="prev" title="misc-unused-using-decls" href="misc-unused-using-decls.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - misc-virtual-near-miss</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-unused-using-decls.html">misc-unused-using-decls</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-avoid-bind.html">modernize-avoid-bind</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="misc-virtual-near-miss">
+<h1>misc-virtual-near-miss<a class="headerlink" href="#misc-virtual-near-miss" title="Permalink to this headline">¶</a></h1>
+<p>Warn if a function is a near miss (ie. the name is very similar and the function
+signiture is the same) to a virtual function from a base class.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">struct</span> <span class="n">Base</span> <span class="p">{</span>
+  <span class="k">virtual</span> <span class="kt">void</span> <span class="n">func</span><span class="p">();</span>
+<span class="p">};</span>
+
+<span class="k">struct</span> <span class="n">Derived</span> <span class="o">:</span> <span class="n">Base</span> <span class="p">{</span>
+  <span class="k">virtual</span> <span class="n">funk</span><span class="p">();</span>
+  <span class="c1">// warning: 'Derived::funk' has a similar name and the same signature as virtual method 'Base::func'; did you mean to override it?</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-unused-using-decls.html">misc-unused-using-decls</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-avoid-bind.html">modernize-avoid-bind</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-avoid-bind.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-avoid-bind.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-avoid-bind.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-avoid-bind.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-avoid-bind — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-deprecated-headers" href="modernize-deprecated-headers.html" />
+    <link rel="prev" title="misc-virtual-near-miss" href="misc-virtual-near-miss.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-avoid-bind</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="misc-virtual-near-miss.html">misc-virtual-near-miss</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-deprecated-headers.html">modernize-deprecated-headers</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-avoid-bind">
+<h1>modernize-avoid-bind<a class="headerlink" href="#modernize-avoid-bind" title="Permalink to this headline">¶</a></h1>
+<p>The check finds uses of <tt class="docutils literal"><span class="pre">std::bind</span></tt> and replaces simple uses with lambdas.
+Lambdas will use value-capture where required.</p>
+<p>Right now it only handles free functions, not member functions.</p>
+<p>Given:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>int add(int x, int y) { return x + y; }
+</pre></div>
+</div>
+<p>Then:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>void f() {
+  int x = 2;
+  auto clj = std::bind(add, x, _1);
+}
+</pre></div>
+</div>
+<p>is replaced by:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>void f() {
+  int x = 2;
+  auto clj = [=](auto && arg1) { return add(x, arg1); };
+}
+</pre></div>
+</div>
+<p><tt class="docutils literal"><span class="pre">std::bind</span></tt> can be hard to read and can result in larger object files and
+binaries due to type information that will not be produced by equivalent
+lambdas.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="misc-virtual-near-miss.html">misc-virtual-near-miss</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-deprecated-headers.html">modernize-deprecated-headers</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-deprecated-headers — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-loop-convert" href="modernize-loop-convert.html" />
+    <link rel="prev" title="modernize-avoid-bind" href="modernize-avoid-bind.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-deprecated-headers</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-avoid-bind.html">modernize-avoid-bind</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-loop-convert.html">modernize-loop-convert</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-deprecated-headers">
+<h1>modernize-deprecated-headers<a class="headerlink" href="#modernize-deprecated-headers" title="Permalink to this headline">¶</a></h1>
+<p>Some headers from C library were deprecated in C++ and are no longer welcome in
+C++ codebases. For more details refer to the C++ 14 Standard [depr.c.headers]
+section.</p>
+<p>This check replaces C standard library headers with their C++ alternatives.</p>
+<p>Improtant note: the Standard doesn’t guarantee that the C++ headers declare all
+the same functions in the global namespace. The check in its current form can
+break the code that uses library symbols from the global namespace.</p>
+<ul class="simple">
+<li><cite><assert.h></cite></li>
+<li><cite><complex.h></cite></li>
+<li><cite><ctype.h></cite></li>
+<li><cite><errno.h></cite></li>
+<li><cite><fenv.h></cite>     // deprecated since C++11</li>
+<li><cite><float.h></cite></li>
+<li><cite><inttypes.h></cite></li>
+<li><cite><iso646.h></cite></li>
+<li><cite><limits.h></cite></li>
+<li><cite><locale.h></cite></li>
+<li><cite><math.h></cite></li>
+<li><cite><setjmp.h></cite></li>
+<li><cite><signal.h></cite></li>
+<li><cite><stdalign.h></cite> // deprecated since C++11</li>
+<li><cite><stdarg.h></cite></li>
+<li><cite><stdbool.h></cite>  // deprecated since C++11</li>
+<li><cite><stddef.h></cite></li>
+<li><cite><stdint.h></cite></li>
+<li><cite><stdio.h></cite></li>
+<li><cite><stdlib.h></cite></li>
+<li><cite><string.h></cite></li>
+<li><cite><tgmath.h></cite>   // deprecated since C++11</li>
+<li><cite><time.h></cite></li>
+<li><cite><uchar.h></cite>    // deprecated since C++11</li>
+<li><cite><wchar.h></cite></li>
+<li><cite><wctype.h></cite></li>
+</ul>
+<p>If the specified standard is older than C++11 the check will only replace
+headers deprecated before C++11, otherwise – every header that appeared in
+the list.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-avoid-bind.html">modernize-avoid-bind</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-loop-convert.html">modernize-loop-convert</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-loop-convert.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-loop-convert.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-loop-convert.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-loop-convert.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,295 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-loop-convert — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-make-shared" href="modernize-make-shared.html" />
+    <link rel="prev" title="modernize-deprecated-headers" href="modernize-deprecated-headers.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-loop-convert</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-deprecated-headers.html">modernize-deprecated-headers</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-make-shared.html">modernize-make-shared</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-loop-convert">
+<h1>modernize-loop-convert<a class="headerlink" href="#modernize-loop-convert" title="Permalink to this headline">¶</a></h1>
+<p>This check converts <tt class="docutils literal"><span class="pre">for(...;</span> <span class="pre">...;</span> <span class="pre">...)</span></tt> loops to use the new range-based
+loops in C++11.</p>
+<p>Three kinds of loops can be converted:</p>
+<ul class="simple">
+<li>Loops over statically allocated arrays.</li>
+<li>Loops over containers, using iterators.</li>
+<li>Loops over array-like containers, using <tt class="docutils literal"><span class="pre">operator[]</span></tt> and <tt class="docutils literal"><span class="pre">at()</span></tt>.</li>
+</ul>
+<div class="section" id="minconfidence-option">
+<h2>MinConfidence option<a class="headerlink" href="#minconfidence-option" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="risky">
+<h3>risky<a class="headerlink" href="#risky" title="Permalink to this headline">¶</a></h3>
+<p>In loops where the container expression is more complex than just a
+reference to a declared expression (a variable, function, enum, etc.),
+and some part of it appears elsewhere in the loop, we lower our confidence
+in the transformation due to the increased risk of changing semantics.
+Transformations for these loops are marked as <cite>risky</cite>, and thus will only
+be converted if the minimum required confidence level is set to <cite>risky</cite>.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">int</span> <span class="n">arr</span><span class="p">[</span><span class="mi">10</span><span class="p">][</span><span class="mi">20</span><span class="p">];</span>
+<span class="kt">int</span> <span class="n">l</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+
+<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o"><</span> <span class="mi">20</span><span class="p">;</span> <span class="o">++</span><span class="n">j</span><span class="p">)</span>
+  <span class="kt">int</span> <span class="n">k</span> <span class="o">=</span> <span class="n">arr</span><span class="p">[</span><span class="n">l</span><span class="p">][</span><span class="n">j</span><span class="p">]</span> <span class="o">+</span> <span class="n">l</span><span class="p">;</span> <span class="c1">// using l outside arr[l] is considered risky</span>
+
+<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">obj</span><span class="p">.</span><span class="n">getVector</span><span class="p">().</span><span class="n">size</span><span class="p">();</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span>
+  <span class="n">obj</span><span class="p">.</span><span class="n">foo</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span> <span class="c1">// using 'obj' is considered risky</span>
+</pre></div>
+</div>
+<p>See
+<a class="reference internal" href="#incorrectriskytransformation"><em>Range-based loops evaluate end() only once</em></a>
+for an example of an incorrect transformation when the minimum required confidence
+level is set to <cite>risky</cite>.</p>
+</div>
+<div class="section" id="reasonable-default">
+<h3>reasonable (Default)<a class="headerlink" href="#reasonable-default" title="Permalink to this headline">¶</a></h3>
+<p>If a loop calls <tt class="docutils literal"><span class="pre">.end()</span></tt> or <tt class="docutils literal"><span class="pre">.size()</span></tt> after each iteration, the
+transformation for that loop is marked as <cite>reasonable</cite>, and thus will
+be converted if the required confidence level is set to <cite>reasonable</cite>
+(default) or lower.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="c1">// using size() is considered reasonable</span>
+<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">container</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">container</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="safe">
+<h3>safe<a class="headerlink" href="#safe" title="Permalink to this headline">¶</a></h3>
+<p>Any other loops that do not match the above criteria to be marked as
+<cite>risky</cite> or <cite>reasonable</cite> are marked <cite>safe</cite>, and thus will be converted
+if the required confidence level is set to <cite>safe</cite> or lower.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">int</span> <span class="n">arr</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">};</span>
+
+<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">3</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
+<p>Original:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">const</span> <span class="kt">int</span> <span class="n">N</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="kt">int</span> <span class="n">arr</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">};</span>
+<span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">v</span><span class="p">;</span>
+<span class="n">v</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<span class="n">v</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
+<span class="n">v</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">3</span><span class="p">);</span>
+
+<span class="c1">// safe conversion</span>
+<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">N</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">arr</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+
+<span class="c1">// reasonable conversion</span>
+<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">v</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">v</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+
+<span class="c1">// reasonable conversion</span>
+<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">v</span><span class="p">.</span><span class="n">size</span><span class="p">();</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">v</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+</pre></div>
+</div>
+<p>After applying the check with minimum confidence level set to <cite>reasonable</cite> (default):</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">const</span> <span class="kt">int</span> <span class="n">N</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="kt">int</span> <span class="n">arr</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">};</span>
+<span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">v</span><span class="p">;</span>
+<span class="n">v</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<span class="n">v</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
+<span class="n">v</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="mi">3</span><span class="p">);</span>
+
+<span class="c1">// safe conversion</span>
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="o">&</span> <span class="n">elem</span> <span class="o">:</span> <span class="n">arr</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">elem</span><span class="p">;</span>
+
+<span class="c1">// reasonable conversion</span>
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="o">&</span> <span class="n">elem</span> <span class="o">:</span> <span class="n">v</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">elem</span><span class="p">;</span>
+
+<span class="c1">// reasonable conversion</span>
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="o">&</span> <span class="n">elem</span> <span class="o">:</span> <span class="n">v</span><span class="p">)</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">elem</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="limitations">
+<h2>Limitations<a class="headerlink" href="#limitations" title="Permalink to this headline">¶</a></h2>
+<p>There are certain situations where the tool may erroneously perform
+transformations that remove information and change semantics. Users of the tool
+should be aware of the behaviour and limitations of the check outlined by
+the cases below.</p>
+<div class="section" id="comments-inside-loop-headers">
+<h3>Comments inside loop headers<a class="headerlink" href="#comments-inside-loop-headers" title="Permalink to this headline">¶</a></h3>
+<p>Comments inside the original loop header are ignored and deleted when
+transformed.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">N</span><span class="p">;</span> <span class="cm">/* This will be deleted */</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="range-based-loops-evaluate-end-only-once">
+<h3>Range-based loops evaluate end() only once<a class="headerlink" href="#range-based-loops-evaluate-end-only-once" title="Permalink to this headline">¶</a></h3>
+<p>The C++11 range-based for loop calls <tt class="docutils literal"><span class="pre">.end()</span></tt> only once during the
+initialization of the loop. If in the original loop <tt class="docutils literal"><span class="pre">.end()</span></tt> is called after
+each iteration the semantics of the transformed loop may differ.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="c1">// The following is semantically equivalent to the C++11 range-based for loop,</span>
+<span class="c1">// therefore the semantics of the header will not change.</span>
+<span class="k">for</span> <span class="p">(</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">container</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span> <span class="n">e</span> <span class="o">=</span> <span class="n">container</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">e</span><span class="p">;</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
+
+<span class="c1">// Instead of calling .end() after each iteration, this loop will be</span>
+<span class="c1">// transformed to call .end() only once during the initialization of the loop,</span>
+<span class="c1">// which may affect semantics.</span>
+<span class="k">for</span> <span class="p">(</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">container</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">container</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
+</pre></div>
+</div>
+<p id="incorrectriskytransformation">As explained above, calling member functions of the container in the body
+of the loop is considered <cite>risky</cite>. If the called member function modifies the
+container the semantics of the converted loop will differ due to <tt class="docutils literal"><span class="pre">.end()</span></tt>
+being called only once.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">bool</span> <span class="n">flag</span> <span class="o">=</span> <span class="nb">false</span><span class="p">;</span>
+<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o"><</span><span class="n">T</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">vec</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">vec</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span>
+  <span class="c1">// Add a copy of the first element to the end of the vector.</span>
+  <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
+    <span class="c1">// This line makes this transformation 'risky'.</span>
+    <span class="n">vec</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="o">*</span><span class="n">it</span><span class="p">);</span>
+    <span class="n">flag</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span>
+  <span class="p">}</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The original code above prints out the contents of the container including the
+newly added element while the converted loop, shown below, will only print the
+original contents and not the newly added element.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">bool</span> <span class="n">flag</span> <span class="o">=</span> <span class="nb">false</span><span class="p">;</span>
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="o">&</span> <span class="n">elem</span> <span class="o">:</span> <span class="n">vec</span><span class="p">)</span> <span class="p">{</span>
+  <span class="c1">// Add a copy of the first element to the end of the vector.</span>
+  <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
+    <span class="c1">// This line makes this transformation 'risky'</span>
+    <span class="n">vec</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">elem</span><span class="p">);</span>
+    <span class="n">flag</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span>
+  <span class="p">}</span>
+  <span class="n">cout</span> <span class="o"><<</span> <span class="n">elem</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Semantics will also be affected if <tt class="docutils literal"><span class="pre">.end()</span></tt> has side effects. For example, in
+the case where calls to <tt class="docutils literal"><span class="pre">.end()</span></tt> are logged the semantics will change in the
+transformed loop if <tt class="docutils literal"><span class="pre">.end()</span></tt> was originally called after each iteration.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">iterator</span> <span class="nf">end</span><span class="p">()</span> <span class="p">{</span>
+  <span class="n">num_of_end_calls</span><span class="o">++</span><span class="p">;</span>
+  <span class="k">return</span> <span class="n">container</span><span class="p">.</span><span class="n">end</span><span class="p">();</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="overloaded-operator-with-side-effects">
+<h3>Overloaded operator->() with side effects<a class="headerlink" href="#overloaded-operator-with-side-effects" title="Permalink to this headline">¶</a></h3>
+<p>Similarly, if <tt class="docutils literal"><span class="pre">operator->()</span></tt> was overloaded to have side effects, such as
+logging, the semantics will change. If the iterator’s <tt class="docutils literal"><span class="pre">operator->()</span></tt> was used
+in the original loop it will be replaced with <tt class="docutils literal"><span class="pre"><container</span> <span class="pre">element>.<member></span></tt>
+instead due to the implicit dereference as part of the range-based for loop.
+Therefore any side effect of the overloaded <tt class="docutils literal"><span class="pre">operator->()</span></tt> will no longer be
+performed.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">for</span> <span class="p">(</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">c</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">c</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">it</span><span class="o">-></span><span class="n">func</span><span class="p">();</span> <span class="c1">// Using operator->()</span>
+<span class="p">}</span>
+<span class="c1">// Will be transformed to:</span>
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="o">&</span> <span class="n">elem</span> <span class="o">:</span> <span class="n">c</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">elem</span><span class="p">.</span><span class="n">func</span><span class="p">();</span> <span class="c1">// No longer using operator->()</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="pointers-and-references-to-containers">
+<h3>Pointers and references to containers<a class="headerlink" href="#pointers-and-references-to-containers" title="Permalink to this headline">¶</a></h3>
+<p>While most of the check’s risk analysis is dedicated to determining whether
+the iterator or container was modified within the loop, it is possible to
+circumvent the analysis by accessing and modifying the container through a
+pointer or reference.</p>
+<p>If the container were directly used instead of using the pointer or reference
+the following transformation would have only been applied at the <cite>risky</cite>
+level since calling a member function of the container is considered <cite>risky</cite>.
+The check cannot identify expressions associated with the container that are
+different than the one used in the loop header, therefore the transformation
+below ends up being performed at the <cite>safe</cite> level.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">vec</span><span class="p">;</span>
+
+<span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="o">&</span><span class="n">vec</span><span class="p">;</span>
+<span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="o">&</span><span class="n">ref</span> <span class="o">=</span> <span class="n">vec</span><span class="p">;</span>
+
+<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">vec</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span> <span class="n">e</span> <span class="o">=</span> <span class="n">vec</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">e</span><span class="p">;</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span>
+  <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">flag</span><span class="p">)</span> <span class="p">{</span>
+    <span class="c1">// Accessing and modifying the container is considered risky, but the risk</span>
+    <span class="c1">// level is not raised here.</span>
+    <span class="n">ptr</span><span class="o">-></span><span class="n">push_back</span><span class="p">(</span><span class="o">*</span><span class="n">it</span><span class="p">);</span>
+    <span class="n">ref</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="o">*</span><span class="n">it</span><span class="p">);</span>
+    <span class="n">flag</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-deprecated-headers.html">modernize-deprecated-headers</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-make-shared.html">modernize-make-shared</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-shared.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-shared.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-shared.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-shared.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-make-shared — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-make-unique" href="modernize-make-unique.html" />
+    <link rel="prev" title="modernize-loop-convert" href="modernize-loop-convert.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-make-shared</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-loop-convert.html">modernize-loop-convert</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-make-unique.html">modernize-make-unique</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-make-shared">
+<h1>modernize-make-shared<a class="headerlink" href="#modernize-make-shared" title="Permalink to this headline">¶</a></h1>
+<p>This check finds the creation of <tt class="docutils literal"><span class="pre">std::shared_ptr</span></tt> objects by explicitly
+calling the constructor and a <tt class="docutils literal"><span class="pre">new</span></tt> expression, and replaces it with a call
+to <tt class="docutils literal"><span class="pre">std::make_shared</span></tt>.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">auto</span> <span class="n">my_ptr</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">MyPair</span><span class="o">></span><span class="p">(</span><span class="k">new</span> <span class="n">MyPair</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">));</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">auto</span> <span class="n">my_ptr</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">make_shared</span><span class="o"><</span><span class="n">MyPair</span><span class="o">></span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-loop-convert.html">modernize-loop-convert</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-make-unique.html">modernize-make-unique</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-unique.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-unique.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-unique.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-unique.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-make-unique — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-pass-by-value" href="modernize-pass-by-value.html" />
+    <link rel="prev" title="modernize-make-shared" href="modernize-make-shared.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-make-unique</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-make-shared.html">modernize-make-shared</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-pass-by-value.html">modernize-pass-by-value</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-make-unique">
+<h1>modernize-make-unique<a class="headerlink" href="#modernize-make-unique" title="Permalink to this headline">¶</a></h1>
+<p>This check finds the creation of <tt class="docutils literal"><span class="pre">std::unique_ptr</span></tt> objects by explicitly
+calling the constructor and a <tt class="docutils literal"><span class="pre">new</span></tt> expression, and replaces it with a call
+to <tt class="docutils literal"><span class="pre">std::make_unique</span></tt>, introduced in C++14.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">auto</span> <span class="n">my_ptr</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">MyPair</span><span class="o">></span><span class="p">(</span><span class="k">new</span> <span class="n">MyPair</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">));</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">auto</span> <span class="n">my_ptr</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">MyPair</span><span class="o">></span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-make-shared.html">modernize-make-shared</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-pass-by-value.html">modernize-pass-by-value</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-pass-by-value.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-pass-by-value.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-pass-by-value.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-pass-by-value.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-pass-by-value — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-raw-string-literal" href="modernize-raw-string-literal.html" />
+    <link rel="prev" title="modernize-make-unique" href="modernize-make-unique.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-pass-by-value</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-make-unique.html">modernize-make-unique</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-raw-string-literal.html">modernize-raw-string-literal</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-pass-by-value">
+<h1>modernize-pass-by-value<a class="headerlink" href="#modernize-pass-by-value" title="Permalink to this headline">¶</a></h1>
+<p>With move semantics added to the language and the standard library updated with
+move constructors added for many types it is now interesting to take an
+argument directly by value, instead of by const-reference, and then copy. This
+check allows the compiler to take care of choosing the best way to construct
+the copy.</p>
+<p>The transformation is usually beneficial when the calling code passes an
+<em>rvalue</em> and assumes the move construction is a cheap operation. This short
+example illustrates how the construction of the value happens:</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">s</span><span class="p">);</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">get_str</span><span class="p">();</span>
+
+<span class="kt">void</span> <span class="nf">f</span><span class="p">(</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="o">&</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">foo</span><span class="p">(</span><span class="n">str</span><span class="p">);</span>       <span class="c1">// lvalue  -> copy construction</span>
+  <span class="n">foo</span><span class="p">(</span><span class="n">get_str</span><span class="p">());</span> <span class="c1">// prvalue -> move construction</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div></blockquote>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Currently, only constructors are transformed to make use of pass-by-value.
+Contributions that handle other situations are welcome!</p>
+</div>
+<div class="section" id="pass-by-value-in-constructors">
+<h2>Pass-by-value in constructors<a class="headerlink" href="#pass-by-value-in-constructors" title="Permalink to this headline">¶</a></h2>
+<p>Replaces the uses of const-references constructor parameters that are copied
+into class fields. The parameter is then moved with <cite>std::move()</cite>.</p>
+<p>Since <tt class="docutils literal"><span class="pre">std::move()</span></tt> is a library function declared in <cite><utility></cite> it may be
+necessary to add this include. The check will add the include directive when
+necessary.</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre> #include <string>
+
+ class Foo {
+ public:
+-  Foo(const std::string &Copied, const std::string &ReadOnly)
+-    : Copied(Copied), ReadOnly(ReadOnly)
++  Foo(std::string Copied, const std::string &ReadOnly)
++    : Copied(std::move(Copied)), ReadOnly(ReadOnly)
+   {}
+
+ private:
+   std::string Copied;
+   const std::string &ReadOnly;
+ };
+
+ std::string get_cwd();
+
+ void f(const std::string &Path) {
+   // The parameter corresponding to 'get_cwd()' is move-constructed. By
+   // using pass-by-value in the Foo constructor we managed to avoid a
+   // copy-construction.
+   Foo foo(get_cwd(), Path);
+ }
+</pre></div>
+</div>
+</div></blockquote>
+<p>If the parameter is used more than once no transformation is performed since
+moved objects have an undefined state. It means the following code will be left
+untouched:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#include <string></span>
+
+<span class="kt">void</span> <span class="nf">pass</span><span class="p">(</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="o">&</span><span class="n">S</span><span class="p">);</span>
+
+<span class="k">struct</span> <span class="n">Foo</span> <span class="p">{</span>
+  <span class="n">Foo</span><span class="p">(</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="o">&</span><span class="n">S</span><span class="p">)</span> <span class="o">:</span> <span class="n">Str</span><span class="p">(</span><span class="n">S</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">pass</span><span class="p">(</span><span class="n">S</span><span class="p">);</span>
+  <span class="p">}</span>
+
+  <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">Str</span><span class="p">;</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<div class="section" id="known-limitations">
+<h3>Known limitations<a class="headerlink" href="#known-limitations" title="Permalink to this headline">¶</a></h3>
+<p>A situation where the generated code can be wrong is when the object referenced
+is modified before the assignment in the init-list through a “hidden” reference.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">s</span><span class="p">(</span><span class="s">"foo"</span><span class="p">);</span>
+
+ <span class="k">struct</span> <span class="n">Base</span> <span class="p">{</span>
+   <span class="n">Base</span><span class="p">()</span> <span class="p">{</span>
+     <span class="n">s</span> <span class="o">=</span> <span class="s">"bar"</span><span class="p">;</span>
+   <span class="p">}</span>
+ <span class="p">};</span>
+
+ <span class="k">struct</span> <span class="n">Derived</span> <span class="o">:</span> <span class="n">Base</span> <span class="p">{</span>
+<span class="o">-</span>  <span class="n">Derived</span><span class="p">(</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="o">&</span><span class="n">S</span><span class="p">)</span> <span class="o">:</span> <span class="n">Field</span><span class="p">(</span><span class="n">S</span><span class="p">)</span>
+<span class="o">+</span>  <span class="n">Derived</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">S</span><span class="p">)</span> <span class="o">:</span> <span class="n">Field</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">S</span><span class="p">))</span>
+   <span class="p">{</span> <span class="p">}</span>
+
+   <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">Field</span><span class="p">;</span>
+ <span class="p">};</span>
+
+ <span class="kt">void</span> <span class="nf">f</span><span class="p">()</span> <span class="p">{</span>
+<span class="o">-</span>  <span class="n">Derived</span> <span class="n">d</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="c1">// d.Field holds "bar"</span>
+<span class="o">+</span>  <span class="n">Derived</span> <span class="n">d</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="c1">// d.Field holds "foo"</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="note-about-delayed-template-parsing">
+<h3>Note about delayed template parsing<a class="headerlink" href="#note-about-delayed-template-parsing" title="Permalink to this headline">¶</a></h3>
+<p>When delayed template parsing is enabled, constructors part of templated
+contexts; templated constructors, constructors in class templates, constructors
+of inner classes of template classes, etc., are not transformed. Delayed
+template parsing is enabled by default on Windows as a Microsoft extension:
+<a class="reference external" href="http://clang.llvm.org/docs/UsersManual.html#microsoft-extensions">Clang Compiler User’s Manual - Microsoft extensions</a>.</p>
+<p>Delayed template parsing can be enabled using the <cite>-fdelayed-template-parsing</cite>
+flag and disabled using <cite>-fno-delayed-template-parsing</cite>.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre>  <span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">T</span><span class="o">></span> <span class="k">class</span> <span class="nc">C</span> <span class="p">{</span>
+    <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">S</span><span class="p">;</span>
+
+  <span class="nl">public:</span>
+<span class="o">=</span>  <span class="c1">// using -fdelayed-template-parsing (default on Windows)</span>
+<span class="o">=</span>  <span class="n">C</span><span class="p">(</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="o">&</span><span class="n">S</span><span class="p">)</span> <span class="o">:</span> <span class="n">S</span><span class="p">(</span><span class="n">S</span><span class="p">)</span> <span class="p">{}</span>
+
+<span class="o">+</span>  <span class="c1">// using -fno-delayed-template-parsing (default on non-Windows systems)</span>
+<span class="o">+</span>  <span class="n">C</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">S</span><span class="p">)</span> <span class="o">:</span> <span class="n">S</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">S</span><span class="p">))</span> <span class="p">{}</span>
+  <span class="p">};</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="first admonition-title">See also</p>
+<p class="last">For more information about the pass-by-value idiom, read: <a class="reference external" href="http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/">Want Speed? Pass by Value</a>.</p>
+</div>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-make-unique.html">modernize-make-unique</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-raw-string-literal.html">modernize-raw-string-literal</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-raw-string-literal.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-raw-string-literal.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-raw-string-literal.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-raw-string-literal.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-raw-string-literal — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-redundant-void-arg" href="modernize-redundant-void-arg.html" />
+    <link rel="prev" title="modernize-pass-by-value" href="modernize-pass-by-value.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-raw-string-literal</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-pass-by-value.html">modernize-pass-by-value</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-redundant-void-arg.html">modernize-redundant-void-arg</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-raw-string-literal">
+<h1>modernize-raw-string-literal<a class="headerlink" href="#modernize-raw-string-literal" title="Permalink to this headline">¶</a></h1>
+<p>This check selectively replaces string literals containing escaped characters
+with raw string literals.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Quotes</span><span class="p">{</span><span class="s">"embedded </span><span class="se">\"</span><span class="s">quotes</span><span class="se">\"</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Paragraph</span><span class="p">{</span><span class="s">"Line one.</span><span class="se">\n</span><span class="s">Line two.</span><span class="se">\n</span><span class="s">Line three.</span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">SingleLine</span><span class="p">{</span><span class="s">"Single line.</span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">TrailingSpace</span><span class="p">{</span><span class="s">"Look here -> </span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Tab</span><span class="p">{</span><span class="s">"One</span><span class="se">\t</span><span class="s">Two</span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Bell</span><span class="p">{</span><span class="s">"Hello!</span><span class="se">\a</span><span class="s">  And welcome!"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Path</span><span class="p">{</span><span class="s">"C:</span><span class="se">\\</span><span class="s">Program Files</span><span class="se">\\</span><span class="s">Vendor</span><span class="se">\\</span><span class="s">Application.exe"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">RegEx</span><span class="p">{</span><span class="s">"</span><span class="se">\\</span><span class="s">w</span><span class="se">\\</span><span class="s">([a-z]</span><span class="se">\\</span><span class="s">)"</span><span class="p">};</span>
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Quotes</span><span class="p">{</span><span class="n">R</span><span class="s">"(embedded "</span><span class="n">quotes</span><span class="s">")"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Paragraph</span><span class="p">{</span><span class="s">"Line one.</span><span class="se">\n</span><span class="s">Line two.</span><span class="se">\n</span><span class="s">Line three.</span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">SingleLine</span><span class="p">{</span><span class="s">"Single line.</span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">TrailingSpace</span><span class="p">{</span><span class="s">"Look here -> </span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Tab</span><span class="p">{</span><span class="s">"One</span><span class="se">\t</span><span class="s">Two</span><span class="se">\n</span><span class="s">"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Bell</span><span class="p">{</span><span class="s">"Hello!</span><span class="se">\a</span><span class="s">  And welcome!"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">Path</span><span class="p">{</span><span class="n">R</span><span class="s">"(C:\Program Files\Vendor\Application.exe)"</span><span class="p">};</span>
+<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="k">const</span> <span class="n">RegEx</span><span class="p">{</span><span class="n">R</span><span class="s">"(\w\([a-z]\))"</span><span class="p">};</span>
+</pre></div>
+</div>
+<p>The presence of any of the following escapes can cause the string to be
+converted to a raw string literal: <tt class="docutils literal"><span class="pre">\\</span></tt>, <tt class="docutils literal"><span class="pre">\'</span></tt>, <tt class="docutils literal"><span class="pre">\"</span></tt>, <tt class="docutils literal"><span class="pre">\?</span></tt>,
+and octal or hexadecimal escapes for printable ASCII characters.</p>
+<p>A string literal containing only escaped newlines is a common way of
+writing lines of text output.  Introducing physical newlines with raw
+string literals in this case is likely to impede readability.  These
+string literals are left unchanged.</p>
+<p>An escaped horizontal tab, form feed, or vertical tab prevents the string
+literal from being converted.  The presence of a horizontal tab, form feed or
+vertical tab in source code is not visually obvious.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-pass-by-value.html">modernize-pass-by-value</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-redundant-void-arg.html">modernize-redundant-void-arg</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-redundant-void-arg.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-redundant-void-arg.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-redundant-void-arg.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-redundant-void-arg.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-redundant-void-arg — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-replace-auto-ptr" href="modernize-replace-auto-ptr.html" />
+    <link rel="prev" title="modernize-raw-string-literal" href="modernize-raw-string-literal.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-redundant-void-arg</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-raw-string-literal.html">modernize-raw-string-literal</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-replace-auto-ptr.html">modernize-replace-auto-ptr</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-redundant-void-arg">
+<h1>modernize-redundant-void-arg<a class="headerlink" href="#modernize-redundant-void-arg" title="Permalink to this headline">¶</a></h1>
+<p>Find and remove redundant <tt class="docutils literal"><span class="pre">void</span></tt> argument lists.</p>
+<dl class="docutils">
+<dt>Examples:</dt>
+<dd><table border="1" class="first last docutils">
+<colgroup>
+<col width="56%" />
+<col width="44%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Initial code</th>
+<th class="head">Code with applied fixes</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">int</span> <span class="pre">f(void);</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">int</span> <span class="pre">f();</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">int</span> <span class="pre">(*f(void))(void);</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">int</span> <span class="pre">(*f())();</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">typedef</span> <span class="pre">int</span> <span class="pre">(*f_t(void))(void);</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">typedef</span> <span class="pre">int</span> <span class="pre">(*f_t())();</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">void</span> <span class="pre">(C::*p)(void);</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">void</span> <span class="pre">(C::*p)();</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">C::C(void)</span> <span class="pre">{}</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">C::C()</span> <span class="pre">{}</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">C::~C(void)</span> <span class="pre">{}</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">C::~C()</span> <span class="pre">{}</span></tt></td>
+</tr>
+</tbody>
+</table>
+</dd>
+</dl>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-raw-string-literal.html">modernize-raw-string-literal</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-replace-auto-ptr.html">modernize-replace-auto-ptr</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-replace-auto-ptr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-replace-auto-ptr.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-replace-auto-ptr.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-replace-auto-ptr.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-replace-auto-ptr — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-shrink-to-fit" href="modernize-shrink-to-fit.html" />
+    <link rel="prev" title="modernize-redundant-void-arg" href="modernize-redundant-void-arg.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-replace-auto-ptr</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-redundant-void-arg.html">modernize-redundant-void-arg</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-shrink-to-fit.html">modernize-shrink-to-fit</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-replace-auto-ptr">
+<h1>modernize-replace-auto-ptr<a class="headerlink" href="#modernize-replace-auto-ptr" title="Permalink to this headline">¶</a></h1>
+<p>This check replaces the uses of the deprecated class <tt class="docutils literal"><span class="pre">std::auto_ptr</span></tt> by
+<tt class="docutils literal"><span class="pre">std::unique_ptr</span></tt> (introduced in C++11). The transfer of ownership, done
+by the copy-constructor and the assignment operator, is changed to match
+<tt class="docutils literal"><span class="pre">std::unique_ptr</span></tt> usage by using explicit calls to <tt class="docutils literal"><span class="pre">std::move()</span></tt>.</p>
+<p>Migration example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="o">-</span><span class="kt">void</span> <span class="n">take_ownership_fn</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">int_ptr</span><span class="p">);</span>
+<span class="o">+</span><span class="kt">void</span> <span class="n">take_ownership_fn</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">int_ptr</span><span class="p">);</span>
+
+ <span class="kt">void</span> <span class="nf">f</span><span class="p">(</span><span class="kt">int</span> <span class="n">x</span><span class="p">)</span> <span class="p">{</span>
+<span class="o">-</span>  <span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">a</span><span class="p">(</span><span class="k">new</span> <span class="kt">int</span><span class="p">(</span><span class="n">x</span><span class="p">));</span>
+<span class="o">-</span>  <span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">b</span><span class="p">;</span>
+<span class="o">+</span>  <span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">a</span><span class="p">(</span><span class="k">new</span> <span class="kt">int</span><span class="p">(</span><span class="n">x</span><span class="p">));</span>
+<span class="o">+</span>  <span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">b</span><span class="p">;</span>
+
+<span class="o">-</span>  <span class="n">b</span> <span class="o">=</span> <span class="n">a</span><span class="p">;</span>
+<span class="o">-</span>  <span class="n">take_ownership_fn</span><span class="p">(</span><span class="n">b</span><span class="p">);</span>
+<span class="o">+</span>  <span class="n">b</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">a</span><span class="p">);</span>
+<span class="o">+</span>  <span class="n">take_ownership_fn</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">b</span><span class="p">));</span>
+ <span class="p">}</span>
+</pre></div>
+</div>
+<p>Since <tt class="docutils literal"><span class="pre">std::move()</span></tt> is a library function declared in <tt class="docutils literal"><span class="pre"><utility></span></tt> it may be
+necessary to add this include. The check will add the include directive when
+necessary.</p>
+<div class="section" id="known-limitations">
+<h2>Known Limitations<a class="headerlink" href="#known-limitations" title="Permalink to this headline">¶</a></h2>
+<ul>
+<li><p class="first">If headers modification is not activated or if a header is not allowed to be
+changed this check will produce broken code (compilation error), where the
+headers’ code will stay unchanged while the code using them will be changed.</p>
+</li>
+<li><p class="first">Client code that declares a reference to an <tt class="docutils literal"><span class="pre">std::auto_ptr</span></tt> coming from
+code that can’t be migrated (such as a header coming from a 3<sup>rd</sup>
+party library) will produce a compilation error after migration. This is
+because the type of the reference will be changed to <tt class="docutils literal"><span class="pre">std::unique_ptr</span></tt> but
+the type returned by the library won’t change, binding a reference to
+<tt class="docutils literal"><span class="pre">std::unique_ptr</span></tt> from an <tt class="docutils literal"><span class="pre">std::auto_ptr</span></tt>. This pattern doesn’t make much
+sense and usually <tt class="docutils literal"><span class="pre">std::auto_ptr</span></tt> are stored by value (otherwise what is
+the point in using them instead of a reference or a pointer?).</p>
+<div class="highlight-c++"><div class="highlight"><pre> <span class="c1">// <3rd-party header...></span>
+ <span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">get_value</span><span class="p">();</span>
+ <span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="o">&</span> <span class="n">get_ref</span><span class="p">();</span>
+
+ <span class="c1">// <calling code (with migration)...></span>
+<span class="o">-</span><span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">a</span><span class="p">(</span><span class="n">get_value</span><span class="p">());</span>
+<span class="o">+</span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">a</span><span class="p">(</span><span class="n">get_value</span><span class="p">());</span> <span class="c1">// ok, unique_ptr constructed from auto_ptr</span>
+
+<span class="o">-</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="o">&</span> <span class="n">p</span> <span class="o">=</span> <span class="n">get_ptr</span><span class="p">();</span>
+<span class="o">+</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="o">&</span> <span class="n">p</span> <span class="o">=</span> <span class="n">get_ptr</span><span class="p">();</span> <span class="c1">// won't compile</span>
+</pre></div>
+</div>
+</li>
+<li><p class="first">Non-instantiated templates aren’t modified.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">template</span> <span class="o"><</span><span class="k">typename</span> <span class="n">X</span><span class="o">></span>
+<span class="kt">void</span> <span class="n">f</span><span class="p">()</span> <span class="p">{</span>
+    <span class="n">std</span><span class="o">::</span><span class="n">auto_ptr</span><span class="o"><</span><span class="n">X</span><span class="o">></span> <span class="n">p</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="c1">// only 'f<int>()' (or similar) will trigger the replacement.</span>
+</pre></div>
+</div>
+</li>
+</ul>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-redundant-void-arg.html">modernize-redundant-void-arg</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-shrink-to-fit.html">modernize-shrink-to-fit</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-shrink-to-fit.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-shrink-to-fit.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-shrink-to-fit.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-shrink-to-fit.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-shrink-to-fit — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-auto" href="modernize-use-auto.html" />
+    <link rel="prev" title="modernize-replace-auto-ptr" href="modernize-replace-auto-ptr.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-shrink-to-fit</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-replace-auto-ptr.html">modernize-replace-auto-ptr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-auto.html">modernize-use-auto</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-shrink-to-fit">
+<h1>modernize-shrink-to-fit<a class="headerlink" href="#modernize-shrink-to-fit" title="Permalink to this headline">¶</a></h1>
+<p>Replace copy and swap tricks on shrinkable containers with the
+<tt class="docutils literal"><span class="pre">shrink_to_fit()</span></tt> method call.</p>
+<p>The <tt class="docutils literal"><span class="pre">shrink_to_fit()</span></tt> method is more readable and more effective than
+the copy and swap trick to reduce the capacity of a shrinkable container.
+Note that, the <tt class="docutils literal"><span class="pre">shrink_to_fit()</span></tt> method is only available in C++11 and up.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-replace-auto-ptr.html">modernize-replace-auto-ptr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-auto.html">modernize-use-auto</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-auto.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-auto.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-auto.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-auto.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-auto — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-bool-literals" href="modernize-use-bool-literals.html" />
+    <link rel="prev" title="modernize-shrink-to-fit" href="modernize-shrink-to-fit.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-auto</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-shrink-to-fit.html">modernize-shrink-to-fit</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-bool-literals.html">modernize-use-bool-literals</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-auto">
+<h1>modernize-use-auto<a class="headerlink" href="#modernize-use-auto" title="Permalink to this headline">¶</a></h1>
+<p>This check is responsible for using the <tt class="docutils literal"><span class="pre">auto</span></tt> type specifier for variable
+declarations to <em>improve code readability and maintainability</em>.  For example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">I</span> <span class="o">=</span> <span class="n">my_container</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
+
+<span class="c1">// transforms to:</span>
+
+<span class="k">auto</span> <span class="n">I</span> <span class="o">=</span> <span class="n">my_container</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
+</pre></div>
+</div>
+<p>The <tt class="docutils literal"><span class="pre">auto</span></tt> type specifier will only be introduced in situations where the
+variable type matches the type of the initializer expression. In other words
+<tt class="docutils literal"><span class="pre">auto</span></tt> should deduce the same type that was originally spelled in the source.
+However, not every situation should be transformed:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">int</span> <span class="n">val</span> <span class="o">=</span> <span class="mi">42</span><span class="p">;</span>
+<span class="n">InfoStruct</span> <span class="o">&</span><span class="n">I</span> <span class="o">=</span> <span class="n">SomeObject</span><span class="p">.</span><span class="n">getInfo</span><span class="p">();</span>
+
+<span class="c1">// Should not become:</span>
+
+<span class="k">auto</span> <span class="n">val</span> <span class="o">=</span> <span class="mi">42</span><span class="p">;</span>
+<span class="k">auto</span> <span class="o">&</span><span class="n">I</span> <span class="o">=</span> <span class="n">SomeObject</span><span class="p">.</span><span class="n">getInfo</span><span class="p">();</span>
+</pre></div>
+</div>
+<p>In this example using <tt class="docutils literal"><span class="pre">auto</span></tt> for builtins doesn’t improve readability. In
+other situations it makes the code less self-documenting impairing readability
+and maintainability. As a result, <tt class="docutils literal"><span class="pre">auto</span></tt> is used only introduced in specific
+situations described below.</p>
+<div class="section" id="iterators">
+<h2>Iterators<a class="headerlink" href="#iterators" title="Permalink to this headline">¶</a></h2>
+<p>Iterator type specifiers tend to be long and used frequently, especially in
+loop constructs. Since the functions generating iterators have a common format,
+the type specifier can be replaced without obscuring the meaning of code while
+improving readability and maintainability.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">for</span> <span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">I</span> <span class="o">=</span> <span class="n">my_container</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span>
+                                <span class="n">E</span> <span class="o">=</span> <span class="n">my_container</span><span class="p">.</span><span class="n">end</span><span class="p">();</span>
+     <span class="n">I</span> <span class="o">!=</span> <span class="n">E</span><span class="p">;</span> <span class="o">++</span><span class="n">I</span><span class="p">)</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="n">I</span> <span class="o">=</span> <span class="n">my_container</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span> <span class="n">E</span> <span class="o">=</span> <span class="n">my_container</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="n">I</span> <span class="o">!=</span> <span class="n">E</span><span class="p">;</span> <span class="o">++</span><span class="n">I</span><span class="p">)</span> <span class="p">{</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The check will only replace iterator type-specifiers when all of the following
+conditions are satisfied:</p>
+<ul class="simple">
+<li>The iterator is for one of the standard container in <tt class="docutils literal"><span class="pre">std</span></tt> namespace:<ul>
+<li><tt class="docutils literal"><span class="pre">array</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">deque</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">forward_list</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">list</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">vector</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">map</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">multimap</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">set</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">multiset</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">unordered_map</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">unordered_multimap</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">unordered_set</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">unordered_multiset</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">queue</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">priority_queue</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">stack</span></tt></li>
+</ul>
+</li>
+<li>The iterator is one of the possible iterator types for standard containers:<ul>
+<li><tt class="docutils literal"><span class="pre">iterator</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">reverse_iterator</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">const_iterator</span></tt></li>
+<li><tt class="docutils literal"><span class="pre">const_reverse_iterator</span></tt></li>
+</ul>
+</li>
+<li>In addition to using iterator types directly, typedefs or other ways of
+referring to those types are also allowed. However, implementation-specific
+types for which a type like <tt class="docutils literal"><span class="pre">std::vector<int>::iterator</span></tt> is itself a
+typedef will not be transformed. Consider the following examples:</li>
+</ul>
+<div class="highlight-c++"><div class="highlight"><pre><span class="c1">// The following direct uses of iterator types will be transformed.</span>
+<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">int</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">I</span> <span class="o">=</span> <span class="n">MyVec</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
+<span class="p">{</span>
+  <span class="k">using</span> <span class="k">namespace</span> <span class="n">std</span><span class="p">;</span>
+  <span class="n">list</span><span class="o"><</span><span class="kt">int</span><span class="o">>::</span><span class="n">iterator</span> <span class="n">I</span> <span class="o">=</span> <span class="n">MyList</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
+<span class="p">}</span>
+
+<span class="c1">// The type specifier for J would transform to auto since it's a typedef</span>
+<span class="c1">// to a standard iterator type.</span>
+<span class="k">typedef</span> <span class="n">std</span><span class="o">::</span><span class="n">map</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">>::</span><span class="n">const_iterator</span> <span class="n">map_iterator</span><span class="p">;</span>
+<span class="n">map_iterator</span> <span class="n">J</span> <span class="o">=</span> <span class="n">MyMap</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
+
+<span class="c1">// The following implementation-specific iterator type for which</span>
+<span class="c1">// std::vector<int>::iterator could be a typedef would not be transformed.</span>
+<span class="n">__gnu_cxx</span><span class="o">::</span><span class="n">__normal_iterator</span><span class="o"><</span><span class="kt">int</span><span class="o">*</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">></span> <span class="n">K</span> <span class="o">=</span> <span class="n">MyVec</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li>The initializer for the variable being declared is not a braced initializer
+list. Otherwise, use of <tt class="docutils literal"><span class="pre">auto</span></tt> would cause the type of the variable to be
+deduced as <tt class="docutils literal"><span class="pre">std::initializer_list</span></tt>.</li>
+</ul>
+</div>
+<div class="section" id="new-expressions">
+<h2>New expressions<a class="headerlink" href="#new-expressions" title="Permalink to this headline">¶</a></h2>
+<p>Frequently, when a pointer is declared and initialized with <tt class="docutils literal"><span class="pre">new</span></tt>, the
+pointee type has to be written twice: in the declaration type and in the
+<tt class="docutils literal"><span class="pre">new</span></tt> expression. In this cases, the declaration type can be replaced with
+<tt class="docutils literal"><span class="pre">auto</span></tt> improving readability and maintainability.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">TypeName</span> <span class="o">*</span><span class="n">my_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">(</span><span class="n">my_param</span><span class="p">);</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">auto</span> <span class="o">*</span><span class="n">my_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">(</span><span class="n">my_param</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>The check will also replace the declaration type in multiple declarations, if
+the following conditions are satisfied:</p>
+<ul class="simple">
+<li>All declared variables have the same type (i.e. all of them are pointers to
+the same type).</li>
+<li>All declared variables are initialized with a <tt class="docutils literal"><span class="pre">new</span></tt> expression.</li>
+<li>The types of all the new expressions are the same than the pointee of the
+declaration type.</li>
+</ul>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">TypeName</span> <span class="o">*</span><span class="n">my_first_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">,</span> <span class="o">*</span><span class="n">my_second_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">;</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">auto</span> <span class="o">*</span><span class="n">my_first_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">,</span> <span class="o">*</span><span class="n">my_second_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="known-limitations">
+<h2>Known Limitations<a class="headerlink" href="#known-limitations" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>If the initializer is an explicit conversion constructor, the check will not
+replace the type specifier even though it would be safe to do so.</li>
+<li>User-defined iterators are not handled at this time.</li>
+</ul>
+</div>
+<div class="section" id="removestars-option">
+<h2>RemoveStars option<a class="headerlink" href="#removestars-option" title="Permalink to this headline">¶</a></h2>
+<p>If the option is set to non-zero (default is <cite>0</cite>), the check will remove stars
+from the non-typedef pointer types when replacing type names with <tt class="docutils literal"><span class="pre">auto</span></tt>.
+Otherwise, the check will leave stars. For example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">TypeName</span> <span class="o">*</span><span class="n">my_first_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">,</span> <span class="o">*</span><span class="n">my_second_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">;</span>
+
+<span class="c1">// RemoveStars = 0</span>
+
+<span class="k">auto</span> <span class="o">*</span><span class="n">my_first_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">,</span> <span class="o">*</span><span class="n">my_second_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">;</span>
+
+<span class="c1">// RemoveStars = 1</span>
+
+<span class="k">auto</span> <span class="n">my_first_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">,</span> <span class="n">my_second_pointer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TypeName</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-shrink-to-fit.html">modernize-shrink-to-fit</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-bool-literals.html">modernize-use-bool-literals</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-bool-literals.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-bool-literals.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-bool-literals.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-bool-literals.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-bool-literals — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-default" href="modernize-use-default.html" />
+    <link rel="prev" title="modernize-use-auto" href="modernize-use-auto.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-bool-literals</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-auto.html">modernize-use-auto</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-default.html">modernize-use-default</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-bool-literals">
+<h1>modernize-use-bool-literals<a class="headerlink" href="#modernize-use-bool-literals" title="Permalink to this headline">¶</a></h1>
+<p>Finds integer literals which are cast to <tt class="docutils literal"><span class="pre">bool</span></tt>.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">bool</span> <span class="n">p</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="kt">bool</span> <span class="n">f</span> <span class="o">=</span> <span class="k">static_cast</span><span class="o"><</span><span class="kt">bool</span><span class="o">></span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<span class="n">std</span><span class="o">::</span><span class="n">ios_base</span><span class="o">::</span><span class="n">sync_with_stdio</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
+
+<span class="c1">// transforms to</span>
+
+<span class="kt">bool</span> <span class="n">p</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span>
+<span class="kt">bool</span> <span class="n">f</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span>
+<span class="n">std</span><span class="o">::</span><span class="n">ios_base</span><span class="o">::</span><span class="n">sync_with_stdio</span><span class="p">(</span><span class="nb">false</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-auto.html">modernize-use-auto</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-default.html">modernize-use-default</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-default.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-default.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-default.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-default.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-default — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-emplace" href="modernize-use-emplace.html" />
+    <link rel="prev" title="modernize-use-bool-literals" href="modernize-use-bool-literals.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-default</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-bool-literals.html">modernize-use-bool-literals</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-emplace.html">modernize-use-emplace</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-default">
+<h1>modernize-use-default<a class="headerlink" href="#modernize-use-default" title="Permalink to this headline">¶</a></h1>
+<p>This check replaces default bodies of special member functions with <tt class="docutils literal"><span class="pre">=</span>
+<span class="pre">default;</span></tt>.  The explicitly defaulted function declarations enable more
+opportunities in optimization, because the compiler might treat explicitly
+defaulted functions as trivial.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">struct</span> <span class="n">A</span> <span class="p">{</span>
+  <span class="n">A</span><span class="p">()</span> <span class="p">{}</span>
+  <span class="o">~</span><span class="n">A</span><span class="p">();</span>
+<span class="p">};</span>
+<span class="n">A</span><span class="o">::~</span><span class="n">A</span><span class="p">()</span> <span class="p">{}</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">struct</span> <span class="n">A</span> <span class="p">{</span>
+  <span class="n">A</span><span class="p">()</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+  <span class="o">~</span><span class="n">A</span><span class="p">();</span>
+<span class="p">};</span>
+<span class="n">A</span><span class="o">::~</span><span class="n">A</span><span class="p">()</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Copy-constructor, copy-assignment operator, move-constructor and
+move-assignment operator are not supported yet.</p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-bool-literals.html">modernize-use-bool-literals</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-emplace.html">modernize-use-emplace</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-emplace — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-nullptr" href="modernize-use-nullptr.html" />
+    <link rel="prev" title="modernize-use-default" href="modernize-use-default.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-emplace</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-default.html">modernize-use-default</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-emplace">
+<h1>modernize-use-emplace<a class="headerlink" href="#modernize-use-emplace" title="Permalink to this headline">¶</a></h1>
+<p>The check flags insertions to an STL-style container done by calling the
+<tt class="docutils literal"><span class="pre">push_back</span></tt> method with an explicitly-constructed temporary of the container
+element type. In this case, the corresponding <tt class="docutils literal"><span class="pre">emplace_back</span></tt> method
+results in less verbose and potentially more efficient code.
+Right now the check doesn’t support <tt class="docutils literal"><span class="pre">push_front</span></tt> and <tt class="docutils literal"><span class="pre">insert</span></tt>.
+It also doesn’t support <tt class="docutils literal"><span class="pre">insert</span></tt> functions for associative containers
+because replacing <tt class="docutils literal"><span class="pre">insert</span></tt> with <tt class="docutils literal"><span class="pre">emplace</span></tt> may result in
+<a class="reference external" href="http://htmlpreview.github.io/?https://github.com/HowardHinnant/papers/blob/master/insert_vs_emplace.html">speed regression</a>, but it might get support with some addition flag in the future.</p>
+<p>By default only <tt class="docutils literal"><span class="pre">std::vector</span></tt>, <tt class="docutils literal"><span class="pre">std::deque</span></tt>, <tt class="docutils literal"><span class="pre">std::list</span></tt> are considered.
+This list can be modified by passing a semicolon-separated list of class names
+using the <cite>ContainersWithPushBack</cite> option.</p>
+<p>Before:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::vector<MyClass> v;
+v.push_back(MyClass(21, 37));
+
+std::vector<std::pair<int,int>> w;
+
+w.push_back(std::pair<int,int>(21, 37));
+w.push_back(std::make_pair(21L, 37L));
+</pre></div>
+</div>
+<p>After:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::vector<MyClass> v;
+v.emplace_back(21, 37);
+
+std::vector<std::pair<int,int>> w;
+w.emplace_back(21, 37);
+// This will be fixed to w.push_back(21, 37); in next version
+w.emplace_back(std::make_pair(21L, 37L);
+</pre></div>
+</div>
+<p>The other situation is when we pass arguments that will be converted to a type
+inside a container.</p>
+<p>Before:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::vector<boost::optional<std::string> > v;
+v.push_back("abc");
+</pre></div>
+</div>
+<p>After:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::vector<boost::optional<std::string> > v;
+v.emplace_back("abc");
+</pre></div>
+</div>
+<p>In some cases the transformation would be valid, but the code
+wouldn’t be exception safe.
+In this case the calls of <tt class="docutils literal"><span class="pre">push_back</span></tt> won’t be replaced.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>std::vector<std::unique_ptr<int>> v;
+    v.push_back(std::unique_ptr<int>(new int(0)));
+    auto *ptr = new int(1);
+    v.push_back(std::unique_ptr<int>(ptr));
+</pre></div>
+</div>
+<p>This is because replacing it with <tt class="docutils literal"><span class="pre">emplace_back</span></tt> could cause a leak of this
+pointer if <tt class="docutils literal"><span class="pre">emplace_back</span></tt> would throw exception before emplacement
+(e.g. not enough memory to add new element).</p>
+<p>For more info read item 42 - “Consider emplacement instead of insertion.”
+of Scott Meyers Effective Modern C++.</p>
+<p>The default smart pointers that are considered are
+<tt class="docutils literal"><span class="pre">std::unique_ptr</span></tt>, <tt class="docutils literal"><span class="pre">std::shared_ptr</span></tt>, <tt class="docutils literal"><span class="pre">std::auto_ptr</span></tt>.
+To specify other smart pointers or other classes use option
+<cite>SmartPointers</cite> similar to <cite>ContainersWithPushBack</cite>.</p>
+<p>Check also fires if any argument of constructor call would be:
+- bitfield (bitfields can’t bind to rvalue/universal reference)
+- <tt class="docutils literal"><span class="pre">new</span></tt> expression (to avoid leak)
+or if the argument would be converted via derived-to-base cast.</p>
+<p>This check requires C++11 of higher to run.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-default.html">modernize-use-default</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-nullptr — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-override" href="modernize-use-override.html" />
+    <link rel="prev" title="modernize-use-emplace" href="modernize-use-emplace.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-nullptr</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-emplace.html">modernize-use-emplace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-override.html">modernize-use-override</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-nullptr">
+<h1>modernize-use-nullptr<a class="headerlink" href="#modernize-use-nullptr" title="Permalink to this headline">¶</a></h1>
+<p>The check converts the usage of null pointer constants (eg. <tt class="docutils literal"><span class="pre">NULL</span></tt>, <tt class="docutils literal"><span class="pre">0</span></tt>)
+to use the new C++11 <tt class="docutils literal"><span class="pre">nullptr</span></tt> keyword.</p>
+<div class="section" id="example">
+<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">assignment</span><span class="p">()</span> <span class="p">{</span>
+  <span class="kt">char</span> <span class="o">*</span><span class="n">a</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+  <span class="kt">char</span> <span class="o">*</span><span class="n">b</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+  <span class="kt">char</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="kt">int</span> <span class="o">*</span><span class="nf">ret_ptr</span><span class="p">()</span> <span class="p">{</span>
+  <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>transforms to:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">assignment</span><span class="p">()</span> <span class="p">{</span>
+  <span class="kt">char</span> <span class="o">*</span><span class="n">a</span> <span class="o">=</span> <span class="n">nullptr</span><span class="p">;</span>
+  <span class="kt">char</span> <span class="o">*</span><span class="n">b</span> <span class="o">=</span> <span class="n">nullptr</span><span class="p">;</span>
+  <span class="kt">char</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="kt">int</span> <span class="o">*</span><span class="nf">ret_ptr</span><span class="p">()</span> <span class="p">{</span>
+  <span class="k">return</span> <span class="n">nullptr</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="user-defined-macros">
+<h2>User defined macros<a class="headerlink" href="#user-defined-macros" title="Permalink to this headline">¶</a></h2>
+<p>By default this check will only replace the <tt class="docutils literal"><span class="pre">NULL</span></tt> macro and will skip any
+user-defined macros that behaves like <tt class="docutils literal"><span class="pre">NULL</span></tt>. The user can use the
+<em class="xref std std-option">UserNullMacros</em> option to specify a comma-separated list of macro
+names that will be transformed along with <tt class="docutils literal"><span class="pre">NULL</span></tt>.</p>
+<div class="section" id="id1">
+<h3>Example<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
+<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#define MY_NULL (void*)0</span>
+<span class="kt">void</span> <span class="nf">assignment</span><span class="p">()</span> <span class="p">{</span>
+  <span class="kt">void</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="n">MY_NULL</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>transforms to:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#define MY_NULL NULL</span>
+<span class="kt">void</span> <span class="nf">assignment</span><span class="p">()</span> <span class="p">{</span>
+  <span class="kt">int</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="n">nullptr</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>if the <em class="xref std std-option">UserNullMacros</em> option is set to <tt class="docutils literal"><span class="pre">MY_NULL</span></tt>.</p>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-emplace.html">modernize-use-emplace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-override.html">modernize-use-override</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-override — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="modernize-use-using" href="modernize-use-using.html" />
+    <link rel="prev" title="modernize-use-nullptr" href="modernize-use-nullptr.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-override</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-using.html">modernize-use-using</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-override">
+<h1>modernize-use-override<a class="headerlink" href="#modernize-use-override" title="Permalink to this headline">¶</a></h1>
+<p>Use C++11’s <tt class="docutils literal"><span class="pre">override</span></tt> and remove <tt class="docutils literal"><span class="pre">virtual</span></tt> where applicable.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-using.html">modernize-use-using</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - modernize-use-using — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="performance-faster-string-find" href="performance-faster-string-find.html" />
+    <link rel="prev" title="modernize-use-override" href="modernize-use-override.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-using</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-override.html">modernize-use-override</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-faster-string-find.html">performance-faster-string-find</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-using">
+<h1>modernize-use-using<a class="headerlink" href="#modernize-use-using" title="Permalink to this headline">¶</a></h1>
+<p>Use C++11’s <tt class="docutils literal"><span class="pre">using</span></tt> instead of <tt class="docutils literal"><span class="pre">typedef</span></tt>.</p>
+<p>Before:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>typedef int variable;
+
+class Class{};
+typedef void (Class::* MyPtrType)() const;
+</pre></div>
+</div>
+<p>After:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>using variable = int;
+
+class Class{};
+using MyPtrType = void (Class::*)() const;
+</pre></div>
+</div>
+<p>This check requires using C++11 or higher to run.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-override.html">modernize-use-override</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-faster-string-find.html">performance-faster-string-find</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - performance-faster-string-find — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="performance-for-range-copy" href="performance-for-range-copy.html" />
+    <link rel="prev" title="modernize-use-using" href="modernize-use-using.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-faster-string-find</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="modernize-use-using.html">modernize-use-using</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-for-range-copy.html">performance-for-range-copy</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-faster-string-find">
+<h1>performance-faster-string-find<a class="headerlink" href="#performance-faster-string-find" title="Permalink to this headline">¶</a></h1>
+<p>Optimize calls to <tt class="docutils literal"><span class="pre">std::string::find()</span></tt> and friends when the needle passed is
+a single character string literal.
+The character literal overload is more efficient.</p>
+<p>By default only <tt class="docutils literal"><span class="pre">std::basic_string</span></tt> is considered. This list can be modified by
+passing a <cite>;</cite> separated list of class names using the <cite>StringLikeClasses</cite>
+option. The methods to consired are fixed, though.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="n">str</span><span class="p">.</span><span class="n">find</span><span class="p">(</span><span class="s">"A"</span><span class="p">);</span>
+
+<span class="c1">// becomes</span>
+
+<span class="n">str</span><span class="p">.</span><span class="n">find</span><span class="p">(</span><span class="sc">'A'</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="modernize-use-using.html">modernize-use-using</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-for-range-copy.html">performance-for-range-copy</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - performance-for-range-copy — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="performance-implicit-cast-in-loop" href="performance-implicit-cast-in-loop.html" />
+    <link rel="prev" title="performance-faster-string-find" href="performance-faster-string-find.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-for-range-copy</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="performance-faster-string-find.html">performance-faster-string-find</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-implicit-cast-in-loop.html">performance-implicit-cast-in-loop</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-for-range-copy">
+<h1>performance-for-range-copy<a class="headerlink" href="#performance-for-range-copy" title="Permalink to this headline">¶</a></h1>
+<p>Finds C++11 for ranges where the loop variable is copied in each iteration but
+it would suffice to obtain it by const reference.</p>
+<p>The check is only applied to loop variables of types that are expensive to copy
+which means they are not trivially copyable or have a non-trivial copy
+constructor or destructor.</p>
+<p>To ensure that it is safe to replace the copy with a const reference the
+following heuristic is employed:</p>
+<ol class="arabic simple">
+<li>The loop variable is const qualified.</li>
+<li>The loop variable is not const, but only const methods or operators are
+invoked on it, or it is used as const reference or value argument in
+constructors or function calls.</li>
+</ol>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="performance-faster-string-find.html">performance-faster-string-find</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-implicit-cast-in-loop.html">performance-implicit-cast-in-loop</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - performance-implicit-cast-in-loop — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="performance-unnecessary-copy-initialization" href="performance-unnecessary-copy-initialization.html" />
+    <link rel="prev" title="performance-for-range-copy" href="performance-for-range-copy.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-implicit-cast-in-loop</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="performance-for-range-copy.html">performance-for-range-copy</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-unnecessary-copy-initialization.html">performance-unnecessary-copy-initialization</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-implicit-cast-in-loop">
+<h1>performance-implicit-cast-in-loop<a class="headerlink" href="#performance-implicit-cast-in-loop" title="Permalink to this headline">¶</a></h1>
+<p>This warning appears in a range-based loop with a loop variable of const ref
+type where the type of the variable does not match the one returned by the
+iterator.
+This means that an implicit cast has been added, which can for example result in
+expensive deep copies.</p>
+<p>Example:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>map<int, vector<string>> my_map;
+for (const pair<int, vector<string>>& p : my_map) {}
+// The iterator type is in fact pair<const int, vector<string>>, which means
+// that the compiler added a cast, resulting in a copy of the vectors.
+</pre></div>
+</div>
+<p>The easiest solution is usually to use <tt class="docutils literal"><span class="pre">const</span> <span class="pre">auto&</span></tt> instead of writing the type
+manually.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="performance-for-range-copy.html">performance-for-range-copy</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-unnecessary-copy-initialization.html">performance-unnecessary-copy-initialization</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - performance-unnecessary-copy-initialization — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="performance-unnecessary-value-param" href="performance-unnecessary-value-param.html" />
+    <link rel="prev" title="performance-implicit-cast-in-loop" href="performance-implicit-cast-in-loop.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-unnecessary-copy-initialization</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="performance-implicit-cast-in-loop.html">performance-implicit-cast-in-loop</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-unnecessary-value-param.html">performance-unnecessary-value-param</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-unnecessary-copy-initialization">
+<h1>performance-unnecessary-copy-initialization<a class="headerlink" href="#performance-unnecessary-copy-initialization" title="Permalink to this headline">¶</a></h1>
+<p>Finds local variable declarations that are initialized using the copy
+constructor of a non-trivially-copyable type but it would suffice to obtain a
+const reference.</p>
+<p>The check is only applied if it is safe to replace the copy by a const
+reference. This is the case when the variable is const qualified or when it is
+only used as a const, i.e. only const methods or operators are invoked on it, or
+it is used as const reference or value argument in constructors or function
+calls.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">const</span> <span class="n">string</span><span class="o">&</span> <span class="n">constReference</span><span class="p">();</span>
+<span class="kt">void</span> <span class="nf">Function</span><span class="p">()</span> <span class="p">{</span>
+  <span class="c1">// The warning will suggest making this a const reference.</span>
+  <span class="k">const</span> <span class="n">string</span> <span class="n">UnnecessaryCopy</span> <span class="o">=</span> <span class="n">constReference</span><span class="p">();</span>
+<span class="p">}</span>
+
+<span class="k">struct</span> <span class="n">Foo</span> <span class="p">{</span>
+  <span class="k">const</span> <span class="n">string</span><span class="o">&</span> <span class="n">name</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
+<span class="p">};</span>
+<span class="kt">void</span> <span class="nf">Function</span><span class="p">(</span><span class="k">const</span> <span class="n">Foo</span><span class="o">&</span> <span class="n">foo</span><span class="p">)</span> <span class="p">{</span>
+  <span class="c1">// The warning will suggest making this a const reference.</span>
+  <span class="n">string</span> <span class="n">UnnecessaryCopy1</span> <span class="o">=</span> <span class="n">foo</span><span class="p">.</span><span class="n">name</span><span class="p">();</span>
+  <span class="n">UnnecessaryCopy1</span><span class="p">.</span><span class="n">find</span><span class="p">(</span><span class="s">"bar"</span><span class="p">);</span>
+
+  <span class="c1">// The warning will suggest making this a const reference.</span>
+  <span class="n">string</span> <span class="n">UnnecessaryCopy2</span> <span class="o">=</span> <span class="n">UnnecessaryCopy1</span><span class="p">;</span>
+  <span class="n">UnnecessaryCopy2</span><span class="p">.</span><span class="n">find</span><span class="p">(</span><span class="s">"bar"</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="performance-implicit-cast-in-loop.html">performance-implicit-cast-in-loop</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-unnecessary-value-param.html">performance-unnecessary-value-param</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - performance-unnecessary-value-param — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-avoid-const-params-in-decls" href="readability-avoid-const-params-in-decls.html" />
+    <link rel="prev" title="performance-unnecessary-copy-initialization" href="performance-unnecessary-copy-initialization.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-unnecessary-value-param</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="performance-unnecessary-copy-initialization.html">performance-unnecessary-copy-initialization</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-avoid-const-params-in-decls.html">readability-avoid-const-params-in-decls</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-unnecessary-value-param">
+<h1>performance-unnecessary-value-param<a class="headerlink" href="#performance-unnecessary-value-param" title="Permalink to this headline">¶</a></h1>
+<p>Flags value parameter declarations of expensive to copy types that are copied
+for each invocation but it would suffice to pass them by const reference.</p>
+<p>The check is only applied to parameters of types that are expensive to copy
+which means they are not trivially copyable or have a non-trivial copy
+constructor or destructor.</p>
+<p>To ensure that it is safe to replace the value parameter with a const reference
+the following heuristic is employed:</p>
+<ol class="arabic simple">
+<li>the parameter is const qualified;</li>
+<li>the parameter is not const, but only const methods or operators are invoked
+on it, or it is used as const reference or value argument in constructors or
+function calls.</li>
+</ol>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">f</span><span class="p">(</span><span class="k">const</span> <span class="n">string</span> <span class="n">Value</span><span class="p">)</span> <span class="p">{</span>
+  <span class="c1">// The warning will suggest making Value a reference.</span>
+<span class="p">}</span>
+
+<span class="kt">void</span> <span class="nf">g</span><span class="p">(</span><span class="n">ExpensiveToCopy</span> <span class="n">Value</span><span class="p">)</span> <span class="p">{</span>
+  <span class="c1">// The warning will suggest making Value a const reference.</span>
+  <span class="n">Value</span><span class="p">.</span><span class="n">ConstMethd</span><span class="p">();</span>
+  <span class="n">ExpensiveToCopy</span> <span class="n">Copy</span><span class="p">(</span><span class="n">Value</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>If the parameter is not const, only copied or assigned once and has a
+non-trivial move-constructor or move-assignment operator respectively the check
+will suggest to move it.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="kt">void</span> <span class="nf">setValue</span><span class="p">(</span><span class="n">string</span> <span class="n">Value</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">Field</span> <span class="o">=</span> <span class="n">Value</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Will become:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#include <utility></span>
+
+<span class="kt">void</span> <span class="nf">setValue</span><span class="p">(</span><span class="n">string</span> <span class="n">Value</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">Field</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">Value</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="performance-unnecessary-copy-initialization.html">performance-unnecessary-copy-initialization</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-avoid-const-params-in-decls.html">readability-avoid-const-params-in-decls</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-avoid-const-params-in-decls — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-braces-around-statements" href="readability-braces-around-statements.html" />
+    <link rel="prev" title="performance-unnecessary-value-param" href="performance-unnecessary-value-param.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-avoid-const-params-in-decls</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="performance-unnecessary-value-param.html">performance-unnecessary-value-param</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-braces-around-statements.html">readability-braces-around-statements</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-avoid-const-params-in-decls">
+<h1>readability-avoid-const-params-in-decls<a class="headerlink" href="#readability-avoid-const-params-in-decls" title="Permalink to this headline">¶</a></h1>
+<p>Checks whether a function declaration has parameters that are top level const.</p>
+<p><cite>const</cite> values in declarations do not affect the signature of a function, so
+they should not be put there.  For example:</p>
+<p>Examples:</p>
+<pre class="code c++ literal-block">
+<span class="keyword type">void</span> <span class="name function">f</span><span class="punctuation">(</span><span class="keyword">const</span> <span class="name">string</span><span class="punctuation">);</span>   <span class="comment single">// Bad: const is top level.
+</span><span class="keyword type">void</span> <span class="name function">f</span><span class="punctuation">(</span><span class="keyword">const</span> <span class="name">string</span><span class="operator">&</span><span class="punctuation">);</span>  <span class="comment single">// Good: const is not top level.
+</span>
+</pre>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="performance-unnecessary-value-param.html">performance-unnecessary-value-param</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-braces-around-statements.html">readability-braces-around-statements</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-braces-around-statements — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-container-size-empty" href="readability-container-size-empty.html" />
+    <link rel="prev" title="readability-avoid-const-params-in-decls" href="readability-avoid-const-params-in-decls.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-braces-around-statements</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-avoid-const-params-in-decls.html">readability-avoid-const-params-in-decls</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-container-size-empty.html">readability-container-size-empty</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-braces-around-statements">
+<h1>readability-braces-around-statements<a class="headerlink" href="#readability-braces-around-statements" title="Permalink to this headline">¶</a></h1>
+<p><cite>google-readability-braces-around-statements</cite> redirects here as an alias for
+this check.</p>
+<p>Checks that bodies of <tt class="docutils literal"><span class="pre">if</span></tt> statements and loops (<tt class="docutils literal"><span class="pre">for</span></tt>, <tt class="docutils literal"><span class="pre">range-for</span></tt>,
+<tt class="docutils literal"><span class="pre">do-while</span></tt>, and <tt class="docutils literal"><span class="pre">while</span></tt>) are inside braces</p>
+<p>Before:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>if (condition)
+  statement;
+</pre></div>
+</div>
+<p>After:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>if (condition) {
+  statement;
+}
+</pre></div>
+</div>
+<p>Additionally, one can define an option <em class="xref std std-option">ShortStatementLines</em> defining
+the minimal number of lines that the statement should have in order to trigger
+this check.</p>
+<p>The number of lines is counted from the end of condition or initial keyword
+(<tt class="docutils literal"><span class="pre">do</span></tt>/<tt class="docutils literal"><span class="pre">else</span></tt>) until the last line of the inner statement.  Default value 0
+means that braces will be added to all statements (not having them already).</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-avoid-const-params-in-decls.html">readability-avoid-const-params-in-decls</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-container-size-empty.html">readability-container-size-empty</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-container-size-empty — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-deleted-default" href="readability-deleted-default.html" />
+    <link rel="prev" title="readability-braces-around-statements" href="readability-braces-around-statements.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-container-size-empty</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-braces-around-statements.html">readability-braces-around-statements</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-deleted-default.html">readability-deleted-default</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-container-size-empty">
+<h1>readability-container-size-empty<a class="headerlink" href="#readability-container-size-empty" title="Permalink to this headline">¶</a></h1>
+<p>Checks whether a call to the <tt class="docutils literal"><span class="pre">size()</span></tt> method can be replaced with a call to
+<tt class="docutils literal"><span class="pre">empty()</span></tt>.</p>
+<p>The emptiness of a container should be checked using the <tt class="docutils literal"><span class="pre">empty()</span></tt> method
+instead of the <tt class="docutils literal"><span class="pre">size()</span></tt> method. It is not guaranteed that <tt class="docutils literal"><span class="pre">size()</span></tt> is a
+constant-time function, and it is generally more efficient and also shows
+clearer intent to use <tt class="docutils literal"><span class="pre">empty()</span></tt>. Furthermore some containers may implement
+the <tt class="docutils literal"><span class="pre">empty()</span></tt> method but not implement the <tt class="docutils literal"><span class="pre">size()</span></tt> method. Using <tt class="docutils literal"><span class="pre">empty()</span></tt>
+whenever possible makes it easier to switch to another container in the
+future.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-braces-around-statements.html">readability-braces-around-statements</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-deleted-default.html">readability-deleted-default</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-deleted-default — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-else-after-return" href="readability-else-after-return.html" />
+    <link rel="prev" title="readability-container-size-empty" href="readability-container-size-empty.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-deleted-default</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-container-size-empty.html">readability-container-size-empty</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-else-after-return.html">readability-else-after-return</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-deleted-default">
+<h1>readability-deleted-default<a class="headerlink" href="#readability-deleted-default" title="Permalink to this headline">¶</a></h1>
+<p>Checks that constructors and assignment operators marked as <tt class="docutils literal"><span class="pre">=</span> <span class="pre">default</span></tt> are
+not actually deleted by the compiler.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>class Example {
+public:
+  // This constructor is deleted because I is missing a default value.
+  Example() = default;
+  // This is fine.
+  Example(const Example& Other) = default;
+  // This operator is deleted because I cannot be assigned (it is const).
+  Example& operator=(const Example& Other) = default;
+private:
+  const int I;
+};
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-container-size-empty.html">readability-container-size-empty</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-else-after-return.html">readability-else-after-return</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-else-after-return — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-function-size" href="readability-function-size.html" />
+    <link rel="prev" title="readability-deleted-default" href="readability-deleted-default.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-else-after-return</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-deleted-default.html">readability-deleted-default</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-function-size.html">readability-function-size</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-else-after-return">
+<h1>readability-else-after-return<a class="headerlink" href="#readability-else-after-return" title="Permalink to this headline">¶</a></h1>
+<p>Flags the usages of <tt class="docutils literal"><span class="pre">else</span></tt> after <tt class="docutils literal"><span class="pre">return</span></tt>.</p>
+<p><a class="reference external" href="http://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return">http://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-deleted-default.html">readability-deleted-default</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-function-size.html">readability-function-size</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-function-size — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-identifier-naming" href="readability-identifier-naming.html" />
+    <link rel="prev" title="readability-else-after-return" href="readability-else-after-return.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-function-size</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-else-after-return.html">readability-else-after-return</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-identifier-naming.html">readability-identifier-naming</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-function-size">
+<h1>readability-function-size<a class="headerlink" href="#readability-function-size" title="Permalink to this headline">¶</a></h1>
+<p><cite>google-readability-function-size</cite> redirects here as an alias for this check.</p>
+<p>Checks for large functions based on various metrics.</p>
+<p>These options are supported:</p>
+<blockquote>
+<div><ul class="simple">
+<li><em class="xref std std-option">LineThreshold</em> - flag functions exceeding this number of lines. The
+default is <cite>-1</cite> (ignore the number of lines).</li>
+<li><em class="xref std std-option">StatementThreshold</em> - flag functions exceeding this number of
+statements. This may differ significantly from the number of lines for
+macro-heavy code. The default is <cite>800</cite>.</li>
+<li><em class="xref std std-option">BranchThreshold</em> - flag functions exceeding this number of control
+statements. The default is <cite>-1</cite> (ignore the number of branches).</li>
+</ul>
+</div></blockquote>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-else-after-return.html">readability-else-after-return</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-identifier-naming.html">readability-identifier-naming</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-identifier-naming — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-implicit-bool-cast" href="readability-implicit-bool-cast.html" />
+    <link rel="prev" title="readability-function-size" href="readability-function-size.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-identifier-naming</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-function-size.html">readability-function-size</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-implicit-bool-cast.html">readability-implicit-bool-cast</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-identifier-naming">
+<h1>readability-identifier-naming<a class="headerlink" href="#readability-identifier-naming" title="Permalink to this headline">¶</a></h1>
+<p>Checks for identifiers naming style mismatch.</p>
+<p>This check will try to enforce coding guidelines on the identifiers naming.
+It supports <cite>lower_case</cite>, <cite>UPPER_CASE</cite>, <cite>camelBack</cite> and <cite>CamelCase</cite> casing and
+tries to convert from one to another if a mismatch is detected.</p>
+<p>It also supports a fixed prefix and suffix that will be prepended or
+appended to the identifiers, regardless of the casing.</p>
+<p>Many configuration options are available, in order to be able to create
+different rules for different kind of identifier. In general, the
+rules are falling back to a more generic rule if the specific case is not
+configured.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-function-size.html">readability-function-size</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-implicit-bool-cast.html">readability-implicit-bool-cast</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-implicit-bool-cast — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-inconsistent-declaration-parameter-name" href="readability-inconsistent-declaration-parameter-name.html" />
+    <link rel="prev" title="readability-identifier-naming" href="readability-identifier-naming.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-implicit-bool-cast</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-identifier-naming.html">readability-identifier-naming</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-inconsistent-declaration-parameter-name.html">readability-inconsistent-declaration-parameter-name</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-implicit-bool-cast">
+<h1>readability-implicit-bool-cast<a class="headerlink" href="#readability-implicit-bool-cast" title="Permalink to this headline">¶</a></h1>
+<p>This check can be used to find implicit conversions between built-in types and
+booleans. Depending on use case, it may simply help with readability of the code,
+or in some cases, point to potential bugs which remain unnoticed due to implicit
+conversions.</p>
+<p>The following is a real-world example of bug which was hiding behind implicit
+bool cast:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>class Foo {
+  int m_foo;
+public:
+  void setFoo(bool foo) { m_foo = foo; } // warning: implicit cast bool -> int
+  int getFoo() { return m_foo; }
+};
+
+void use(Foo& foo) {
+  bool value = foo.getFoo(); // warning: implicit cast int -> bool
+}
+</pre></div>
+</div>
+<p>This code is the result of unsuccessful refactoring, where type of <tt class="docutils literal"><span class="pre">m_foo</span></tt>
+changed from <tt class="docutils literal"><span class="pre">bool</span></tt> to <tt class="docutils literal"><span class="pre">int</span></tt>. The programmer forgot to change all
+occurrences of <tt class="docutils literal"><span class="pre">bool</span></tt>, and the remaining code is no longer correct, yet it
+still compiles without any visible warnings.</p>
+<p>In addition to issuing warnings, FixIt hints are provided to help solve
+the reported issues. This can be used for improving readability of code, for example:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>void conversionsToBool() {
+  float floating;
+  bool boolean = floating;
+  // ^ propose replacement: bool boolean = floating != 0.0f;
+
+  int integer;
+  if (integer) {}
+  // ^ propose replacement: if (integer != 0) {}
+
+  int* pointer;
+  if (!pointer) {}
+  // ^ propose replacement: if (pointer == nullptr) {}
+
+  while (1) {}
+  // ^ propose replacement: while (true) {}
+}
+
+void functionTakingInt(int param);
+
+void conversionsFromBool() {
+  bool boolean;
+  functionTakingInt(boolean);
+  // ^ propose replacement: functionTakingInt(static_cast<int>(boolean));
+
+  functionTakingInt(true);
+  // ^ propose replacement: functionTakingInt(1);
+}
+</pre></div>
+</div>
+<dl class="docutils">
+<dt>In general, the following cast types are checked:</dt>
+<dd><ul class="first last simple">
+<li>integer expression/literal to boolean,</li>
+<li>floating expression/literal to boolean,</li>
+<li>pointer/pointer to member/<tt class="docutils literal"><span class="pre">nullptr</span></tt>/<tt class="docutils literal"><span class="pre">NULL</span></tt> to boolean,</li>
+<li>boolean expression/literal to integer,</li>
+<li>boolean expression/literal to floating.</li>
+</ul>
+</dd>
+<dt>The rules for generating FixIt hints are:</dt>
+<dd><ul class="first last simple">
+<li>in case of casts from other built-in type to bool, an explicit comparison
+is proposed to make it clear what exaclty is being compared:<ul>
+<li><tt class="docutils literal"><span class="pre">bool</span> <span class="pre">boolean</span> <span class="pre">=</span> <span class="pre">floating;</span></tt> is changed to <tt class="docutils literal"><span class="pre">bool</span> <span class="pre">boolean</span> <span class="pre">=</span> <span class="pre">floating</span> <span class="pre">==</span> <span class="pre">0.0f;</span></tt>,</li>
+<li>for other types, appropriate literals are used (<tt class="docutils literal"><span class="pre">0</span></tt>, <tt class="docutils literal"><span class="pre">0u</span></tt>, <tt class="docutils literal"><span class="pre">0.0f</span></tt>, <tt class="docutils literal"><span class="pre">0.0</span></tt>, <tt class="docutils literal"><span class="pre">nullptr</span></tt>),</li>
+</ul>
+</li>
+<li>in case of negated expressions cast to bool, the proposed replacement with
+comparison is simplified:<ul>
+<li><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(!pointer)</span></tt> is changed to <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(pointer</span> <span class="pre">==</span> <span class="pre">nullptr)</span></tt>,</li>
+</ul>
+</li>
+<li>in case of casts from bool to other built-in types, an explicit <tt class="docutils literal"><span class="pre">static_cast</span></tt>
+is proposed to make it clear that a cast is taking place:<ul>
+<li><tt class="docutils literal"><span class="pre">int</span> <span class="pre">integer</span> <span class="pre">=</span> <span class="pre">boolean;</span></tt> is changed to <tt class="docutils literal"><span class="pre">int</span> <span class="pre">integer</span> <span class="pre">=</span> <span class="pre">static_cast<int>(boolean);</span></tt>,</li>
+</ul>
+</li>
+<li>if the cast is performed on type literals, an equivalent literal is proposed,
+according to what type is actually expected, for example:<ul>
+<li><tt class="docutils literal"><span class="pre">functionTakingBool(0);</span></tt> is changed to <tt class="docutils literal"><span class="pre">functionTakingBool(false);</span></tt>,</li>
+<li><tt class="docutils literal"><span class="pre">functionTakingInt(true);</span></tt> is changed to <tt class="docutils literal"><span class="pre">functionTakingInt(1);</span></tt>,</li>
+<li>for other types, appropriate literals are used (<tt class="docutils literal"><span class="pre">false</span></tt>, <tt class="docutils literal"><span class="pre">true</span></tt>, <tt class="docutils literal"><span class="pre">0</span></tt>, <tt class="docutils literal"><span class="pre">1</span></tt>, <tt class="docutils literal"><span class="pre">0u</span></tt>, <tt class="docutils literal"><span class="pre">1u</span></tt>,
+<tt class="docutils literal"><span class="pre">0.0f</span></tt>, <tt class="docutils literal"><span class="pre">1.0f</span></tt>, <tt class="docutils literal"><span class="pre">0.0</span></tt>, <tt class="docutils literal"><span class="pre">1.0f</span></tt>).</li>
+</ul>
+</li>
+</ul>
+</dd>
+<dt>Some additional accommodations are made for pre-C++11 dialects:</dt>
+<dd><ul class="first last simple">
+<li><tt class="docutils literal"><span class="pre">false</span></tt> literal cast to pointer is detected,</li>
+<li>instead of <tt class="docutils literal"><span class="pre">nullptr</span></tt> literal, <tt class="docutils literal"><span class="pre">0</span></tt> is proposed as replacement.</li>
+</ul>
+</dd>
+</dl>
+<p>Occurrences of implicit casts inside macros and template instantiations are
+deliberately ignored, as it is not clear how to deal with such cases.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-identifier-naming.html">readability-identifier-naming</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-inconsistent-declaration-parameter-name.html">readability-inconsistent-declaration-parameter-name</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-inconsistent-declaration-parameter-name — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-named-parameter" href="readability-named-parameter.html" />
+    <link rel="prev" title="readability-implicit-bool-cast" href="readability-implicit-bool-cast.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-inconsistent-declaration-parameter-name</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-implicit-bool-cast.html">readability-implicit-bool-cast</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-named-parameter.html">readability-named-parameter</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-inconsistent-declaration-parameter-name">
+<h1>readability-inconsistent-declaration-parameter-name<a class="headerlink" href="#readability-inconsistent-declaration-parameter-name" title="Permalink to this headline">¶</a></h1>
+<p>Find function declarations which differ in parameter names.</p>
+<p>Example:</p>
+<pre class="code c++ literal-block">
+<span class="comment single">// in foo.hpp:
+</span><span class="keyword type">void</span> <span class="name function">foo</span><span class="punctuation">(</span><span class="keyword type">int</span> <span class="name">a</span><span class="punctuation">,</span> <span class="keyword type">int</span> <span class="name">b</span><span class="punctuation">,</span> <span class="keyword type">int</span> <span class="name">c</span><span class="punctuation">);</span>
+
+<span class="comment single">// in foo.cpp:
+</span><span class="keyword type">void</span> <span class="name function">foo</span><span class="punctuation">(</span><span class="keyword type">int</span> <span class="name">d</span><span class="punctuation">,</span> <span class="keyword type">int</span> <span class="name">e</span><span class="punctuation">,</span> <span class="keyword type">int</span> <span class="name">f</span><span class="punctuation">);</span> <span class="comment single">// warning
+</span>
+</pre>
+<p>This check should help to enforce consistency in large projects, where it often
+happens that a definition of function is refactored, changing the parameter
+names, but its declaration in header file is not updated. With this check, we
+can easily find and correct such inconsistencies, keeping declaration and
+definition always in sync.</p>
+<p>Unnamed parameters are allowed and are not taken into account when comparing
+function declarations, for example:</p>
+<pre class="code c++ literal-block">
+<span class="keyword type">void</span> <span class="name function">foo</span><span class="punctuation">(</span><span class="keyword type">int</span> <span class="name">a</span><span class="punctuation">);</span>
+<span class="keyword type">void</span> <span class="name function">foo</span><span class="punctuation">(</span><span class="keyword type">int</span><span class="punctuation">);</span> <span class="comment single">// no warning
+</span>
+</pre>
+<p>To help with refactoring, in some cases FixIt hints are generated to align
+parameter names to a single naming convention. This works with the assumption
+that the function definition is the most up-to-date version, as it directly
+references parameter names in its body. Example:</p>
+<pre class="code c++ literal-block">
+<span class="keyword type">void</span> <span class="name function">foo</span><span class="punctuation">(</span><span class="keyword type">int</span> <span class="name">a</span><span class="punctuation">);</span> <span class="comment single">// warning and FixIt hint (replace "a" to "b")
+</span><span class="keyword type">int</span> <span class="name function">foo</span><span class="punctuation">(</span><span class="keyword type">int</span> <span class="name">b</span><span class="punctuation">)</span> <span class="punctuation">{</span> <span class="keyword">return</span> <span class="name">b</span> <span class="operator">+</span> <span class="literal number integer">2</span><span class="punctuation">;</span> <span class="punctuation">}</span> <span class="comment single">// definition with use of "b"
+</span>
+</pre>
+<p>In the case of multiple redeclarations or function template specializations,
+a warning is issued for every redeclaration or specialization inconsistent with
+the definition or the first declaration seen in a translation unit.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-implicit-bool-cast.html">readability-implicit-bool-cast</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-named-parameter.html">readability-named-parameter</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-named-parameter — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-redundant-control-flow" href="readability-redundant-control-flow.html" />
+    <link rel="prev" title="readability-inconsistent-declaration-parameter-name" href="readability-inconsistent-declaration-parameter-name.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-named-parameter</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-inconsistent-declaration-parameter-name.html">readability-inconsistent-declaration-parameter-name</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-control-flow.html">readability-redundant-control-flow</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-named-parameter">
+<h1>readability-named-parameter<a class="headerlink" href="#readability-named-parameter" title="Permalink to this headline">¶</a></h1>
+<p>Find functions with unnamed arguments.</p>
+<p>The check implements the following rule originating in the Google C++ Style
+Guide:</p>
+<p><a class="reference external" href="https://google.github.io/styleguide/cppguide.html#Function_Declarations_and_Definitions">https://google.github.io/styleguide/cppguide.html#Function_Declarations_and_Definitions</a></p>
+<p>All parameters should be named, with identical names in the declaration and
+implementation.</p>
+<p>Corresponding cpplint.py check name: <cite>readability/function</cite>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-inconsistent-declaration-parameter-name.html">readability-inconsistent-declaration-parameter-name</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-control-flow.html">readability-redundant-control-flow</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-redundant-control-flow — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-redundant-smartptr-get" href="readability-redundant-smartptr-get.html" />
+    <link rel="prev" title="readability-named-parameter" href="readability-named-parameter.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-control-flow</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-named-parameter.html">readability-named-parameter</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-smartptr-get.html">readability-redundant-smartptr-get</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-control-flow">
+<h1>readability-redundant-control-flow<a class="headerlink" href="#readability-redundant-control-flow" title="Permalink to this headline">¶</a></h1>
+<p>This check looks for procedures (functions returning no value) with <tt class="docutils literal"><span class="pre">return</span></tt>
+statements at the end of the function.  Such <tt class="docutils literal"><span class="pre">return</span></tt> statements are
+redundant.</p>
+<p>Loop statements (<tt class="docutils literal"><span class="pre">for</span></tt>, <tt class="docutils literal"><span class="pre">while</span></tt>, <tt class="docutils literal"><span class="pre">do</span> <span class="pre">while</span></tt>) are checked for redundant
+<tt class="docutils literal"><span class="pre">continue</span></tt> statements at the end of the loop body.</p>
+<p>Examples:</p>
+<p>The following function <cite>f</cite> contains a redundant <cite>return</cite> statement:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>extern void g();
+void f() {
+  g();
+  return;
+}
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>extern void g();
+void f() {
+  g();
+}
+</pre></div>
+</div>
+<p>The following function <cite>k</cite> contains a redundant <cite>continue</cite> statement:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>void k() {
+  for (int i = 0; i < 10; ++i) {
+    continue;
+  }
+}
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>void k() {
+  for (int i = 0; i < 10; ++i) {
+  }
+}
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-named-parameter.html">readability-named-parameter</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-smartptr-get.html">readability-redundant-smartptr-get</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-redundant-smartptr-get — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-redundant-string-cstr" href="readability-redundant-string-cstr.html" />
+    <link rel="prev" title="readability-redundant-control-flow" href="readability-redundant-control-flow.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-smartptr-get</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-redundant-control-flow.html">readability-redundant-control-flow</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-string-cstr.html">readability-redundant-string-cstr</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-smartptr-get">
+<h1>readability-redundant-smartptr-get<a class="headerlink" href="#readability-redundant-smartptr-get" title="Permalink to this headline">¶</a></h1>
+<p>Find and remove redundant calls to smart pointer’s <tt class="docutils literal"><span class="pre">.get()</span></tt> method.</p>
+<p>Examples:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>ptr.get()->Foo()  ==>  ptr->Foo()
+*ptr.get()  ==>  *ptr
+*ptr->get()  ==>  **ptr
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-redundant-control-flow.html">readability-redundant-control-flow</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-string-cstr.html">readability-redundant-string-cstr</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-redundant-string-cstr — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-redundant-string-init" href="readability-redundant-string-init.html" />
+    <link rel="prev" title="readability-redundant-smartptr-get" href="readability-redundant-smartptr-get.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-string-cstr</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-redundant-smartptr-get.html">readability-redundant-smartptr-get</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-string-init.html">readability-redundant-string-init</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-string-cstr">
+<h1>readability-redundant-string-cstr<a class="headerlink" href="#readability-redundant-string-cstr" title="Permalink to this headline">¶</a></h1>
+<p>Finds unnecessary calls to <tt class="docutils literal"><span class="pre">std::string::c_str()</span></tt>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-redundant-smartptr-get.html">readability-redundant-smartptr-get</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-string-init.html">readability-redundant-string-init</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-redundant-string-init — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-simplify-boolean-expr" href="readability-simplify-boolean-expr.html" />
+    <link rel="prev" title="readability-redundant-string-cstr" href="readability-redundant-string-cstr.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-string-init</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-redundant-string-cstr.html">readability-redundant-string-cstr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-string-init">
+<h1>readability-redundant-string-init<a class="headerlink" href="#readability-redundant-string-init" title="Permalink to this headline">¶</a></h1>
+<p>Finds unnecessary string initializations.</p>
+<p>Examples:</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>// Initializing string with empty string literal is unnecessary.
+std::string a = "";
+std::string b("");
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-redundant-string-cstr.html">readability-redundant-string-cstr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,189 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-simplify-boolean-expr — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-static-definition-in-anonymous-namespace" href="readability-static-definition-in-anonymous-namespace.html" />
+    <link rel="prev" title="readability-redundant-string-init" href="readability-redundant-string-init.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-simplify-boolean-expr</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-redundant-string-init.html">readability-redundant-string-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-static-definition-in-anonymous-namespace.html">readability-static-definition-in-anonymous-namespace</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-simplify-boolean-expr">
+<h1>readability-simplify-boolean-expr<a class="headerlink" href="#readability-simplify-boolean-expr" title="Permalink to this headline">¶</a></h1>
+<p>Looks for boolean expressions involving boolean constants and simplifies
+them to use the appropriate boolean expression directly.</p>
+<p>Examples:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="73%" />
+<col width="27%" />
+</colgroup>
+<tbody valign="top">
+<tr class="row-odd"><td>Initial expression</td>
+<td>Result</td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">==</span> <span class="pre">true)</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b)</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">==</span> <span class="pre">false)</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(!b)</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">&&</span> <span class="pre">true)</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b)</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">&&</span> <span class="pre">false)</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(false)</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">true)</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(true)</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">false)</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(b)</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">e</span> <span class="pre">?</span> <span class="pre">true</span> <span class="pre">:</span> <span class="pre">false</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">e</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">e</span> <span class="pre">?</span> <span class="pre">false</span> <span class="pre">:</span> <span class="pre">true</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">!e</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(true)</span> <span class="pre">t();</span> <span class="pre">else</span> <span class="pre">f();</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">t();</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(false)</span> <span class="pre">t();</span> <span class="pre">else</span> <span class="pre">f();</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">f();</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(e)</span> <span class="pre">return</span> <span class="pre">true;</span> <span class="pre">else</span> <span class="pre">return</span> <span class="pre">false;</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">return</span> <span class="pre">e;</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(e)</span> <span class="pre">return</span> <span class="pre">false;</span> <span class="pre">else</span> <span class="pre">return</span> <span class="pre">true;</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">return</span> <span class="pre">!e;</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(e)</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">true;</span> <span class="pre">else</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">false;</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">b</span> <span class="pre">=</span> <span class="pre">e;</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(e)</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">false;</span> <span class="pre">else</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">true;</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">b</span> <span class="pre">=</span> <span class="pre">!e;</span></tt></td>
+</tr>
+<tr class="row-even"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(e)</span> <span class="pre">return</span> <span class="pre">true;</span> <span class="pre">return</span> <span class="pre">false;</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">return</span> <span class="pre">e;</span></tt></td>
+</tr>
+<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">if</span> <span class="pre">(e)</span> <span class="pre">return</span> <span class="pre">false;</span> <span class="pre">return</span> <span class="pre">true;</span></tt></td>
+<td><tt class="docutils literal"><span class="pre">return</span> <span class="pre">!e;</span></tt></td>
+</tr>
+</tbody>
+</table>
+<dl class="docutils">
+<dt>The resulting expression <tt class="docutils literal"><span class="pre">e</span></tt> is modified as follows:</dt>
+<dd><ol class="first last arabic simple">
+<li>Unnecessary parentheses around the expression are removed.</li>
+<li>Negated applications of <tt class="docutils literal"><span class="pre">!</span></tt> are eliminated.</li>
+<li>Negated applications of comparison operators are changed to use the
+opposite condition.</li>
+<li>Implicit conversions of pointers, including pointers to members, to
+<tt class="docutils literal"><span class="pre">bool</span></tt> are replaced with explicit comparisons to <tt class="docutils literal"><span class="pre">nullptr</span></tt> in C++11
+or <tt class="docutils literal"><span class="pre">NULL</span></tt> in C++98/03.</li>
+<li>Implicit casts to <tt class="docutils literal"><span class="pre">bool</span></tt> are replaced with explicit casts to <tt class="docutils literal"><span class="pre">bool</span></tt>.</li>
+<li>Object expressions with <tt class="docutils literal"><span class="pre">explicit</span> <span class="pre">operator</span> <span class="pre">bool</span></tt> conversion operators
+are replaced with explicit casts to <tt class="docutils literal"><span class="pre">bool</span></tt>.</li>
+<li>Implicit conversions of integral types to <tt class="docutils literal"><span class="pre">bool</span></tt> are replaced with
+explicit comparisons to <tt class="docutils literal"><span class="pre">0</span></tt>.</li>
+</ol>
+</dd>
+<dt>Examples:</dt>
+<dd><ol class="first last arabic">
+<li><p class="first">The ternary assignment <tt class="docutils literal"><span class="pre">bool</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">(i</span> <span class="pre"><</span> <span class="pre">0)</span> <span class="pre">?</span> <span class="pre">true</span> <span class="pre">:</span> <span class="pre">false;</span></tt> has redundant
+parentheses and becomes <tt class="docutils literal"><span class="pre">bool</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">i</span> <span class="pre"><</span> <span class="pre">0;</span></tt>.</p>
+</li>
+<li><p class="first">The conditional return <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(!b)</span> <span class="pre">return</span> <span class="pre">false;</span> <span class="pre">return</span> <span class="pre">true;</span></tt> has an
+implied double negation and becomes <tt class="docutils literal"><span class="pre">return</span> <span class="pre">b;</span></tt>.</p>
+</li>
+<li><p class="first">The conditional return <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(i</span> <span class="pre"><</span> <span class="pre">0)</span> <span class="pre">return</span> <span class="pre">false;</span> <span class="pre">return</span> <span class="pre">true;</span></tt> becomes
+<tt class="docutils literal"><span class="pre">return</span> <span class="pre">i</span> <span class="pre">>=</span> <span class="pre">0;</span></tt>.</p>
+<p>The conditional return <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(i</span> <span class="pre">!=</span> <span class="pre">0)</span> <span class="pre">return</span> <span class="pre">false;</span> <span class="pre">return</span> <span class="pre">true;</span></tt> becomes
+<tt class="docutils literal"><span class="pre">return</span> <span class="pre">i</span> <span class="pre">==</span> <span class="pre">0;</span></tt>.</p>
+</li>
+<li><p class="first">The conditional return <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(p)</span> <span class="pre">return</span> <span class="pre">true;</span> <span class="pre">return</span> <span class="pre">false;</span></tt> has an
+implicit conversion of a pointer to <tt class="docutils literal"><span class="pre">bool</span></tt> and becomes
+<tt class="docutils literal"><span class="pre">return</span> <span class="pre">p</span> <span class="pre">!=</span> <span class="pre">nullptr;</span></tt>.</p>
+<p>The ternary assignment <tt class="docutils literal"><span class="pre">bool</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">(i</span> <span class="pre">&</span> <span class="pre">1)</span> <span class="pre">?</span> <span class="pre">true</span> <span class="pre">:</span> <span class="pre">false;</span></tt> has an
+implicit conversion of <tt class="docutils literal"><span class="pre">i</span> <span class="pre">&</span> <span class="pre">1</span></tt> to <tt class="docutils literal"><span class="pre">bool</span></tt> and becomes
+<tt class="docutils literal"><span class="pre">bool</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">(i</span> <span class="pre">&</span> <span class="pre">1)</span> <span class="pre">!=</span> <span class="pre">0;</span></tt>.</p>
+</li>
+<li><p class="first">The conditional return <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(i</span> <span class="pre">&</span> <span class="pre">1)</span> <span class="pre">return</span> <span class="pre">true;</span> <span class="pre">else</span> <span class="pre">return</span> <span class="pre">false;</span></tt> has
+an implicit conversion of an integer quantity <tt class="docutils literal"><span class="pre">i</span> <span class="pre">&</span> <span class="pre">1</span></tt> to <tt class="docutils literal"><span class="pre">bool</span></tt> and
+becomes <tt class="docutils literal"><span class="pre">return</span> <span class="pre">(i</span> <span class="pre">&</span> <span class="pre">1)</span> <span class="pre">!=</span> <span class="pre">0;</span></tt></p>
+</li>
+<li><p class="first">Given <tt class="docutils literal"><span class="pre">struct</span> <span class="pre">X</span> <span class="pre">{</span> <span class="pre">explicit</span> <span class="pre">operator</span> <span class="pre">bool();</span> <span class="pre">};</span></tt>, and an instance <tt class="docutils literal"><span class="pre">x</span></tt> of
+<tt class="docutils literal"><span class="pre">struct</span> <span class="pre">X</span></tt>, the conditional return <tt class="docutils literal"><span class="pre">if</span> <span class="pre">(x)</span> <span class="pre">return</span> <span class="pre">true;</span> <span class="pre">return</span> <span class="pre">false;</span></tt>
+becomes <tt class="docutils literal"><span class="pre">return</span> <span class="pre">static_cast<bool>(x);</span></tt></p>
+</li>
+</ol>
+</dd>
+</dl>
+<p>When a conditional boolean return or assignment appears at the end of a
+chain of <tt class="docutils literal"><span class="pre">if</span></tt>, <tt class="docutils literal"><span class="pre">else</span> <span class="pre">if</span></tt> statements, the conditional statement is left
+unchanged unless the option <tt class="docutils literal"><span class="pre">ChainedConditionalReturn</span></tt> or
+<tt class="docutils literal"><span class="pre">ChainedConditionalAssignment</span></tt>, respectively, is specified as non-zero.
+The default value for both options is zero.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-redundant-string-init.html">readability-redundant-string-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-static-definition-in-anonymous-namespace.html">readability-static-definition-in-anonymous-namespace</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-static-definition-in-anonymous-namespace — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="readability-uniqueptr-delete-release" href="readability-uniqueptr-delete-release.html" />
+    <link rel="prev" title="readability-simplify-boolean-expr" href="readability-simplify-boolean-expr.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-static-definition-in-anonymous-namespace</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-static-definition-in-anonymous-namespace">
+<h1>readability-static-definition-in-anonymous-namespace<a class="headerlink" href="#readability-static-definition-in-anonymous-namespace" title="Permalink to this headline">¶</a></h1>
+<p>Finds static function and variable definitions in anonymous namespace.</p>
+<p>In this case, <tt class="docutils literal"><span class="pre">static</span></tt> is redundant, because anonymous namespace limits the
+visibility of definitions to a single translation unit.</p>
+<div class="code c++ highlight-python"><div class="highlight"><pre>namespace {
+  static int a = 1; // Warning.
+  static const b = 1; // Warning.
+}
+</pre></div>
+</div>
+<p>The check will apply a fix by removing the redundant <tt class="docutils literal"><span class="pre">static</span></tt> qualifier.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>clang-tidy - readability-uniqueptr-delete-release — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../../index.html" />
+    <link rel="up" title="Clang-Tidy Checks" href="list.html" />
+    <link rel="next" title="Clang-Include-Fixer" href="../../include-fixer.html" />
+    <link rel="prev" title="readability-static-definition-in-anonymous-namespace" href="readability-static-definition-in-anonymous-namespace.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-uniqueptr-delete-release</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="readability-static-definition-in-anonymous-namespace.html">readability-static-definition-in-anonymous-namespace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="../../include-fixer.html">Clang-Include-Fixer</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-uniqueptr-delete-release">
+<h1>readability-uniqueptr-delete-release<a class="headerlink" href="#readability-uniqueptr-delete-release" title="Permalink to this headline">¶</a></h1>
+<p>Replace <tt class="docutils literal"><span class="pre">delete</span> <span class="pre"><unique_ptr>.release()</span></tt> with <tt class="docutils literal"><span class="pre"><unique_ptr></span> <span class="pre">=</span> <span class="pre">nullptr</span></tt>.
+The latter is shorter, simpler and does not require use of raw pointer APIs.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="readability-static-definition-in-anonymous-namespace.html">readability-static-definition-in-anonymous-namespace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="../../include-fixer.html">Clang-Include-Fixer</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/index.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/index.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/clang-tidy/index.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,603 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Clang-Tidy — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../_static/jquery.js"></script>
+    <script type="text/javascript" src="../_static/underscore.js"></script>
+    <script type="text/javascript" src="../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="../index.html" />
+    <link rel="next" title="Clang-Tidy Checks" href="checks/list.html" />
+    <link rel="prev" title="Extra Clang Tools 3.9 Release Notes" href="../ReleaseNotes.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>Clang-Tidy</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="../ReleaseNotes.html">Extra Clang Tools 3.9 Release Notes</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="checks/list.html">Clang-Tidy Checks</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="clang-tidy">
+<h1><a class="toc-backref" href="#id1">Clang-Tidy</a><a class="headerlink" href="#clang-tidy" title="Permalink to this headline">¶</a></h1>
+<div class="contents topic" id="contents">
+<p class="topic-title first">Contents</p>
+<ul class="simple">
+<li><a class="reference internal" href="#clang-tidy" id="id1">Clang-Tidy</a><ul>
+<li><a class="reference internal" href="#using-clang-tidy" id="id2">Using clang-tidy</a></li>
+<li><a class="reference internal" href="#getting-involved" id="id3">Getting Involved</a><ul>
+<li><a class="reference internal" href="#choosing-the-right-place-for-your-check" id="id4">Choosing the Right Place for your Check</a></li>
+<li><a class="reference internal" href="#preparing-your-workspace" id="id5">Preparing your Workspace</a></li>
+<li><a class="reference internal" href="#the-directory-structure" id="id6">The Directory Structure</a></li>
+<li><a class="reference internal" href="#writing-a-clang-tidy-check" id="id7">Writing a clang-tidy Check</a></li>
+<li><a class="reference internal" href="#registering-your-check" id="id8">Registering your Check</a></li>
+<li><a class="reference internal" href="#configuring-checks" id="id9">Configuring Checks</a></li>
+<li><a class="reference internal" href="#testing-checks" id="id10">Testing Checks</a></li>
+<li><a class="reference internal" href="#running-clang-tidy-on-llvm" id="id11">Running clang-tidy on LLVM</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<p>See also:</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="checks/list.html">The list of clang-tidy checks</a></li>
+</ul>
+</div>
+<p><strong class="program">clang-tidy</strong> is a clang-based C++ “linter” tool. Its purpose is to
+provide an extensible framework for diagnosing and fixing typical programming
+errors, like style violations, interface misuse, or bugs that can be deduced via
+static analysis. <strong class="program">clang-tidy</strong> is modular and provides a convenient
+interface for writing new checks.</p>
+<div class="section" id="using-clang-tidy">
+<h2><a class="toc-backref" href="#id2">Using clang-tidy</a><a class="headerlink" href="#using-clang-tidy" title="Permalink to this headline">¶</a></h2>
+<p><strong class="program">clang-tidy</strong> is a <a class="reference external" href="http://clang.llvm.org/docs/LibTooling.html">LibTooling</a>-based tool, and it’s easier to work
+with if you set up a compile command database for your project (for an example
+of how to do this see <a class="reference external" href="http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html">How To Setup Tooling For LLVM</a>). You can also specify
+compilation options on the command line after <tt class="docutils literal"><span class="pre">--</span></tt>:</p>
+<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> clang-tidy test.cpp -- -Imy_project/include -DMY_DEFINES ...
+</pre></div>
+</div>
+<p><strong class="program">clang-tidy</strong> has its own checks and can also run Clang static analyzer
+checks. Each check has a name and the checks to run can be chosen using the
+<tt class="docutils literal"><span class="pre">-checks=</span></tt> option, which specifies a comma-separated list of positive and
+negative (prefixed with <tt class="docutils literal"><span class="pre">-</span></tt>) globs. Positive globs add subsets of checks,
+negative globs remove them. For example,</p>
+<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> clang-tidy test.cpp -checks<span class="o">=</span>-*,clang-analyzer-*,-clang-analyzer-alpha*
+</pre></div>
+</div>
+<p>will disable all default checks (<tt class="docutils literal"><span class="pre">-*</span></tt>) and enable all <tt class="docutils literal"><span class="pre">clang-analyzer-*</span></tt>
+checks except for <tt class="docutils literal"><span class="pre">clang-analyzer-alpha*</span></tt> ones.</p>
+<p>The <tt class="docutils literal"><span class="pre">-list-checks</span></tt> option lists all the enabled checks. When used without
+<tt class="docutils literal"><span class="pre">-checks=</span></tt>, it shows checks enabled by default. Use <tt class="docutils literal"><span class="pre">-checks=*</span></tt> to see all
+available checks or with any other value of <tt class="docutils literal"><span class="pre">-checks=</span></tt> to see which checks are
+enabled by this value.</p>
+<p>There are currently the following groups of checks:</p>
+<ul class="simple">
+<li>Checks related to the LLVM coding conventions have names starting with
+<tt class="docutils literal"><span class="pre">llvm-</span></tt>.</li>
+<li>Checks related to the Google coding conventions have names starting with
+<tt class="docutils literal"><span class="pre">google-</span></tt>.</li>
+<li>Checks named <tt class="docutils literal"><span class="pre">modernize-*</span></tt> advocate the usage of modern (currently “modern”
+means “C++11”) language constructs.</li>
+<li>The <tt class="docutils literal"><span class="pre">readability-</span></tt> checks target readability-related issues that don’t
+relate to any particular coding style.</li>
+<li>Checks with names starting with <tt class="docutils literal"><span class="pre">misc-</span></tt> the checks that we didn’t have a
+better category for.</li>
+<li>Clang static analyzer checks are named starting with <tt class="docutils literal"><span class="pre">clang-analyzer-</span></tt>.</li>
+<li>Checks related to Boost library starts with <tt class="docutils literal"><span class="pre">boost-</span></tt>.</li>
+</ul>
+<p>Clang diagnostics are treated in a similar way as check diagnostics. Clang
+diagnostics are displayed by clang-tidy and can be filtered out using
+<tt class="docutils literal"><span class="pre">-checks=</span></tt> option. However, the <tt class="docutils literal"><span class="pre">-checks=</span></tt> option does not affect
+compilation arguments, so it can not turn on Clang warnings which are not
+already turned on in build configuration. The <tt class="docutils literal"><span class="pre">-warnings-as-errors=</span></tt> option
+upgrades any warnings emitted under the <tt class="docutils literal"><span class="pre">-checks=</span></tt> flag to errors (but it
+does not enable any checks itself).</p>
+<p>Clang diagnostics have check names starting with <tt class="docutils literal"><span class="pre">clang-diagnostic-</span></tt>.
+Diagnostics which have a corresponding warning option, are named
+<tt class="docutils literal"><span class="pre">clang-diagostic-<warning-option></span></tt>, e.g. Clang warning controlled by
+<tt class="docutils literal"><span class="pre">-Wliteral-conversion</span></tt> will be reported with check name
+<tt class="docutils literal"><span class="pre">clang-diagnostic-literal-conversion</span></tt>.</p>
+<p>The <tt class="docutils literal"><span class="pre">-fix</span></tt> flag instructs <strong class="program">clang-tidy</strong> to fix found errors if
+supported by corresponding checks.</p>
+<p>An overview of all the command-line options:</p>
+<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> clang-tidy -help
+<span class="go">USAGE: clang-tidy [options] <source0> [... <sourceN>]</span>
+
+<span class="go">OPTIONS:</span>
+
+<span class="go">Generic Options:</span>
+
+<span class="go">  -help                        - Display available options (-help-hidden for more)</span>
+<span class="go">  -help-list                   - Display list of available options (-help-list-hidden for more)</span>
+<span class="go">  -version                     - Display the version of this program</span>
+
+<span class="go">clang-tidy options:</span>
+
+<span class="go">  -analyze-temporary-dtors     -</span>
+<span class="go">                                 Enable temporary destructor-aware analysis in</span>
+<span class="go">                                 clang-analyzer- checks.</span>
+<span class="go">                                 This option overrides the value read from a</span>
+<span class="go">                                 .clang-tidy file.</span>
+<span class="go">  -checks=<string>             -</span>
+<span class="go">                                 Comma-separated list of globs with optional '-'</span>
+<span class="go">                                 prefix. Globs are processed in order of</span>
+<span class="go">                                 appearance in the list. Globs without '-'</span>
+<span class="go">                                 prefix add checks with matching names to the</span>
+<span class="go">                                 set, globs with the '-' prefix remove checks</span>
+<span class="go">                                 with matching names from the set of enabled</span>
+<span class="go">                                 checks.  This option's value is appended to the</span>
+<span class="go">                                 value of the 'Checks' option in .clang-tidy</span>
+<span class="go">                                 file, if any.</span>
+<span class="go">  -config=<string>             -</span>
+<span class="go">                                 Specifies a configuration in YAML/JSON format:</span>
+<span class="go">                                   -config="{Checks: '*',</span>
+<span class="go">                                             CheckOptions: [{key: x,</span>
+<span class="go">                                                             value: y}]}"</span>
+<span class="go">                                 When the value is empty, clang-tidy will</span>
+<span class="go">                                 attempt to find a file named .clang-tidy for</span>
+<span class="go">                                 each source file in its parent directories.</span>
+<span class="go">  -dump-config                 -</span>
+<span class="go">                                 Dumps configuration in the YAML format to</span>
+<span class="go">                                 stdout. This option can be used along with a</span>
+<span class="go">                                 file name (and '--' if the file is outside of a</span>
+<span class="go">                                 project with configured compilation database).</span>
+<span class="go">                                 The configuration used for this file will be</span>
+<span class="go">                                 printed.</span>
+<span class="go">                                 Use along with -checks=* to include</span>
+<span class="go">                                 configuration of all checks.</span>
+<span class="go">  -enable-check-profile        -</span>
+<span class="go">                                 Enable per-check timing profiles, and print a</span>
+<span class="go">                                 report to stderr.</span>
+<span class="go">  -export-fixes=<filename>     -</span>
+<span class="go">                                 YAML file to store suggested fixes in. The</span>
+<span class="go">                                 stored fixes can be applied to the input sorce</span>
+<span class="go">                                 code with clang-apply-replacements.</span>
+<span class="go">  -extra-arg=<string>          - Additional argument to append to the compiler command line</span>
+<span class="go">  -extra-arg-before=<string>   - Additional argument to prepend to the compiler command line</span>
+<span class="go">  -fix                         -</span>
+<span class="go">                                 Apply suggested fixes. Without -fix-errors</span>
+<span class="go">                                 clang-tidy will bail out if any compilation</span>
+<span class="go">                                 errors were found.</span>
+<span class="go">  -fix-errors                  -</span>
+<span class="go">                                 Apply suggested fixes even if compilation</span>
+<span class="go">                                 errors were found. If compiler errors have</span>
+<span class="go">                                 attached fix-its, clang-tidy will apply them as</span>
+<span class="go">                                 well.</span>
+<span class="go">  -header-filter=<string>      -</span>
+<span class="go">                                 Regular expression matching the names of the</span>
+<span class="go">                                 headers to output diagnostics from. Diagnostics</span>
+<span class="go">                                 from the main file of each translation unit are</span>
+<span class="go">                                 always displayed.</span>
+<span class="go">                                 Can be used together with -line-filter.</span>
+<span class="go">                                 This option overrides the 'HeaderFilter' option</span>
+<span class="go">                                 in .clang-tidy file, if any.</span>
+<span class="go">  -line-filter=<string>        -</span>
+<span class="go">                                 List of files with line ranges to filter the</span>
+<span class="go">                                 warnings. Can be used together with</span>
+<span class="go">                                 -header-filter. The format of the list is a</span>
+<span class="go">                                 JSON array of objects:</span>
+<span class="go">                                   [</span>
+<span class="go">                                     {"name":"file1.cpp","lines":[[1,3],[5,7]]},</span>
+<span class="go">                                     {"name":"file2.h"}</span>
+<span class="go">                                   ]</span>
+<span class="go">  -list-checks                 -</span>
+<span class="go">                                 List all enabled checks and exit. Use with</span>
+<span class="go">                                 -checks=* to list all available checks.</span>
+<span class="go">  -p=<string>                  - Build path</span>
+<span class="go">  -system-headers              - Display the errors from system headers.</span>
+<span class="go">  -warnings-as-errors=<string> -</span>
+<span class="go">                                 Upgrades warnings to errors. Same format as</span>
+<span class="go">                                 '-checks'.</span>
+<span class="go">                                 This option's value is appended to the value of</span>
+<span class="go">                                 the 'WarningsAsErrors' option in .clang-tidy</span>
+<span class="go">                                 file, if any.</span>
+
+<span class="go">-p <build-path> is used to read a compile command database.</span>
+
+<span class="go">        For example, it can be a CMake build directory in which a file named</span>
+<span class="go">        compile_commands.json exists (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ON</span>
+<span class="go">        CMake option to get this output). When no build path is specified,</span>
+<span class="go">        a search for compile_commands.json will be attempted through all</span>
+<span class="go">        parent paths of the first input file . See:</span>
+<span class="go">        http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an</span>
+<span class="go">        example of setting up Clang Tooling on a source tree.</span>
+
+<span class="go"><source0> ... specify the paths of source files. These paths are</span>
+<span class="go">        looked up in the compile command database. If the path of a file is</span>
+<span class="go">        absolute, it needs to point into CMake's source tree. If the path is</span>
+<span class="go">        relative, the current working directory needs to be in the CMake</span>
+<span class="go">        source tree and the file must be in a subdirectory of the current</span>
+<span class="go">        working directory. "./" prefixes in the relative files will be</span>
+<span class="go">        automatically removed, but the rest of a relative path must be a</span>
+<span class="go">        suffix of a path in the compile command database.</span>
+
+
+<span class="go">Configuration files:</span>
+<span class="go">  clang-tidy attempts to read configuration for each source file from a</span>
+<span class="go">  .clang-tidy file located in the closest parent directory of the source</span>
+<span class="go">  file. If any configuration options have a corresponding command-line</span>
+<span class="go">  option, command-line option takes precedence. The effective</span>
+<span class="go">  configuration can be inspected using -dump-config:</span>
+
+<span class="go">    $ clang-tidy -dump-config - --</span>
+<span class="go">    ---</span>
+<span class="go">    Checks:          '-*,some-check'</span>
+<span class="go">    WarningsAsErrors: ''</span>
+<span class="go">    HeaderFilterRegex: ''</span>
+<span class="go">    AnalyzeTemporaryDtors: false</span>
+<span class="go">    User:            user</span>
+<span class="go">    CheckOptions:</span>
+<span class="go">      - key:             some-check.SomeOption</span>
+<span class="go">        value:           'some value'</span>
+<span class="go">    ...</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="getting-involved">
+<h2><a class="toc-backref" href="#id3">Getting Involved</a><a class="headerlink" href="#getting-involved" title="Permalink to this headline">¶</a></h2>
+<p><strong class="program">clang-tidy</strong> has several own checks and can run Clang static analyzer
+checks, but its power is in the ability to easily write custom checks.</p>
+<p>Checks are organized in modules, which can be linked into <strong class="program">clang-tidy</strong>
+with minimal or no code changes in clang-tidy.</p>
+<p>Checks can plug into the analysis on the preprocessor level using <a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html">PPCallbacks</a>
+or on the AST level using <a class="reference external" href="http://clang.llvm.org/docs/LibASTMatchers.html">AST Matchers</a>. When an error is found, checks can
+report them in a way similar to how Clang diagnostics work. A fix-it hint can be
+attached to a diagnostic message.</p>
+<p>The interface provided by clang-tidy makes it easy to write useful and precise
+checks in just a few lines of code. If you have an idea for a good check, the
+rest of this document explains how to do this.</p>
+<dl class="docutils">
+<dt>There are a few tools particularly useful when developing clang-tidy checks:</dt>
+<dd><ul class="first last simple">
+<li><tt class="docutils literal"><span class="pre">add_new_check.py</span></tt> is a script to automate the process of adding a new
+check, it will create the check, update the CMake file and create a test;</li>
+<li><tt class="docutils literal"><span class="pre">rename_check.py</span></tt> does what the script name suggest, renames an existsing
+check;</li>
+<li><strong class="program">clang-query</strong> is invaluable for interactive prototyping of AST
+matchers and exploration of the Clang AST;</li>
+<li><a class="reference external" href="http://clang.llvm.org/docs/ClangCheck.html">clang-check</a> with the <tt class="docutils literal"><span class="pre">-ast-dump</span></tt> (and optionally <tt class="docutils literal"><span class="pre">-ast-dump-filter</span></tt>)
+provides a convenient way to dump AST of a C++ program.</li>
+</ul>
+</dd>
+</dl>
+<div class="section" id="choosing-the-right-place-for-your-check">
+<h3><a class="toc-backref" href="#id4">Choosing the Right Place for your Check</a><a class="headerlink" href="#choosing-the-right-place-for-your-check" title="Permalink to this headline">¶</a></h3>
+<p>If you have an idea of a check, you should decide whether it should be
+implemented as a:</p>
+<ul class="simple">
+<li><em>Clang diagnostic</em>: if the check is generic enough, targets code patterns that
+most probably are bugs (rather than style or readability issues), can be
+implemented effectively and with extremely low false positive rate, it may
+make a good Clang diagnostic.</li>
+<li><em>Clang static analyzer check</em>: if the check requires some sort of control flow
+analysis, it should probably be implemented as a static analyzer check.</li>
+<li><em>clang-tidy check</em> is a good choice for linter-style checks, checks that are
+related to a certain coding style, checks that address code readability, etc.</li>
+</ul>
+</div>
+<div class="section" id="preparing-your-workspace">
+<h3><a class="toc-backref" href="#id5">Preparing your Workspace</a><a class="headerlink" href="#preparing-your-workspace" title="Permalink to this headline">¶</a></h3>
+<p>If you are new to LLVM development, you should read the <a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting Started with
+the LLVM System</a>, <a class="reference external" href="http://clang.llvm.org/docs/ClangTools.html">Using Clang Tools</a> and <a class="reference external" href="http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html">How To Setup Tooling For LLVM</a>
+documents to check out and build LLVM, Clang and Clang Extra Tools with CMake.</p>
+<p>Once you are done, change to the <tt class="docutils literal"><span class="pre">llvm/tools/clang/tools/extra</span></tt> directory, and
+let’s start!</p>
+</div>
+<div class="section" id="the-directory-structure">
+<h3><a class="toc-backref" href="#id6">The Directory Structure</a><a class="headerlink" href="#the-directory-structure" title="Permalink to this headline">¶</a></h3>
+<p><strong class="program">clang-tidy</strong> source code resides in the
+<tt class="docutils literal"><span class="pre">llvm/tools/clang/tools/extra</span></tt> directory and is structured as follows:</p>
+<div class="highlight-python"><div class="highlight"><pre>clang-tidy/                       # Clang-tidy core.
+|-- ClangTidy.h                   # Interfaces for users and checks.
+|-- ClangTidyModule.h             # Interface for clang-tidy modules.
+|-- ClangTidyModuleRegistry.h     # Interface for registering of modules.
+   ...
+|-- google/                       # Google clang-tidy module.
+|-+
+  |-- GoogleTidyModule.cpp
+  |-- GoogleTidyModule.h
+        ...
+|-- llvm/                         # LLVM clang-tidy module.
+|-+
+  |-- LLVMTidyModule.cpp
+  |-- LLVMTidyModule.h
+        ...
+|-- tool/                         # Sources of the clang-tidy binary.
+        ...
+test/clang-tidy/                  # Integration tests.
+    ...
+unittests/clang-tidy/             # Unit tests.
+|-- ClangTidyTest.h
+|-- GoogleModuleTest.cpp
+|-- LLVMModuleTest.cpp
+    ...
+</pre></div>
+</div>
+</div>
+<div class="section" id="writing-a-clang-tidy-check">
+<h3><a class="toc-backref" href="#id7">Writing a clang-tidy Check</a><a class="headerlink" href="#writing-a-clang-tidy-check" title="Permalink to this headline">¶</a></h3>
+<p>So you have an idea of a useful check for <strong class="program">clang-tidy</strong>.</p>
+<p>First, if you’re not familiar with LLVM development, read through the <a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting
+Started with LLVM</a> document for instructions on setting up your workflow and
+the <a class="reference external" href="http://llvm.org/docs/CodingStandards.html">LLVM Coding Standards</a> document to familiarize yourself with the coding
+style used in the project. For code reviews we mostly use <a class="reference external" href="http://llvm.org/docs/Phabricator.html">LLVM Phabricator</a>.</p>
+<p>Next, you need to decide which module the check belongs to. If the check
+verifies conformance of the code to a certain coding style, it probably deserves
+a separate module and a directory in <tt class="docutils literal"><span class="pre">clang-tidy/</span></tt>. There are already modules
+implementing checks related to:</p>
+<ul class="simple">
+<li><a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/cppcoreguidelines/">C++ Core Guidelines</a></li>
+<li><a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/cert/">CERT Secure Coding Standards</a></li>
+<li><a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/google/">Google Style Guide</a></li>
+<li><a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/llvm/">LLVM Style</a></li>
+<li><a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/modernize/">modernizing C/C++ code</a></li>
+<li>potential <a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/performance/">performance problems</a></li>
+<li>various <a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/readability/">readability issues</a></li>
+<li>and <a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/misc/">miscellaneous checks</a>
+that we couldn’t find a better category for.</li>
+</ul>
+<p>After choosing the module, you need to create a class for your check:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="cp">#include "../ClangTidy.h"</span>
+
+<span class="k">namespace</span> <span class="n">clang</span> <span class="p">{</span>
+<span class="k">namespace</span> <span class="n">tidy</span> <span class="p">{</span>
+<span class="k">namespace</span> <span class="n">some_module</span> <span class="p">{</span>
+
+<span class="k">class</span> <span class="nc">MyCheck</span> <span class="o">:</span> <span class="k">public</span> <span class="n">ClangTidyCheck</span> <span class="p">{</span>
+<span class="nl">public:</span>
+  <span class="n">MyCheck</span><span class="p">(</span><span class="n">StringRef</span> <span class="n">Name</span><span class="p">,</span> <span class="n">ClangTidyContext</span> <span class="o">*</span><span class="n">Context</span><span class="p">)</span>
+      <span class="o">:</span> <span class="n">ClangTidyCheck</span><span class="p">(</span><span class="n">Name</span><span class="p">,</span> <span class="n">Context</span><span class="p">)</span> <span class="p">{}</span>
+<span class="p">};</span>
+
+<span class="p">}</span> <span class="c1">// namespace some_module</span>
+<span class="p">}</span> <span class="c1">// namespace tidy</span>
+<span class="p">}</span> <span class="c1">// namespace clang</span>
+</pre></div>
+</div>
+<p>Constructor of the check receives the <tt class="docutils literal"><span class="pre">Name</span></tt> and <tt class="docutils literal"><span class="pre">Context</span></tt> parameters, and
+must forward them to the <tt class="docutils literal"><span class="pre">ClangTidyCheck</span></tt> constructor.</p>
+<p>Next, you need to decide whether it should operate on the preprocessor level or
+on the AST level. Let’s imagine that we need to work with the AST in our check.
+In this case we need to override two methods:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="p">...</span>
+<span class="k">class</span> <span class="nc">ExplicitConstructorCheck</span> <span class="o">:</span> <span class="k">public</span> <span class="n">ClangTidyCheck</span> <span class="p">{</span>
+<span class="nl">public:</span>
+  <span class="n">ExplicitConstructorCheck</span><span class="p">(</span><span class="n">StringRef</span> <span class="n">Name</span><span class="p">,</span> <span class="n">ClangTidyContext</span> <span class="o">*</span><span class="n">Context</span><span class="p">)</span>
+      <span class="o">:</span> <span class="n">ClangTidyCheck</span><span class="p">(</span><span class="n">Name</span><span class="p">,</span> <span class="n">Context</span><span class="p">)</span> <span class="p">{}</span>
+  <span class="kt">void</span> <span class="n">registerMatchers</span><span class="p">(</span><span class="n">ast_matchers</span><span class="o">::</span><span class="n">MatchFinder</span> <span class="o">*</span><span class="n">Finder</span><span class="p">)</span> <span class="n">override</span><span class="p">;</span>
+  <span class="kt">void</span> <span class="n">check</span><span class="p">(</span><span class="n">ast_matchers</span><span class="o">::</span><span class="n">MatchFinder</span><span class="o">::</span><span class="n">MatchResult</span> <span class="o">&</span><span class="n">Result</span><span class="p">)</span> <span class="n">override</span><span class="p">;</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<p>In the <tt class="docutils literal"><span class="pre">registerMatchers</span></tt> method we create an AST Matcher (see <a class="reference external" href="http://clang.llvm.org/docs/LibASTMatchers.html">AST Matchers</a>
+for more information) that will find the pattern in the AST that we want to
+inspect. The results of the matching are passed to the <tt class="docutils literal"><span class="pre">check</span></tt> method, which
+can further inspect them and report diagnostics.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">using</span> <span class="k">namespace</span> <span class="n">ast_matchers</span><span class="p">;</span>
+
+<span class="kt">void</span> <span class="n">ExplicitConstructorCheck</span><span class="o">::</span><span class="n">registerMatchers</span><span class="p">(</span><span class="n">MatchFinder</span> <span class="o">*</span><span class="n">Finder</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">Finder</span><span class="o">-></span><span class="n">addMatcher</span><span class="p">(</span><span class="n">constructorDecl</span><span class="p">().</span><span class="n">bind</span><span class="p">(</span><span class="s">"ctor"</span><span class="p">),</span> <span class="k">this</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="kt">void</span> <span class="n">ExplicitConstructorCheck</span><span class="o">::</span><span class="n">check</span><span class="p">(</span><span class="k">const</span> <span class="n">MatchFinder</span><span class="o">::</span><span class="n">MatchResult</span> <span class="o">&</span><span class="n">Result</span><span class="p">)</span> <span class="p">{</span>
+  <span class="k">const</span> <span class="k">auto</span> <span class="o">*</span><span class="n">Ctor</span> <span class="o">=</span> <span class="n">Result</span><span class="p">.</span><span class="n">Nodes</span><span class="p">.</span><span class="n">getNodeAs</span><span class="o"><</span><span class="n">CXXConstructorDecl</span><span class="o">></span><span class="p">(</span><span class="s">"ctor"</span><span class="p">);</span>
+  <span class="c1">// Do not be confused: isExplicit means 'explicit' keyword is present,</span>
+  <span class="c1">// isImplicit means that it's a compiler-generated constructor.</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">Ctor</span><span class="o">-></span><span class="n">isOutOfLine</span><span class="p">()</span> <span class="o">||</span> <span class="n">Ctor</span><span class="o">-></span><span class="n">isExplicit</span><span class="p">()</span> <span class="o">||</span> <span class="n">Ctor</span><span class="o">-></span><span class="n">isImplicit</span><span class="p">())</span>
+    <span class="k">return</span><span class="p">;</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">Ctor</span><span class="o">-></span><span class="n">getNumParams</span><span class="p">()</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">Ctor</span><span class="o">-></span><span class="n">getMinRequiredArguments</span><span class="p">()</span> <span class="o">></span> <span class="mi">1</span><span class="p">)</span>
+    <span class="k">return</span><span class="p">;</span>
+  <span class="n">SourceLocation</span> <span class="n">Loc</span> <span class="o">=</span> <span class="n">Ctor</span><span class="o">-></span><span class="n">getLocation</span><span class="p">();</span>
+  <span class="n">diag</span><span class="p">(</span><span class="n">Loc</span><span class="p">,</span> <span class="s">"single-argument constructors must be explicit"</span><span class="p">)</span>
+      <span class="o"><<</span> <span class="n">FixItHint</span><span class="o">::</span><span class="n">CreateInsertion</span><span class="p">(</span><span class="n">Loc</span><span class="p">,</span> <span class="s">"explicit "</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>(The full code for this check resides in
+<a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/google/ExplicitConstructorCheck.h">clang-tidy/google/ExplicitConstructorCheck.h</a>
+and <a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/google/ExplicitConstructorCheck.cpp">clang-tidy/google/ExplicitConstructorCheck.cpp</a>).</p>
+</div>
+<div class="section" id="registering-your-check">
+<h3><a class="toc-backref" href="#id8">Registering your Check</a><a class="headerlink" href="#registering-your-check" title="Permalink to this headline">¶</a></h3>
+<p>The check should be registered in the corresponding module with a distinct name:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyModule</span> <span class="o">:</span> <span class="k">public</span> <span class="n">ClangTidyModule</span> <span class="p">{</span>
+ <span class="nl">public:</span>
+  <span class="kt">void</span> <span class="n">addCheckFactories</span><span class="p">(</span><span class="n">ClangTidyCheckFactories</span> <span class="o">&</span><span class="n">CheckFactories</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span>
+    <span class="n">CheckFactories</span><span class="p">.</span><span class="n">registerCheck</span><span class="o"><</span><span class="n">ExplicitConstructorCheck</span><span class="o">></span><span class="p">(</span>
+        <span class="s">"my-explicit-constructor"</span><span class="p">);</span>
+  <span class="p">}</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<p>Now we need to register the module in the <tt class="docutils literal"><span class="pre">ClangTidyModuleRegistry</span></tt> using a
+statically initialized variable:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">static</span> <span class="n">ClangTidyModuleRegistry</span><span class="o">::</span><span class="n">Add</span><span class="o"><</span><span class="n">MyModule</span><span class="o">></span> <span class="n">X</span><span class="p">(</span><span class="s">"my-module"</span><span class="p">,</span>
+                                                <span class="s">"Adds my lint checks."</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>When using LLVM build system, we need to use the following hack to ensure the
+module is linked into the clang-tidy binary:</p>
+<p>Add this near the <tt class="docutils literal"><span class="pre">ClangTidyModuleRegistry::Add<MyModule></span></tt> variable:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="c1">// This anchor is used to force the linker to link in the generated object file</span>
+<span class="c1">// and thus register the MyModule.</span>
+<span class="k">volatile</span> <span class="kt">int</span> <span class="n">MyModuleAnchorSource</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>And this to the main translation unit of the clang-tidy binary (or the binary
+you link the <tt class="docutils literal"><span class="pre">clang-tidy</span></tt> library in) <tt class="docutils literal"><span class="pre">clang-tidy/tool/ClangTidyMain.cpp</span></tt>:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="c1">// This anchor is used to force the linker to link the MyModule.</span>
+<span class="k">extern</span> <span class="k">volatile</span> <span class="kt">int</span> <span class="n">MyModuleAnchorSource</span><span class="p">;</span>
+<span class="k">static</span> <span class="kt">int</span> <span class="n">MyModuleAnchorDestination</span> <span class="o">=</span> <span class="n">MyModuleAnchorSource</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="configuring-checks">
+<h3><a class="toc-backref" href="#id9">Configuring Checks</a><a class="headerlink" href="#configuring-checks" title="Permalink to this headline">¶</a></h3>
+<p>If a check needs configuration options, it can access check-specific options
+using the <tt class="docutils literal"><span class="pre">Options.get<Type>("SomeOption",</span> <span class="pre">DefaultValue)</span></tt> call in the check
+constructor. In this case the check should also override the
+<tt class="docutils literal"><span class="pre">ClangTidyCheck::storeOptions</span></tt> method to make the options provided by the
+check discoverable. This method lets <strong class="program">clang-tidy</strong> know which options
+the check implements and what the current values are (e.g. for the
+<tt class="docutils literal"><span class="pre">-dump-config</span></tt> command line option).</p>
+<div class="highlight-c++"><div class="highlight"><pre><span class="k">class</span> <span class="nc">MyCheck</span> <span class="o">:</span> <span class="k">public</span> <span class="n">ClangTidyCheck</span> <span class="p">{</span>
+  <span class="k">const</span> <span class="kt">unsigned</span> <span class="n">SomeOption1</span><span class="p">;</span>
+  <span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">SomeOption2</span><span class="p">;</span>
+
+<span class="nl">public:</span>
+  <span class="n">MyCheck</span><span class="p">(</span><span class="n">StringRef</span> <span class="n">Name</span><span class="p">,</span> <span class="n">ClangTidyContext</span> <span class="o">*</span><span class="n">Context</span><span class="p">)</span>
+    <span class="o">:</span> <span class="n">ClangTidyCheck</span><span class="p">(</span><span class="n">Name</span><span class="p">,</span> <span class="n">Context</span><span class="p">),</span>
+      <span class="n">SomeOption</span><span class="p">(</span><span class="n">Options</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="s">"SomeOption1"</span><span class="p">,</span> <span class="o">-</span><span class="mi">1U</span><span class="p">)),</span>
+      <span class="n">SomeOption</span><span class="p">(</span><span class="n">Options</span><span class="p">.</span><span class="n">get</span><span class="p">(</span><span class="s">"SomeOption2"</span><span class="p">,</span> <span class="s">"some default"</span><span class="p">))</span> <span class="p">{}</span>
+
+  <span class="kt">void</span> <span class="n">storeOptions</span><span class="p">(</span><span class="n">ClangTidyOptions</span><span class="o">::</span><span class="n">OptionMap</span> <span class="o">&</span><span class="n">Opts</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span>
+    <span class="n">Options</span><span class="p">.</span><span class="n">store</span><span class="p">(</span><span class="n">Opts</span><span class="p">,</span> <span class="s">"SomeOption1"</span><span class="p">,</span> <span class="n">SomeOption1</span><span class="p">);</span>
+    <span class="n">Options</span><span class="p">.</span><span class="n">store</span><span class="p">(</span><span class="n">Opts</span><span class="p">,</span> <span class="s">"SomeOption2"</span><span class="p">,</span> <span class="n">SomeOption2</span><span class="p">);</span>
+  <span class="p">}</span>
+  <span class="p">...</span>
+</pre></div>
+</div>
+<p>Assuming the check is registered with the name “my-check”, the option can then
+be set in a <tt class="docutils literal"><span class="pre">.clang-tidy</span></tt> file in the following way:</p>
+<div class="highlight-yaml"><div class="highlight"><pre><span class="l-Scalar-Plain">CheckOptions</span><span class="p-Indicator">:</span>
+  <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">my-check.SomeOption1</span>
+    <span class="l-Scalar-Plain">value</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">123</span>
+  <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">my-check.SomeOption2</span>
+    <span class="l-Scalar-Plain">value</span><span class="p-Indicator">:</span> <span class="s">'some</span><span class="nv"> </span><span class="s">other</span><span class="nv"> </span><span class="s">value'</span>
+</pre></div>
+</div>
+<p>If you need to specify check options on a command line, you can use the inline
+YAML format:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span class="nv">$ </span>clang-tidy -config<span class="o">=</span><span class="s2">"{CheckOptions: [{key: a, value: b}, {key: x, value: y}]}"</span> ...
+</pre></div>
+</div>
+</div>
+<div class="section" id="testing-checks">
+<h3><a class="toc-backref" href="#id10">Testing Checks</a><a class="headerlink" href="#testing-checks" title="Permalink to this headline">¶</a></h3>
+<p><strong class="program">clang-tidy</strong> checks can be tested using either unit tests or
+<a class="reference external" href="http://llvm.org/docs/CommandGuide/lit.html">lit</a> tests. Unit tests may be more convenient to test complex replacements
+with strict checks. <a class="reference external" href="http://llvm.org/docs/CommandGuide/lit.html">Lit</a> tests allow using partial text matching and regular
+expressions which makes them more suitable for writing compact tests for
+diagnostic messages.</p>
+<p>The <tt class="docutils literal"><span class="pre">check_clang_tidy.py</span></tt> script provides an easy way to test both
+diagnostic messages and fix-its. It filters out <tt class="docutils literal"><span class="pre">CHECK</span></tt> lines from the test
+file, runs <strong class="program">clang-tidy</strong> and verifies messages and fixes with two
+separate <a class="reference external" href="http://llvm.org/docs/CommandGuide/FileCheck.html">FileCheck</a> invocations. To use the script, put a .cpp file with the
+appropriate <tt class="docutils literal"><span class="pre">RUN</span></tt> line in the <tt class="docutils literal"><span class="pre">test/clang-tidy</span></tt> directory.  Use
+<tt class="docutils literal"><span class="pre">CHECK-MESSAGES:</span></tt> and <tt class="docutils literal"><span class="pre">CHECK-FIXES:</span></tt> lines to write checks against
+diagnostic messages and fixed code.</p>
+<p>It’s advised to make the checks as specific as possible to avoid checks matching
+to incorrect parts of the input. Use <tt class="docutils literal"><span class="pre">[[@LINE+X]]</span></tt>/<tt class="docutils literal"><span class="pre">[[@LINE-X]]</span></tt>
+substitutions and distinct function and variable names in the test code.</p>
+<p>Here’s an example of a test using the <tt class="docutils literal"><span class="pre">check_clang_tidy.py</span></tt> script (the full
+source code is at <a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp">test/clang-tidy/google-readability-casting.cpp</a>):</p>
+<div class="highlight-bash"><div class="highlight"><pre>// RUN: %check_clang_tidy %s google-readability-casting %t
+
+void f<span class="o">(</span>int a<span class="o">)</span> <span class="o">{</span>
+  int <span class="nv">b</span> <span class="o">=</span> <span class="o">(</span>int<span class="o">)</span>a;
+  // CHECK-MESSAGES: :<span class="o">[[</span>@LINE-1<span class="o">]]</span>:11: warning: redundant cast to the same <span class="nb">type</span> <span class="o">[</span>google-readability-casting<span class="o">]</span>
+  // CHECK-FIXES: int <span class="nv">b</span> <span class="o">=</span> a;
+<span class="o">}</span>
+</pre></div>
+</div>
+<p>There are many dark corners in the C++ language, and it may be difficult to make
+your check work perfectly in all cases, especially if it issues fixit hints. The
+most frequent pitfalls are macros and templates:</p>
+<ol class="arabic simple">
+<li>code written in a macro body/template definition may have a different meaning
+depending on the macro expansion/template instantiation;</li>
+<li>multiple macro expansions/template instantiations may result in the same code
+being inspected by the check multiple times (possibly, with different
+meanings, see 1), and the same warning (or a slightly different one) may be
+issued by the check multipe times; clang-tidy will deduplicate _identical_
+warnings, but if the warnings are slightly different, all of them will be
+shown to the user (and used for applying fixes, if any);</li>
+<li>making replacements to a macro body/template definition may be fine for some
+macro expansions/template instantiations, but easily break some other
+expansions/instantiations.</li>
+</ol>
+</div>
+<div class="section" id="running-clang-tidy-on-llvm">
+<h3><a class="toc-backref" href="#id11">Running clang-tidy on LLVM</a><a class="headerlink" href="#running-clang-tidy-on-llvm" title="Permalink to this headline">¶</a></h3>
+<p>To test a check it’s best to try it out on a larger code base. LLVM and Clang
+are the natural targets as you already have the source code around. The most
+convenient way to run <strong class="program">clang-tidy</strong> is with a compile command database;
+CMake can automatically generate one, for a description of how to enable it see
+<a class="reference external" href="http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html">How To Setup Tooling For LLVM</a>. Once <tt class="docutils literal"><span class="pre">compile_commands.json</span></tt> is in place and
+a working version of <strong class="program">clang-tidy</strong> is in <tt class="docutils literal"><span class="pre">PATH</span></tt> the entire code base
+can be analyzed with <tt class="docutils literal"><span class="pre">clang-tidy/tool/run-clang-tidy.py</span></tt>. The script executes
+<strong class="program">clang-tidy</strong> with the default set of checks on every translation unit
+in the compile command database and displays the resulting warnings and errors.
+The script provides multiple configuration flags.</p>
+<ul class="simple">
+<li>The default set of checks can be overridden using the <tt class="docutils literal"><span class="pre">-checks</span></tt> argument,
+taking the identical format as <strong class="program">clang-tidy</strong> does. For example
+<tt class="docutils literal"><span class="pre">-checks=-*,modernize-use-override</span></tt> will run the <tt class="docutils literal"><span class="pre">modernize-use-override</span></tt>
+check only.</li>
+<li>To restrict the files examined you can provide one or more regex arguments
+that the file names are matched against.
+<tt class="docutils literal"><span class="pre">run-clang-tidy.py</span> <span class="pre">clang-tidy/.*Check\.cpp</span></tt> will only analyze clang-tidy
+checkers. It may also be necessary to restrict the header files warnings are
+displayed from using the <tt class="docutils literal"><span class="pre">-header-filter</span></tt> flag. It has the same behavior
+as the corresponding <strong class="program">clang-tidy</strong> flag.</li>
+<li>To apply suggested fixes <tt class="docutils literal"><span class="pre">-fix</span></tt> can be passed as an argument. This gathers
+all changes in a temporary directory and applies them. Passing <tt class="docutils literal"><span class="pre">-format</span></tt>
+will run clang-format over changed lines.</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="../ReleaseNotes.html">Extra Clang Tools 3.9 Release Notes</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="checks/list.html">Clang-Tidy Checks</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/cpp11-migrate.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/cpp11-migrate.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/cpp11-migrate.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/cpp11-migrate.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title><no title> — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="index.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span><no title></span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <p>All <strong class="program">clang-modernize</strong> transforms have moved to <a class="reference internal" href="clang-tidy/index.html"><em>Clang-Tidy</em></a>
+(see the <tt class="docutils literal"><span class="pre">modernize</span></tt> module).</p>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/genindex.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/genindex.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/genindex.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/genindex.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,262 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Index — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="index.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>Index</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+
+<h1 id="index">Index</h1>
+
+<div class="genindex-jumpbox">
+ <a href="#Symbols"><strong>Symbols</strong></a>
+ | <a href="#C"><strong>C</strong></a>
+ | <a href="#M"><strong>M</strong></a>
+ | <a href="#P"><strong>P</strong></a>
+ 
+</div>
+<h2 id="Symbols">Symbols</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt>
+    -block-check-header-list-only
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-block-check-header-list-only">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -coverage-check-only
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-coverage-check-only">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -display-file-lists
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-display-file-lists">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -ignore <callback-name-list>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="pp-trace.html#cmdoption-ignore">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -module-map-path=<module-map-path>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-module-map-path">command line option</a>
+  </dt>
+
+      </dl></dd>
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt>
+    -no-coverage-check
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-no-coverage-check">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -output <output-file>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="pp-trace.html#cmdoption-output">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -prefix=<header-path>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-prefix">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -problem-files-list=<problem-files-list-file-name>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-problem-files-list">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -root-module=<root-name>
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-root-module">command line option</a>
+  </dt>
+
+      </dl></dd>
+  </dl></td>
+</tr></table>
+
+<h2 id="C">C</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt>
+    command line option
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-block-check-header-list-only">-block-check-header-list-only</a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-coverage-check-only">-coverage-check-only</a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-display-file-lists">-display-file-lists</a>
+  </dt>
+
+        
+  <dt><a href="pp-trace.html#cmdoption-ignore">-ignore <callback-name-list></a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-module-map-path">-module-map-path=<module-map-path></a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-no-coverage-check">-no-coverage-check</a>
+  </dt>
+
+        
+  <dt><a href="pp-trace.html#cmdoption-output">-output <output-file></a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-prefix">-prefix=<header-path></a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-problem-files-list">-problem-files-list=<problem-files-list-file-name></a>
+  </dt>
+
+        
+  <dt><a href="ModularizeUsage.html#cmdoption-root-module">-root-module=<root-name></a>
+  </dt>
+
+      </dl></dd>
+  </dl></td>
+</tr></table>
+
+<h2 id="M">M</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="modularize.html#index-0">modularize</a>
+  </dt>
+
+  </dl></td>
+</tr></table>
+
+<h2 id="P">P</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="pp-trace.html#index-0">pp-trace</a>
+  </dt>
+
+  </dl></td>
+</tr></table>
+
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/include-fixer.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/include-fixer.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/include-fixer.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/include-fixer.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Clang-Include-Fixer — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="index.html" />
+    <link rel="next" title="Modularize User’s Manual" href="modularize.html" />
+    <link rel="prev" title="readability-uniqueptr-delete-release" href="clang-tidy/checks/readability-uniqueptr-delete-release.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>Clang-Include-Fixer</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="clang-tidy/checks/readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+          ::  
+        <a href="modularize.html">Modularize User’s Manual</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="clang-include-fixer">
+<h1><a class="toc-backref" href="#id1">Clang-Include-Fixer</a><a class="headerlink" href="#clang-include-fixer" title="Permalink to this headline">¶</a></h1>
+<div class="contents topic" id="contents">
+<p class="topic-title first">Contents</p>
+<ul class="simple">
+<li><a class="reference internal" href="#clang-include-fixer" id="id1">Clang-Include-Fixer</a><ul>
+<li><a class="reference internal" href="#setup" id="id2">Setup</a><ul>
+<li><a class="reference internal" href="#creating-a-symbol-index-from-a-compilation-database" id="id3">Creating a Symbol Index From a Compilation Database</a></li>
+<li><a class="reference internal" href="#integrate-with-vim" id="id4">Integrate with Vim</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#how-it-works" id="id5">How it Works</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>One of the major nuisances of C++ compared to other languages is the manual
+management of <tt class="docutils literal"><span class="pre">#include</span></tt> directives in any file.
+<strong class="program">clang-include-fixer</strong> addresses one aspect of this problem by providing
+an automated way of adding <tt class="docutils literal"><span class="pre">#include</span></tt> directives for missing symbols in one
+translation unit.</p>
+<div class="section" id="setup">
+<h2><a class="toc-backref" href="#id2">Setup</a><a class="headerlink" href="#setup" title="Permalink to this headline">¶</a></h2>
+<p>To use <strong class="program">clang-include-fixer</strong> two databases are required. Both can be
+generated with existing tools.</p>
+<ul class="simple">
+<li>Compilation database. Contains the compiler commands for any given file in a
+project and can be generated by CMake, see <a class="reference external" href="http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html">How To Setup Tooling For LLVM</a>.</li>
+<li>Symbol index. Contains all symbol information in a project to match a given
+identifier to a header file.</li>
+</ul>
+<p>Ideally both databases (<tt class="docutils literal"><span class="pre">compile_commands.json</span></tt> and
+<tt class="docutils literal"><span class="pre">find_all_symbols_db.yaml</span></tt>) are linked into the root of the source tree they
+correspond to. Then the <strong class="program">clang-include-fixer</strong> can automatically pick
+them up if called with a source file from that tree. Note that by default
+<tt class="docutils literal"><span class="pre">compile_commands.json</span></tt> as generated by CMake does not include header files,
+so only implementation files can be handled by tools.</p>
+<div class="section" id="creating-a-symbol-index-from-a-compilation-database">
+<h3><a class="toc-backref" href="#id3">Creating a Symbol Index From a Compilation Database</a><a class="headerlink" href="#creating-a-symbol-index-from-a-compilation-database" title="Permalink to this headline">¶</a></h3>
+<p>The include fixer contains <strong class="program">find-all-symbols</strong>, a tool to create a
+symbol database in YAML format from a compilation database by parsing all
+source files listed in it. The following list of commands shows how to set up a
+database for LLVM, any project built by CMake should follow similar steps.</p>
+<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> <span class="nb">cd </span>path/to/llvm-build
+<span class="gp">$</span> ninja find-all-symbols // build find-all-symbols tool.
+<span class="gp">$</span> ninja clang-include-fixer // build clang-include-fixer tool.
+<span class="gp">$</span> ls compile_commands.json <span class="c"># Make sure compile_commands.json exists.</span>
+<span class="go">  compile_commands.json</span>
+<span class="gp">$</span> path/to/llvm/source/tools/clang/tools/extra/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
+<span class="go">  ... wait as clang indexes the code base ...</span>
+<span class="gp">$</span> ln -s <span class="nv">$PWD</span>/find_all_symbols_db.yaml path/to/llvm/source/ <span class="c"># Link database into the source tree.</span>
+<span class="gp">$</span> ln -s <span class="nv">$PWD</span>/compile_commands.json path/to/llvm/source/ <span class="c"># Also link compilation database if it's not there already.</span>
+<span class="gp">$</span> <span class="nb">cd </span>path/to/llvm/source
+<span class="gp">$</span> /path/to/clang-include-fixer -db<span class="o">=</span>yaml path/to/file/with/missing/include.cpp
+<span class="go">  Added #include "foo.h"</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="integrate-with-vim">
+<h3><a class="toc-backref" href="#id4">Integrate with Vim</a><a class="headerlink" href="#integrate-with-vim" title="Permalink to this headline">¶</a></h3>
+<p>To run <cite>clang-include-fixer</cite> on a potentially unsaved buffer in Vim. Add the
+following key binding to your <tt class="docutils literal"><span class="pre">.vimrc</span></tt>:</p>
+<div class="highlight-console"><div class="highlight"><pre><span class="go">map ,cf :pyf path/to/llvm/source/tools/clang/tools/extra/include-fixer/tool/clang-include-fixer.py<cr></span>
+</pre></div>
+</div>
+<p>This enables <cite>clang-include-fixer</cite> for NORMAL and VISUAL mode. Change <tt class="docutils literal"><span class="pre">,cf</span></tt> to
+another binding if you need clang-include-fixer on a different key.</p>
+<p>Make sure vim can find <strong class="program">clang-include-fixer</strong>:</p>
+<ul class="simple">
+<li>Add the path to <strong class="program">clang-include-fixer</strong> to the PATH environment variable.</li>
+<li>Or set <tt class="docutils literal"><span class="pre">g:clang_include_fixer_path</span></tt> in vimrc: <tt class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_path=path/to/clang-include-fixer</span></tt></li>
+</ul>
+<p>You can customize the number of headers being shown by setting
+<tt class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_maximum_suggested_headers=5</span></tt></p>
+<p>See <tt class="docutils literal"><span class="pre">clang-include-fixer.py</span></tt> for more details.</p>
+</div>
+</div>
+<div class="section" id="how-it-works">
+<h2><a class="toc-backref" href="#id5">How it Works</a><a class="headerlink" href="#how-it-works" title="Permalink to this headline">¶</a></h2>
+<p>To get the most information out of clang at parse time,
+<strong class="program">clang-include-fixer</strong> runs in tandem with the parse and receives
+callbacks from Clang’s semantic analysis. In particular it reuses the existing
+support for typo corrections. Whenever Clang tries to correct a potential typo
+it emits a callback to the include fixer which then looks for a corresponding
+file. At this point rich lookup information is still available, which is not
+available in the AST at a later stage.</p>
+<p>The identifier that should be typo corrected is then sent to the database, if a
+header file is returned it is added as an include directive at the top of the
+file.</p>
+<p>Currently <strong class="program">clang-include-fixer</strong> only inserts a single include at a
+time to avoid getting caught in follow-up errors. If multiple <cite>#include</cite>
+additions are desired the program can be rerun until a fix-point is reached.</p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="clang-tidy/checks/readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+          ::  
+        <a href="modularize.html">Modularize User’s Manual</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/index.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/index.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/index.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Welcome to Extra Clang Tools’s documentation! — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="#" />
+    <link rel="next" title="Extra Clang Tools 3.9 Release Notes" href="ReleaseNotes.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="#">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>Welcome to Extra Clang Tools’s documentation!</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        <a class="uplink" href="#">Contents</a>
+          ::  
+        <a href="ReleaseNotes.html">Extra Clang Tools 3.9 Release Notes</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="introduction">
+<h1>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h1>
+<p>Welcome to the clang-tools-extra project which contains extra tools built using
+Clang’s tooling API’s.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="ReleaseNotes.html">Extra Clang Tools 3.9 Release Notes</a></li>
+</ul>
+</div>
+</div>
+<div class="section" id="contents">
+<h1>Contents<a class="headerlink" href="#contents" title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="clang-tidy/index.html">Clang-Tidy</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clang-tidy/checks/list.html">The list of clang-tidy checks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clang-tidy/index.html#using-clang-tidy">Using clang-tidy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clang-tidy/index.html#getting-involved">Getting Involved</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="include-fixer.html">Clang-Include-Fixer</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="include-fixer.html#setup">Setup</a></li>
+<li class="toctree-l2"><a class="reference internal" href="include-fixer.html#how-it-works">How it Works</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="modularize.html">Modularize User’s Manual</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="modularize.html#getting-started">Getting Started</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modularize.html#what-modularize-checks">What Modularize Checks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modularize.html#module-map-coverage-check">Module Map Coverage Check</a></li>
+<li class="toctree-l2"><a class="reference internal" href="modularize.html#module-map-generation">Module Map Generation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="pp-trace.html">pp-trace User’s Manual</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pp-trace.html#pp-trace-usage">pp-trace Usage</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pp-trace.html#pp-trace-output-format">pp-trace Output Format</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pp-trace.html#building-pp-trace">Building pp-trace</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="clang-rename.html">Clang-Rename</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clang-rename.html#using-clang-rename">Using clang-rename</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clang-rename.html#clang-rename-vim-integration">clang-rename Vim integration</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div class="section" id="indices-and-tables">
+<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1>
+<ul class="simple">
+<li><a class="reference internal" href="genindex.html"><em>Index</em></a></li>
+<li><a class="reference internal" href="search.html"><em>Search Page</em></a></li>
+</ul>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        <a class="uplink" href="#">Contents</a>
+          ::  
+        <a href="ReleaseNotes.html">Extra Clang Tools 3.9 Release Notes</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/modularize.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/modularize.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/modularize.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/modularize.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,309 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Modularize User’s Manual — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="index.html" />
+    <link rel="next" title="Modularize Usage" href="ModularizeUsage.html" />
+    <link rel="prev" title="Clang-Include-Fixer" href="include-fixer.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>Modularize User’s Manual</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="include-fixer.html">Clang-Include-Fixer</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+          ::  
+        <a href="ModularizeUsage.html">Modularize Usage</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modularize-user-s-manual">
+<span id="index-0"></span><h1>Modularize User’s Manual<a class="headerlink" href="#modularize-user-s-manual" title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+</div>
+<p><strong class="program">modularize</strong> is a standalone tool that checks whether a set of headers
+provides the consistent definitions required to use modules. For example, it
+detects whether the same entity (say, a NULL macro or size_t typedef) is
+defined in multiple headers or whether a header produces different definitions
+under different circumstances. These conditions cause modules built from the
+headers to behave poorly, and should be fixed before introducing a module
+map.</p>
+<p><strong class="program">modularize</strong> also has an assistant mode option for generating
+a module map file based on the provided header list.  The generated file
+is a functional module map that can be used as a starting point for a
+module.map file.</p>
+<div class="section" id="getting-started">
+<h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h2>
+<p>To build from source:</p>
+<ol class="arabic simple">
+<li>Read <a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="http://clang.llvm.org/docs/ClangTools.html">Clang Tools
+Documentation</a> for information on getting sources for LLVM, Clang, and
+Clang Extra Tools.</li>
+<li><a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="http://llvm.org/docs/CMake.html">Building LLVM with CMake</a> give
+directions for how to build. With sources all checked out into the
+right place the LLVM build will build Clang Extra Tools and their
+dependencies automatically.<ul>
+<li>If using CMake, you can also use the <tt class="docutils literal"><span class="pre">modularize</span></tt> target to build
+just the modularize tool and its dependencies.</li>
+</ul>
+</li>
+</ol>
+<p>Before continuing, take a look at <a class="reference internal" href="ModularizeUsage.html"><em>Modularize Usage</em></a> to see how to invoke
+modularize.</p>
+</div>
+<div class="section" id="what-modularize-checks">
+<h2>What Modularize Checks<a class="headerlink" href="#what-modularize-checks" title="Permalink to this headline">¶</a></h2>
+<p>Modularize will check for the following:</p>
+<ul class="simple">
+<li>Duplicate global type and variable definitions</li>
+<li>Duplicate macro definitions</li>
+<li>Macro instances, ‘defined(macro)’, or #if, #elif, #ifdef, #ifndef conditions
+that evaluate differently in a header</li>
+<li>#include directives inside ‘extern “C/C++” {}’ or ‘namespace (name) {}’ blocks</li>
+<li>Module map header coverage completeness (in the case of a module map input
+only)</li>
+</ul>
+<p>Modularize will do normal C/C++ parsing, reporting normal errors and warnings,
+but will also report special error messages like the following:</p>
+<div class="highlight-python"><div class="highlight"><pre>error: '(symbol)' defined at multiple locations:
+   (file):(row):(column)
+   (file):(row):(column)
+
+error: header '(file)' has different contents depending on how it was included
+</pre></div>
+</div>
+<p>The latter might be followed by messages like the following:</p>
+<div class="highlight-python"><div class="highlight"><pre>note: '(symbol)' in (file) at (row):(column) not always provided
+</pre></div>
+</div>
+<p>Checks will also be performed for macro expansions, defined(macro)
+expressions, and preprocessor conditional directives that evaluate
+inconsistently, and can produce error messages like the following:</p>
+<div class="highlight-python"><div class="highlight"><pre> (...)/SubHeader.h:11:5:
+#if SYMBOL == 1
+    ^
+error: Macro instance 'SYMBOL' has different values in this header,
+       depending on how it was included.
+  'SYMBOL' expanded to: '1' with respect to these inclusion paths:
+    (...)/Header1.h
+      (...)/SubHeader.h
+(...)/SubHeader.h:3:9:
+#define SYMBOL 1
+        ^
+Macro defined here.
+  'SYMBOL' expanded to: '2' with respect to these inclusion paths:
+    (...)/Header2.h
+        (...)/SubHeader.h
+(...)/SubHeader.h:7:9:
+#define SYMBOL 2
+        ^
+Macro defined here.
+</pre></div>
+</div>
+<p>Checks will also be performed for ‘#include’ directives that are
+nested inside ‘extern “C/C++” {}’ or ‘namespace (name) {}’ blocks,
+and can produce error message like the following:</p>
+<div class="highlight-python"><div class="highlight"><pre>IncludeInExtern.h:2:3:
+#include "Empty.h"
+^
+error: Include directive within extern "C" {}.
+IncludeInExtern.h:1:1:
+extern "C" {
+^
+The "extern "C" {}" block is here.
+</pre></div>
+</div>
+</div>
+<div class="section" id="module-map-coverage-check">
+<span id="module-map-coverage"></span><h2>Module Map Coverage Check<a class="headerlink" href="#module-map-coverage-check" title="Permalink to this headline">¶</a></h2>
+<p>The coverage check uses the Clang library to read and parse the
+module map file.  Starting at the module map file directory, or just the
+include paths, if specified, it will collect the names of all the files it
+considers headers (no extension, .h, or .inc–if you need more, modify the
+isHeader function).  It then compares the headers against those referenced
+in the module map, either explicitly named, or implicitly named via an
+umbrella directory or umbrella file, as parsed by the ModuleMap object.
+If headers are found which are not referenced or covered by an umbrella
+directory or file, warning messages will be produced, and this program
+will return an error code of 1. If no problems are found, an error code of
+0 is returned.</p>
+<p>Note that in the case of umbrella headers, this tool invokes the compiler
+to preprocess the file, and uses a callback to collect the header files
+included by the umbrella header or any of its nested includes.  If any
+front end options are needed for these compiler invocations, these
+can be included on the command line after the module map file argument.</p>
+<p>Warning message have the form:</p>
+<blockquote>
+<div>warning: module.modulemap does not account for file: Level3A.h</div></blockquote>
+<p>Note that for the case of the module map referencing a file that does
+not exist, the module map parser in Clang will (at the time of this
+writing) display an error message.</p>
+<p>To limit the checks <strong class="program">modularize</strong> does to just the module
+map coverage check, use the <tt class="docutils literal"><span class="pre">-coverage-check-only</span> <span class="pre">option</span></tt>.</p>
+<p>For example:</p>
+<div class="highlight-python"><div class="highlight"><pre>modularize -coverage-check-only module.modulemap
+</pre></div>
+</div>
+</div>
+<div class="section" id="module-map-generation">
+<span id="id1"></span><h2>Module Map Generation<a class="headerlink" href="#module-map-generation" title="Permalink to this headline">¶</a></h2>
+<p>If you specify the <tt class="docutils literal"><span class="pre">-module-map-path=<module</span> <span class="pre">map</span> <span class="pre">file></span></tt>,
+<strong class="program">modularize</strong> will output a module map based on the input header list.
+A module will be created for each header.  Also, if the header in the header
+list is a partial path, a nested module hierarchy will be created in which a
+module will be created for each subdirectory component in the header path,
+with the header itself represented by the innermost module.  If other headers
+use the same subdirectories, they will be enclosed in these same modules also.</p>
+<p>For example, for the header list:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">SomeTypes</span><span class="o">.</span><span class="n">h</span>
+<span class="n">SomeDecls</span><span class="o">.</span><span class="n">h</span>
+<span class="n">SubModule1</span><span class="o">/</span><span class="n">Header1</span><span class="o">.</span><span class="n">h</span>
+<span class="n">SubModule1</span><span class="o">/</span><span class="n">Header2</span><span class="o">.</span><span class="n">h</span>
+<span class="n">SubModule2</span><span class="o">/</span><span class="n">Header3</span><span class="o">.</span><span class="n">h</span>
+<span class="n">SubModule2</span><span class="o">/</span><span class="n">Header4</span><span class="o">.</span><span class="n">h</span>
+<span class="n">SubModule2</span><span class="o">.</span><span class="n">h</span>
+</pre></div>
+</div>
+<p>The following module map will be generated:</p>
+<div class="highlight-python"><div class="highlight"><pre>// Output/NoProblemsAssistant.txt
+// Generated by: modularize -module-map-path=Output/NoProblemsAssistant.txt \
+     -root-module=Root NoProblemsAssistant.modularize
+
+module SomeTypes {
+  header "SomeTypes.h"
+  export *
+}
+module SomeDecls {
+  header "SomeDecls.h"
+  export *
+}
+module SubModule1 {
+  module Header1 {
+    header "SubModule1/Header1.h"
+    export *
+  }
+  module Header2 {
+    header "SubModule1/Header2.h"
+    export *
+  }
+}
+module SubModule2 {
+  module Header3 {
+    header "SubModule2/Header3.h"
+    export *
+  }
+  module Header4 {
+    header "SubModule2/Header4.h"
+    export *
+  }
+  header "SubModule2.h"
+  export *
+}
+</pre></div>
+</div>
+<p>An optional <tt class="docutils literal"><span class="pre">-root-module=<root-name></span></tt> option can be used to cause a root module
+to be created which encloses all the modules.</p>
+<p>An optional <tt class="docutils literal"><span class="pre">-problem-files-list=<problem-file-name></span></tt> can be used to input
+a list of files to be excluded, perhaps as a temporary stop-gap measure until
+problem headers can be fixed.</p>
+<p>For example, with the same header list from above:</p>
+<div class="highlight-python"><div class="highlight"><pre>// Output/NoProblemsAssistant.txt
+// Generated by: modularize -module-map-path=Output/NoProblemsAssistant.txt \
+     -root-module=Root NoProblemsAssistant.modularize
+
+module Root {
+  module SomeTypes {
+    header "SomeTypes.h"
+    export *
+  }
+  module SomeDecls {
+    header "SomeDecls.h"
+    export *
+  }
+  module SubModule1 {
+    module Header1 {
+      header "SubModule1/Header1.h"
+      export *
+    }
+    module Header2 {
+      header "SubModule1/Header2.h"
+      export *
+    }
+  }
+  module SubModule2 {
+    module Header3 {
+      header "SubModule2/Header3.h"
+      export *
+    }
+    module Header4 {
+      header "SubModule2/Header4.h"
+      export *
+    }
+    header "SubModule2.h"
+    export *
+  }
+}
+</pre></div>
+</div>
+<p>Note that headers with dependents will be ignored with a warning, as the
+Clang module mechanism doesn’t support headers the rely on other headers
+to be included first.</p>
+<p>The module map format defines some keywords which can’t be used in module
+names.  If a header has one of these names, an underscore (‘_’) will be
+prepended to the name.  For example, if the header name is <tt class="docutils literal"><span class="pre">header.h</span></tt>,
+because <tt class="docutils literal"><span class="pre">header</span></tt> is a keyword, the module name will be <tt class="docutils literal"><span class="pre">_header</span></tt>.
+For a list of the module map keywords, please see:
+<a class="reference external" href="http://clang.llvm.org/docs/Modules.html#lexical-structure">Lexical structure</a></p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="include-fixer.html">Clang-Include-Fixer</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+          ::  
+        <a href="ModularizeUsage.html">Modularize Usage</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/objects.inv
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/objects.inv?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/objects.inv (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/objects.inv Fri Sep  2 10:56:46 2016
@@ -0,0 +1,8 @@
+# Sphinx inventory version 2
+# Project: Extra Clang Tools
+# Version: 3.9
+# The remainder of this file is compressed using zlib.
+xڝSÝjà ¾÷)„õ֕Þ1Xia쬞&Rõˆš±ìégr’Ò´Ýhvõû;?ucA8D¹æ)ë'Ù ç+¾ée4ßð‘duvöA9M€L„ó5›¦M
+V¶â`Š¹5)§Ù
+?!–7¡jPGÞ¶³5ö•jbæbØäÐä)-‘£T7ñ/j˜í³ 	ÎæšÊc„ûӆˆ{®ŸXê»4ײo¼Z+÷`¹Xññ–üµûf¥¦ÐЊña at o¨v"%QÕS
+Ý
èwìJ<¦Ð9éµ5(aºðš´bÁׄço…À·Ä`4ñF'óßôñÌ·´$Ï=‡ý}ã*LuÜ©«£ÒPòF†’i ¬»íaMº¢ÿ£ŸÑ¹}CÑêgy€—‰¯0FP9štl‹‰Oԗ+Ee¥¯D6º]ö[Ÿ–Å¢/Â"vð¥®<ú	ö\Ú©µ
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/pp-trace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/pp-trace.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/pp-trace.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/pp-trace.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,1512 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>pp-trace User’s Manual — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="index.html" />
+    <link rel="next" title="Clang-Rename" href="clang-rename.html" />
+    <link rel="prev" title="Modularize Usage" href="ModularizeUsage.html" /> 
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>pp-trace User’s Manual</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        «  <a href="ModularizeUsage.html">Modularize Usage</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+          ::  
+        <a href="clang-rename.html">Clang-Rename</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="pp-trace-user-s-manual">
+<span id="index-0"></span><h1>pp-trace User’s Manual<a class="headerlink" href="#pp-trace-user-s-manual" title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+</div>
+<p><strong class="program">pp-trace</strong> is a standalone tool that traces preprocessor
+activity.  It’s also used as a test of Clang’s PPCallbacks interface.
+It runs a given source file through the Clang preprocessor, displaying
+selected information from callback functions overridden in a
+<a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html">PPCallbacks</a>
+derivation.  The output is in a high-level YAML format, described in
+<a class="reference internal" href="#outputformat"><em>pp-trace Output Format</em></a>.</p>
+<div class="section" id="pp-trace-usage">
+<span id="usage"></span><h2>pp-trace Usage<a class="headerlink" href="#pp-trace-usage" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="command-line-format">
+<h3>Command Line Format<a class="headerlink" href="#command-line-format" title="Permalink to this headline">¶</a></h3>
+<p><tt class="docutils literal"><span class="pre">pp-trace</span> <span class="pre">[<pp-trace-options>]</span> <span class="pre"><source-file></span> <span class="pre">[<front-end-options>]</span></tt></p>
+<p><tt class="docutils literal"><span class="pre"><pp-trace-options></span></tt> is a place-holder for options
+specific to pp-trace, which are described below in
+<a class="reference internal" href="#commandlineoptions"><em>Command Line Options</em></a>.</p>
+<p><tt class="docutils literal"><span class="pre"><source-file></span></tt> specifies the source file to run through the preprocessor.</p>
+<p><tt class="docutils literal"><span class="pre"><front-end-options></span></tt> is a place-holder for regular
+<a class="reference external" href="http://clang.llvm.org/docs/UsersManual.html#command-line-options">Clang Compiler Options</a>,
+which must follow the <source-file>.</p>
+</div>
+<div class="section" id="command-line-options">
+<span id="commandlineoptions"></span><h3>Command Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this headline">¶</a></h3>
+<dl class="option">
+<dt id="cmdoption-ignore">
+<tt class="descname">-ignore</tt><tt class="descclassname"> <callback-name-list></tt><a class="headerlink" href="#cmdoption-ignore" title="Permalink to this definition">¶</a></dt>
+<dd><p>This option specifies a comma-separated list of names of callbacks
+that shouldn’t be traced.  It can be used to eliminate unwanted
+trace output.  The callback names are the name of the actual
+callback function names in the PPCallbacks class:</p>
+<ul class="simple">
+<li>FileChanged</li>
+<li>FileSkipped</li>
+<li>FileNotFound</li>
+<li>InclusionDirective</li>
+<li>moduleImport</li>
+<li>EndOfMainFile</li>
+<li>Ident</li>
+<li>PragmaDirective</li>
+<li>PragmaComment</li>
+<li>PragmaDetectMismatch</li>
+<li>PragmaDebug</li>
+<li>PragmaMessage</li>
+<li>PragmaDiagnosticPush</li>
+<li>PragmaDiagnosticPop</li>
+<li>PragmaDiagnostic</li>
+<li>PragmaOpenCLExtension</li>
+<li>PragmaWarning</li>
+<li>PragmaWarningPush</li>
+<li>PragmaWarningPop</li>
+<li>MacroExpands</li>
+<li>MacroDefined</li>
+<li>MacroUndefined</li>
+<li>Defined</li>
+<li>SourceRangeSkipped</li>
+<li>If</li>
+<li>Elif</li>
+<li>Ifdef</li>
+<li>Ifndef</li>
+<li>Else</li>
+<li>Endif</li>
+</ul>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-output">
+<tt class="descname">-output</tt><tt class="descclassname"> <output-file></tt><a class="headerlink" href="#cmdoption-output" title="Permalink to this definition">¶</a></dt>
+<dd><p>By default, pp-trace outputs the trace information to stdout.  Use this
+option to output the trace information to a file.</p>
+</dd></dl>
+
+</div>
+</div>
+<div class="section" id="pp-trace-output-format">
+<span id="outputformat"></span><h2>pp-trace Output Format<a class="headerlink" href="#pp-trace-output-format" title="Permalink to this headline">¶</a></h2>
+<p>The pp-trace output is formatted as YAML.  See <a class="reference external" href="http://yaml.org/">http://yaml.org/</a> for general
+YAML information.  It’s arranged as a sequence of information about the
+callback call, including the callback name and argument information, for
+example::</p>
+<div class="highlight-python"><div class="highlight"><pre>---
+- Callback: Name
+  Argument1: Value1
+  Argument2: Value2
+(etc.)
+...
+</pre></div>
+</div>
+<p>With real data::</p>
+<div class="highlight-python"><div class="highlight"><pre>---
+- Callback: FileChanged
+  Loc: "c:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:1:1"
+  Reason: EnterFile
+  FileType: C_User
+  PrevFID: (invalid)
+  (etc.)
+- Callback: FileChanged
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:5:1"
+  Reason: ExitFile
+  FileType: C_User
+  PrevFID: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/Input/Level1B.h"
+- Callback: EndOfMainFile
+...
+</pre></div>
+</div>
+<p>In all but one case (MacroDirective) the “Argument” scalars have the same
+name as the argument in the corresponding PPCallbacks callback function.</p>
+<div class="section" id="callback-details">
+<h3>Callback Details<a class="headerlink" href="#callback-details" title="Permalink to this headline">¶</a></h3>
+<p>The following sections describe the pupose and output format for each callback.</p>
+<p>Click on the callback name in the section heading to see the Doxygen
+documentation for the callback.</p>
+<p>The argument descriptions table describes the callback argument information
+displayed.</p>
+<p>The Argument Name field in most (but not all) cases is the same name as the
+callback function parameter.</p>
+<p>The Argument Value Syntax field describes the values that will be displayed
+for the argument value.  It uses an ad hoc representation that mixes literal
+and symbolic representations.  Enumeration member symbols are shown as the
+actual enum member in a (member1|member2|...) form.  A name in parentheses
+can either represent a place holder for the described value, or confusingly,
+it might be a literal, such as (null), for a null pointer.
+Locations are shown as quoted only to avoid confusing the documentation generator.</p>
+<p>The Clang C++ Type field is the type from the callback function declaration.</p>
+<p>The description describes the argument or what is displayed for it.</p>
+<p>Note that in some cases, such as when a structure pointer is an argument
+value, only some key member or members are shown to represent the value,
+instead of trying to display all members of the structure.</p>
+<div class="section" id="filechanged-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a7cc8cfaf34114fc65e92af621cd6464e">FileChanged</a> Callback<a class="headerlink" href="#filechanged-callback" title="Permalink to this headline">¶</a></h4>
+<p>FileChanged is called when the preprocessor enters or exits a file, both the
+top level file being compiled, as well as any #include directives.  It will
+also be called as a result of a system header pragma or in internal renaming
+of a file.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Reason</td>
+<td>(EnterFile|ExitFile|SystemHeaderPragma|RenameFile)</td>
+<td>PPCallbacks::FileChangeReason</td>
+<td>Reason for change.</td>
+</tr>
+<tr class="row-even"><td>FileType</td>
+<td>(C_User|C_System|C_ExternCSystem)</td>
+<td>SrcMgr::CharacteristicKind</td>
+<td>Include type.</td>
+</tr>
+<tr class="row-odd"><td>PrevFID</td>
+<td>((file)|(invalid))</td>
+<td>FileID</td>
+<td>Previous file, if any.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: FileChanged
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:1:1"
+  Reason: EnterFile
+  FileType: C_User
+  PrevFID: (invalid)
+</pre></div>
+</div>
+</div>
+<div class="section" id="fileskipped-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ab5b338a0670188eb05fa7685bbfb5128">FileSkipped</a> Callback<a class="headerlink" href="#fileskipped-callback" title="Permalink to this headline">¶</a></h4>
+<p>FileSkipped is called when a source file is skipped as the result of header
+guard optimization.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="33%" />
+<col width="20%" />
+<col width="37%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>ParentFile</td>
+<td>(“(file)” or (null))</td>
+<td>const FileEntry</td>
+<td>The file that #included the skipped file.</td>
+</tr>
+<tr class="row-odd"><td>FilenameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The token in ParentFile that indicates the skipped file.</td>
+</tr>
+<tr class="row-even"><td>FileType</td>
+<td>(C_User|C_System|C_ExternCSystem)</td>
+<td>SrcMgr::CharacteristicKind</td>
+<td>The file type.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: FileSkipped
+  ParentFile: "/path/filename.h"
+  FilenameTok: "filename.h"
+  FileType: C_User
+</pre></div>
+</div>
+</div>
+<div class="section" id="filenotfound-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a3045151545f987256bfa8d978916ef00">FileNotFound</a> Callback<a class="headerlink" href="#filenotfound-callback" title="Permalink to this headline">¶</a></h4>
+<p>FileNotFound is called when an inclusion directive results in a file-not-found error.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="6%" />
+<col width="22%" />
+<col width="13%" />
+<col width="59%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>FileName</td>
+<td>“(file)”</td>
+<td>StringRef</td>
+<td>The name of the file being included, as written in the source code.</td>
+</tr>
+<tr class="row-odd"><td>RecoveryPath</td>
+<td>(path)</td>
+<td>SmallVectorImpl<char></td>
+<td>If this client indicates that it can recover from this missing file, the client should set this as an additional header search patch.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: FileNotFound
+  FileName: "/path/filename.h"
+  RecoveryPath:
+</pre></div>
+</div>
+</div>
+<div class="section" id="inclusiondirective-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a557d9738c329793513a6f57d6b60de52">InclusionDirective</a> Callback<a class="headerlink" href="#inclusiondirective-callback" title="Permalink to this headline">¶</a></h4>
+<p>InclusionDirective is called when an inclusion directive of any kind (#include</code>, #import</code>, etc.) has been processed, regardless of whether the inclusion will actually result in an inclusion.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="7%" />
+<col width="25%" />
+<col width="15%" />
+<col width="53%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>HashLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the ‘#’ that starts the inclusion directive.</td>
+</tr>
+<tr class="row-odd"><td>IncludeTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The token that indicates the kind of inclusion directive, e.g., ‘include’ or ‘import’.</td>
+</tr>
+<tr class="row-even"><td>FileName</td>
+<td>“(file)”</td>
+<td>StringRef</td>
+<td>The name of the file being included, as written in the source code.</td>
+</tr>
+<tr class="row-odd"><td>IsAngled</td>
+<td>(true|false)</td>
+<td>bool</td>
+<td>Whether the file name was enclosed in angle brackets; otherwise, it was enclosed in quotes.</td>
+</tr>
+<tr class="row-even"><td>FilenameRange</td>
+<td>“(file)”</td>
+<td>CharSourceRange</td>
+<td>The character range of the quotes or angle brackets for the written file name.</td>
+</tr>
+<tr class="row-odd"><td>File</td>
+<td>“(file)”</td>
+<td>const FileEntry</td>
+<td>The actual file that may be included by this inclusion directive.</td>
+</tr>
+<tr class="row-even"><td>SearchPath</td>
+<td>“(path)”</td>
+<td>StringRef</td>
+<td>Contains the search path which was used to find the file in the file system.</td>
+</tr>
+<tr class="row-odd"><td>RelativePath</td>
+<td>“(path)”</td>
+<td>StringRef</td>
+<td>The path relative to SearchPath, at which the include file was found.</td>
+</tr>
+<tr class="row-even"><td>Imported</td>
+<td>((module name)|(null))</td>
+<td>const Module</td>
+<td>The module, whenever an inclusion directive was automatically turned into a module import or null otherwise.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: InclusionDirective
+  IncludeTok: include
+  FileName: "Input/Level1B.h"
+  IsAngled: false
+  FilenameRange: "Input/Level1B.h"
+  File: "D:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/Input/Level1B.h"
+  SearchPath: "D:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace"
+  RelativePath: "Input/Level1B.h"
+  Imported: (null)
+</pre></div>
+</div>
+</div>
+<div class="section" id="moduleimport-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#af32dcf1b8b7c179c7fcd3e24e89830fe">moduleImport</a> Callback<a class="headerlink" href="#moduleimport-callback" title="Permalink to this headline">¶</a></h4>
+<p>moduleImport is called when there was an explicit module-import syntax.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="33%" />
+<col width="20%" />
+<col width="39%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>ImportLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of import directive token.</td>
+</tr>
+<tr class="row-odd"><td>Path</td>
+<td>“(path)”</td>
+<td>ModuleIdPath</td>
+<td>The identifiers (and their locations) of the module “path”.</td>
+</tr>
+<tr class="row-even"><td>Imported</td>
+<td>((module name)|(null))</td>
+<td>const Module</td>
+<td>The imported module; can be null if importing failed.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: moduleImport
+  ImportLoc: "d:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:2"
+  Path: [{Name: Level1B, Loc: "d:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:9"}, {Name: Level2B, Loc: "d:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:17"}]
+  Imported: Level2B
+</pre></div>
+</div>
+</div>
+<div class="section" id="endofmainfile-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a63e170d069e99bc1c9c7ea0f3bed8bcc">EndOfMainFile</a> Callback<a class="headerlink" href="#endofmainfile-callback" title="Permalink to this headline">¶</a></h4>
+<p>EndOfMainFile is called when the end of the main file is reached.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="12%" />
+<col width="43%" />
+<col width="26%" />
+<col width="19%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>(no arguments)</td>
+<td> </td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: EndOfMainFile
+</pre></div>
+</div>
+</div>
+<div class="section" id="ident-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a3683f1d1fa513e9b6193d446a5cc2b66">Ident</a> Callback<a class="headerlink" href="#ident-callback" title="Permalink to this headline">¶</a></h4>
+<p>Ident is called when a #ident or #sccs directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>str</td>
+<td>(name)</td>
+<td>const std::string</td>
+<td>The text of the directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Ident
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-ident.cpp:3:1"
+  str: "$Id$"
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmadirective-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a0a2d7a72c62184b3cbde31fb62c6f2f7">PragmaDirective</a> Callback<a class="headerlink" href="#pragmadirective-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaDirective is called when start reading any pragma directive.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="39%" />
+<col width="24%" />
+<col width="26%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Introducer</td>
+<td>(PIK_HashPragma|PIK__Pragma|PIK___pragma)</td>
+<td>PragmaIntroducerKind</td>
+<td>The type of the pragma directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaDirective
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Introducer: PIK_HashPragma
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmacomment-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ace0d940fc2c12ab76441466aab58dc37">PragmaComment</a> Callback<a class="headerlink" href="#pragmacomment-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaComment is called when a #pragma comment directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Kind</td>
+<td>((name)|(null))</td>
+<td>const IdentifierInfo</td>
+<td>The comment kind symbol.</td>
+</tr>
+<tr class="row-even"><td>Str</td>
+<td>(message directive)</td>
+<td>const std::string</td>
+<td>The comment message directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaComment
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Kind: library
+  Str: kernel32.lib
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmadetectmismatch-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ab11158c9149fb8ad8af1903f4a6cd65d">PragmaDetectMismatch</a> Callback<a class="headerlink" href="#pragmadetectmismatch-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaDetectMismatch is called when a #pragma detect_mismatch directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Name</td>
+<td>“(name)”</td>
+<td>const std::string</td>
+<td>The name.</td>
+</tr>
+<tr class="row-even"><td>Value</td>
+<td>(string)</td>
+<td>const std::string</td>
+<td>The value.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaDetectMismatch
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Name: name
+  Value: value
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmadebug-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a57cdccb6dcc07e926513ac3d5b121466">PragmaDebug</a> Callback<a class="headerlink" href="#pragmadebug-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaDebug is called when a #pragma clang __debug directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="25%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>DebugType</td>
+<td>(string)</td>
+<td>StringRef</td>
+<td>Indicates type of debug message.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaDebug
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  DebugType: warning
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmamessage-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#abb42935d9a9fd8e2c4f51cfdc4ea2ae1">PragmaMessage</a> Callback<a class="headerlink" href="#pragmamessage-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaMessage is called when a #pragma message directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="38%" />
+<col width="23%" />
+<col width="29%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Namespace</td>
+<td>(name)</td>
+<td>StringRef</td>
+<td>The namespace of the message directive.</td>
+</tr>
+<tr class="row-even"><td>Kind</td>
+<td>(PMK_Message|PMK_Warning|PMK_Error)</td>
+<td>PPCallbacks::PragmaMessageKind</td>
+<td>The type of the message directive.</td>
+</tr>
+<tr class="row-odd"><td>Str</td>
+<td>(string)</td>
+<td>StringRef</td>
+<td>The text of the message directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaMessage
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Namespace: "GCC"
+  Kind: PMK_Message
+  Str: The message text.
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmadiagnosticpush-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a0f3ff19762baa38fe6c5c58022d32979">PragmaDiagnosticPush</a> Callback<a class="headerlink" href="#pragmadiagnosticpush-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaDiagnosticPush is called when a #pragma gcc dianostic push directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Namespace</td>
+<td>(name)</td>
+<td>StringRef</td>
+<td>Namespace name.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaDiagnosticPush
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Namespace: "GCC"
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmadiagnosticpop-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ac94d789873122221fba8d76f6c5ea45e">PragmaDiagnosticPop</a> Callback<a class="headerlink" href="#pragmadiagnosticpop-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaDiagnosticPop is called when a #pragma gcc dianostic pop directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Namespace</td>
+<td>(name)</td>
+<td>StringRef</td>
+<td>Namespace name.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaDiagnosticPop
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Namespace: "GCC"
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmadiagnostic-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#afe7938f38a83cb7b4b25a13edfdd7bdd">PragmaDiagnostic</a> Callback<a class="headerlink" href="#pragmadiagnostic-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaDiagnostic is called when a #pragma gcc dianostic directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Namespace</td>
+<td>(name)</td>
+<td>StringRef</td>
+<td>Namespace name.</td>
+</tr>
+<tr class="row-even"><td>mapping</td>
+<td>(0|MAP_IGNORE|MAP_WARNING|MAP_ERROR|MAP_FATAL)</td>
+<td>diag::Severity</td>
+<td>Mapping type.</td>
+</tr>
+<tr class="row-odd"><td>Str</td>
+<td>(string)</td>
+<td>StringRef</td>
+<td>Warning/error name.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaDiagnostic
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Namespace: "GCC"
+  mapping: MAP_WARNING
+  Str: WarningName
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmaopenclextension-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a92a20a21fadbab4e2c788f4e27fe07e7">PragmaOpenCLExtension</a> Callback<a class="headerlink" href="#pragmaopenclextension-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaOpenCLExtension is called when OpenCL extension is either disabled or enabled with a pragma.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="12%" />
+<col width="42%" />
+<col width="25%" />
+<col width="22%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>NameLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the name.</td>
+</tr>
+<tr class="row-odd"><td>Name</td>
+<td>(name)</td>
+<td>const IdentifierInfo</td>
+<td>Name symbol.</td>
+</tr>
+<tr class="row-even"><td>StateLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the state.</td>
+</tr>
+<tr class="row-odd"><td>State</td>
+<td>(1|0)</td>
+<td>unsigned</td>
+<td>Enabled/disabled state.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaOpenCLExtension
+  NameLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:10"
+  Name: Name
+  StateLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:18"
+  State: 1
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmawarning-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#aa17169d25fa1cf0a6992fc944d1d8730">PragmaWarning</a> Callback<a class="headerlink" href="#pragmawarning-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaWarning is called when a #pragma warning directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>WarningSpec</td>
+<td>(string)</td>
+<td>StringRef</td>
+<td>The warning specifier.</td>
+</tr>
+<tr class="row-even"><td>Ids</td>
+<td>[(number)[, ...]]</td>
+<td>ArrayRef<int></td>
+<td>The warning numbers.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaWarning
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  WarningSpec: disable
+  Ids: 1,2,3
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmawarningpush-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ae5626ef70502687a859f323a809ed0b6">PragmaWarningPush</a> Callback<a class="headerlink" href="#pragmawarningpush-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaWarningPush is called when a #pragma warning(push) directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>Level</td>
+<td>(number)</td>
+<td>int</td>
+<td>Warning level.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaWarningPush
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+  Level: 1
+</pre></div>
+</div>
+</div>
+<div class="section" id="pragmawarningpop-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ac98d502af8811b8a6e7342d7cd2b3b95">PragmaWarningPop</a> Callback<a class="headerlink" href="#pragmawarningpop-callback" title="Permalink to this headline">¶</a></h4>
+<p>PragmaWarningPop is called when a #pragma warning(pop) directive is read.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="40%" />
+<col width="24%" />
+<col width="24%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: PragmaWarningPop
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+</pre></div>
+</div>
+</div>
+<div class="section" id="macroexpands-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a9bc725209d3a071ea649144ab996d515">MacroExpands</a> Callback<a class="headerlink" href="#macroexpands-callback" title="Permalink to this headline">¶</a></h4>
+<p>MacroExpands is called when ::HandleMacroExpandedIdentifier when a macro invocation is found.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="7%" />
+<col width="26%" />
+<col width="15%" />
+<col width="52%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>MacroNameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The macro name token.</td>
+</tr>
+<tr class="row-odd"><td>MacroDirective</td>
+<td>(MD_Define|MD_Undefine|MD_Visibility)</td>
+<td>const MacroDirective</td>
+<td>The kind of macro directive from the MacroDirective structure.</td>
+</tr>
+<tr class="row-even"><td>Range</td>
+<td>[“(file):(line):(col)”, “(file):(line):(col)”]</td>
+<td>SourceRange</td>
+<td>The source range for the expansion.</td>
+</tr>
+<tr class="row-odd"><td>Args</td>
+<td>[(name)|(number)|<(token name)>[, ...]]</td>
+<td>const MacroArgs</td>
+<td>The argument tokens.  Names and numbers are literal, everything else is of the form ‘<’ tokenName ‘>’.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: MacroExpands
+  MacroNameTok: X_IMPL
+  MacroDirective: MD_Define
+  Range: [(nonfile), (nonfile)]
+  Args: [a <plus> y, b]
+</pre></div>
+</div>
+</div>
+<div class="section" id="macrodefined-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a8448fc9f96f22ad1b93ff393cffc5a76">MacroDefined</a> Callback<a class="headerlink" href="#macrodefined-callback" title="Permalink to this headline">¶</a></h4>
+<p>MacroDefined is called when a macro definition is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="32%" />
+<col width="19%" />
+<col width="40%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>MacroNameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The macro name token.</td>
+</tr>
+<tr class="row-odd"><td>MacroDirective</td>
+<td>(MD_Define|MD_Undefine|MD_Visibility)</td>
+<td>const MacroDirective</td>
+<td>The kind of macro directive from the MacroDirective structure.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: MacroDefined
+  MacroNameTok: X_IMPL
+  MacroDirective: MD_Define
+</pre></div>
+</div>
+</div>
+<div class="section" id="macroundefined-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#acb80fc6171a839db8e290945bf2c9d7a">MacroUndefined</a> Callback<a class="headerlink" href="#macroundefined-callback" title="Permalink to this headline">¶</a></h4>
+<p>MacroUndefined is called when a macro #undef is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="32%" />
+<col width="19%" />
+<col width="40%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>MacroNameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The macro name token.</td>
+</tr>
+<tr class="row-odd"><td>MacroDirective</td>
+<td>(MD_Define|MD_Undefine|MD_Visibility)</td>
+<td>const MacroDirective</td>
+<td>The kind of macro directive from the MacroDirective structure.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: MacroUndefined
+  MacroNameTok: X_IMPL
+  MacroDirective: MD_Define
+</pre></div>
+</div>
+</div>
+<div class="section" id="defined-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a3cc2a644533d0e4088a13d2baf90db94">Defined</a> Callback<a class="headerlink" href="#defined-callback" title="Permalink to this headline">¶</a></h4>
+<p>Defined is called when the ‘defined’ operator is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="32%" />
+<col width="19%" />
+<col width="40%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>MacroNameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The macro name token.</td>
+</tr>
+<tr class="row-odd"><td>MacroDirective</td>
+<td>(MD_Define|MD_Undefine|MD_Visibility)</td>
+<td>const MacroDirective</td>
+<td>The kind of macro directive from the MacroDirective structure.</td>
+</tr>
+<tr class="row-even"><td>Range</td>
+<td>[“(file):(line):(col)”, “(file):(line):(col)”]</td>
+<td>SourceRange</td>
+<td>The source range for the directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Defined
+  MacroNameTok: MACRO
+  MacroDirective: (null)
+  Range: ["D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:5", "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:19"]
+</pre></div>
+</div>
+</div>
+<div class="section" id="sourcerangeskipped-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#abdb4ebe11610f079ac33515965794b46">SourceRangeSkipped</a> Callback<a class="headerlink" href="#sourcerangeskipped-callback" title="Permalink to this headline">¶</a></h4>
+<p>SourceRangeSkipped is called when a source range is skipped.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="12%" />
+<col width="42%" />
+<col width="25%" />
+<col width="21%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Range</td>
+<td>[“(file):(line):(col)”, “(file):(line):(col)”]</td>
+<td>SourceRange</td>
+<td>The source range skipped.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: SourceRangeSkipped
+  Range: [":/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2", ":/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:9:2"]
+</pre></div>
+</div>
+</div>
+<div class="section" id="if-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a645edcb0d6becbc6f256f02fd1287778">If</a> Callback<a class="headerlink" href="#if-callback" title="Permalink to this headline">¶</a></h4>
+<p>If is called when an #if is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="39%" />
+<col width="23%" />
+<col width="27%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>ConditionRange</td>
+<td>[“(file):(line):(col)”, “(file):(line):(col)”]</td>
+<td>SourceRange</td>
+<td>The source range for the condition.</td>
+</tr>
+<tr class="row-even"><td>ConditionValue</td>
+<td>(true|false)</td>
+<td>bool</td>
+<td>The condition value.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: If
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+  ConditionRange: ["D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:4", "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:9:1"]
+  ConditionValue: false
+</pre></div>
+</div>
+</div>
+<div class="section" id="elif-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a180c9e106a28d60a6112e16b1bb8302a">Elif</a> Callback<a class="headerlink" href="#elif-callback" title="Permalink to this headline">¶</a></h4>
+<p>Elif is called when an #elif is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="39%" />
+<col width="23%" />
+<col width="27%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>ConditionRange</td>
+<td>[“(file):(line):(col)”, “(file):(line):(col)”]</td>
+<td>SourceRange</td>
+<td>The source range for the condition.</td>
+</tr>
+<tr class="row-even"><td>ConditionValue</td>
+<td>(true|false)</td>
+<td>bool</td>
+<td>The condition value.</td>
+</tr>
+<tr class="row-odd"><td>IfLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Elif
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"
+  ConditionRange: ["D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:4", "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:11:1"]
+  ConditionValue: false
+  IfLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+</pre></div>
+</div>
+</div>
+<div class="section" id="ifdef-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a0ce79575dda307784fd51a6dd4eec33d">Ifdef</a> Callback<a class="headerlink" href="#ifdef-callback" title="Permalink to this headline">¶</a></h4>
+<p>Ifdef is called when an #ifdef is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="32%" />
+<col width="19%" />
+<col width="40%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>MacroNameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The macro name token.</td>
+</tr>
+<tr class="row-even"><td>MacroDirective</td>
+<td>(MD_Define|MD_Undefine|MD_Visibility)</td>
+<td>const MacroDirective</td>
+<td>The kind of macro directive from the MacroDirective structure.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Ifdef
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp:3:1"
+  MacroNameTok: MACRO
+  MacroDirective: MD_Define
+</pre></div>
+</div>
+</div>
+<div class="section" id="ifndef-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a767af69f1cdcc4cd880fa2ebf77ad3ad">Ifndef</a> Callback<a class="headerlink" href="#ifndef-callback" title="Permalink to this headline">¶</a></h4>
+<p>Ifndef is called when an #ifndef is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="9%" />
+<col width="32%" />
+<col width="19%" />
+<col width="40%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the directive.</td>
+</tr>
+<tr class="row-odd"><td>MacroNameTok</td>
+<td>(token)</td>
+<td>const Token</td>
+<td>The macro name token.</td>
+</tr>
+<tr class="row-even"><td>MacroDirective</td>
+<td>(MD_Define|MD_Undefine|MD_Visibility)</td>
+<td>const MacroDirective</td>
+<td>The kind of macro directive from the MacroDirective structure.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Ifndef
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp:3:1"
+  MacroNameTok: MACRO
+  MacroDirective: MD_Define
+</pre></div>
+</div>
+</div>
+<div class="section" id="else-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ad57f91b6d9c3cbcca326a2bfb49e0314">Else</a> Callback<a class="headerlink" href="#else-callback" title="Permalink to this headline">¶</a></h4>
+<p>Else is called when an #else is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="39%" />
+<col width="23%" />
+<col width="27%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the else directive.</td>
+</tr>
+<tr class="row-odd"><td>IfLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the if directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Else
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"
+  IfLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+</pre></div>
+</div>
+</div>
+<div class="section" id="endif-callback">
+<h4><a class="reference external" href="http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#afc62ca1401125f516d58b1629a2093ce">Endif</a> Callback<a class="headerlink" href="#endif-callback" title="Permalink to this headline">¶</a></h4>
+<p>Endif is called when an #endif is seen.</p>
+<p>Argument descriptions:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="11%" />
+<col width="38%" />
+<col width="23%" />
+<col width="28%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Argument Name</th>
+<th class="head">Argument Value Syntax</th>
+<th class="head">Clang C++ Type</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Loc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the endif directive.</td>
+</tr>
+<tr class="row-odd"><td>IfLoc</td>
+<td>“(file):(line):(col)”</td>
+<td>SourceLocation</td>
+<td>The location of the if directive.</td>
+</tr>
+</tbody>
+</table>
+<p>Example::</p>
+<div class="highlight-python"><div class="highlight"><pre>- Callback: Endif
+  Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"
+  IfLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+</pre></div>
+</div>
+</div>
+</div>
+</div>
+<div class="section" id="building-pp-trace">
+<h2>Building pp-trace<a class="headerlink" href="#building-pp-trace" title="Permalink to this headline">¶</a></h2>
+<p>To build from source:</p>
+<ol class="arabic simple">
+<li>Read <a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="http://clang.llvm.org/docs/ClangTools.html">Clang Tools
+Documentation</a> for information on getting sources for LLVM, Clang, and
+Clang Extra Tools.</li>
+<li><a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="http://llvm.org/docs/CMake.html">Building LLVM with CMake</a> give
+directions for how to build. With sources all checked out into the
+right place the LLVM build will build Clang Extra Tools and their
+dependencies automatically.<ul>
+<li>If using CMake, you can also use the <tt class="docutils literal"><span class="pre">pp-trace</span></tt> target to build
+just the pp-trace tool and its dependencies.</li>
+</ul>
+</li>
+</ol>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        «  <a href="ModularizeUsage.html">Modularize Usage</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+          ::  
+        <a href="clang-rename.html">Clang-Rename</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/search.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/search.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/search.html (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/search.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Search — Extra Clang Tools 3.9 documentation</title>
+    
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.9',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <script type="text/javascript" src="_static/searchtools.js"></script>
+    <link rel="top" title="Extra Clang Tools 3.9 documentation" href="index.html" />
+  <script type="text/javascript">
+    jQuery(function() { Search.loadIndex("searchindex.js"); });
+  </script>
+  
+  <script type="text/javascript" id="searchindexloader"></script>
+   
+
+  </head>
+  <body>
+      <div class="header"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 3.9 documentation</span></a></h1>
+        <h2 class="heading"><span>Search</span></h2>
+      </div>
+      <div class="topnav">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <h1 id="search-documentation">Search</h1>
+  <div id="fallback" class="admonition warning">
+  <script type="text/javascript">$('#fallback').hide();</script>
+  <p>
+    Please activate JavaScript to enable the search
+    functionality.
+  </p>
+  </div>
+  <p>
+    From here you can search these documents. Enter your search
+    words into the box below and click "search". Note that the search
+    function will automatically search for all of the words. Pages
+    containing fewer words won't appear in the result list.
+  </p>
+  <form action="" method="get">
+    <input type="text" name="q" value="" />
+    <input type="submit" value="search" />
+    <span id="search-progress" style="padding-left: 10px"></span>
+  </form>
+  
+  <div id="search-results">
+  
+  </div>
+
+      </div>
+      <div class="bottomnav">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer">
+        © Copyright 2007-2016, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/searchindex.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/searchindex.js?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/searchindex.js (added)
+++ www-releases/trunk/3.9.0/tools/clang/tools/extra/docs/searchindex.js Fri Sep  2 10:56:46 2016
@@ -0,0 +1 @@
+Search.setIndex({envversion:42,terms:{poorli:21,prefix:[8,85,63,136],whose:14,accur:27,"const":[64,27],swap:[15,59,129],under:[85,21],preprocess:21,forbidden:81,scoped_lock:26,idomat:44,everi:[0,27,117,134,31,2,85],risk:118,"void":[105,34,4,90,24,61,64,27,76,46,115,59],clangtidymodul:85,clangtidytest:85,isangl:120,affect:[58,85,2,118],myptrtyp:12,vector:[5,128,73,0,118],parenthes:59,fixit:[134,85,13,112],unordered_multimap:0,direct:[120,23,0,27,38,46,81,89,8,21],second:14,aggreg:4,registercheck:85,even:[9,29,0,85],hide:13,neg:[9,85],err58:27,err52:27,importloc:120,elimin:[120,106],submodule1:21,submodule2:21,never:[6,82],here:[118,14,48,85,44,137,27,61,77,88,91,127,19,125,132,21,69],xff:78,integer_typ:33,multipli:4,path:[105,120,23,27,63,19,85,2,21,46],dequ:[73,0],precis:[31,27,85,40],map_warn:120,clangtidymain:85,characteristickind:120,strai:[14,27],txt:21,unit:[23,27,66,85,76,2,134],highli:2,describ:[27,120,63,0],would:[118,119,90,0,133,27,38,73,86,87],my_nul:62,call:[118,71,72,73
 ,55,103,2,64,108,79,114,52,14,119,15,16,84,60,85,86,87,89,129,23,61,26,135,27,93,28,133,65,97,120,46],typo:[34,23],recommend:[2,45],get_ptr:89,type:[27,86,41,25],tell:63,relat:[64,27,85],warn:[34,88,10,71,4,133,76,115,13,14,119,120,83,56,60,85,38,21,128,61,92,27,40,66,134,96],exce:40,macrodirect:120,loss:[31,27,40],explicitconstructorcheck:85,hold:46,must:[3,120,63,110,126,10,85],constrefer:133,word:0,setup:[85,2],work:[3,4,27,63,85,2,134],wors:9,root:[63,23,21],unnam:[111,134],overrid:[115,27,59],phabric:85,dtor:85,give:[120,21],indic:[14,96],impair:0,want:[4,92,40,85,2,46],unsign:[120,85],end:[14,26,27,63,10,31,59],hoc:120,quot:[120,19],str2:76,how:[85,13,2,46],verifi:[64,27,85],config:85,updat:[27,134,46,85],dialect:13,after:[118,129,91,68,88,60,5,94,78,73,12,89,59,2],stdalign:117,befor:[46,34,85,91,26,117,73,2,12,21,45],wrong:[3,27,71,46,41,96],const_iter:0,attempt:[14,85,84],exclud:[63,21],receiv:[4,85,23],maintain:0,environ:23,enter:[26,120],first:[118,14,4,27,124,40,78,85,134
 ,7,21,10],order:[27,59,16],decl:[27,59],oper:27,diagnos:[85,90],over:[118,85],becaus:[4,55,90,93,83,63,66,21,41,86,89,43,32,73],warningsaserror:85,systemheaderpragma:120,"37l":73,fit:[27,59],fix:[52,34,100,23,61,27,63,38,94,66,2,85,67,96,116,136,21,73],better:[64,85,2],hidden:[4,46,2,85],my_param:0,easier:[85,2,97],them:[33,34,119,0,23,91,27,63,78,85,116,89,106],usernullmacro:62,thei:[119,23,26,83,63,60,78,44,87,58,21],safe:[101,93,55,59,41],my_ptr:[72,79],"break":[85,117],nline:19,stdarg:117,c_user:120,accommod:13,each:[118,119,120,61,27,63,85,87,21],debug:[120,83],side:59,mean:[14,119,0,91,92,27,85,115,87,128,7,46],cppguid:[22,95,17,33,70,8,67,99,132,11,111,81,123],cppcoreguidelin:27,forgot:13,map_error:120,processlin:14,extract:63,newli:118,written:[120,0,27,93,40,85,2],priu64:88,situat:[118,46,0,73],free:[68,24,69],standard:[36,48,0,25,64,27,117,85,84,110,126,46,103,44,69],identifierinfo:120,angl:120,filter:85,isn:104,constructordecl:85,regress:73,subtl:4,confus:[120,85],rang:[3
 1,14,27,59],getloc:85,capac:65,restrict:85,unlik:26,take_ownership_fn:89,top:[58,27,120,63,23],master:[55,16,93,29,38,101,30,94,112,41,7],memcmp:4,shortstatementlin:91,chainedconditionalassign:106,my_point:0,namespac:[37,27,63,2],wchar:117,reinterpret_cast:[30,7],target:[120,85,21],keyword:[91,4,62,21,85],provid:[23,27,13,38,85,21,112],expr:[35,59],lvalu:46,tree:[85,23],rate:[76,85],project:[47,134,23,2,85],wchar_t:44,function_declarations_and_definit:111,prone:68,behavior:[26,9,83,29,85],modern:[27,59,113],bitfield:73,raw:[27,59],dedupl:85,increment:14,seen:[120,134],incompat:4,unnecessarycopy2:133,unnecessarycopy1:133,latter:[31,63,21,74],simplifi:[4,59,13],functiontakingint:13,though:[52,0],usernam:70,glob:85,object:[41,27,50,110,126,16,59],lexic:21,regular:[120,85,63],operator_overload:99,gslheader:94,unordered_map:0,don:[20,85,63],pointe:[27,4,90,0],doc:[98,17,39,85,123,20],flow:[27,59],doe:[14,90,23,64,27,34,63,84,85,16,128,74,21,69],bracket:120,parentfil:120,left:[46,106,19,3
 8],mostli:85,opposit:106,random:129,constcast:29,syntax:[120,63],bail:85,involv:[105,27,103,106],absolut:[85,63],explain:[118,27,85],configur:136,explicit_constructor:22,num_of_end_cal:118,rich:23,stop:21,rename_check:85,report:[64,2,13,85,67,21],smallvectorimpl:120,bar:[133,34,46],method:[52,119,85,115,92,27,114,56,38,10,133,65,73,95,87,135,97],twice:0,bad:58,ban:7,unexpectedli:[14,27],ifdef:21,"0x42":78,result:[14,120,0,24,61,90,27,40,71,73,2,85,31,106,128,13,45],respons:0,fail:[120,104],best:[46,85],awar:[118,85],checkfunctioncal:83,databas:[27,85,2],invalu:85,unordered_set:0,attribut:27,accord:13,extend:2,auto_ptr:[89,73],constexpr:16,preprocessor:[88,120,85,21,45],howev:[85,0],against:[85,21],includeinextern:21,filechangereason:120,logic:4,fno:46,com:[55,16,93,29,38,101,30,94,112,41,7],col:120,widen:[27,59],push_back:[5,73,118],guid:[33,70,8,11,111,85,81],assum:[14,55,93,63,46,85],duplic:21,my_contain:0,err34:27,union:27,three:[118,19,61],been:[118,27,94,120,128],unnot:13,accum
 ul:[31,27],trigger:[8,4,89,91],valu:[4,15,48,27,71,5,31,80,125,59,45],interest:46,quickli:63,suppress:51,ani:[118,14,120,23,2,62,85,38,10,73,13,96,104,21,19],"catch":[27,80,59],emploi:[87,119],ident:[111,85],aim:[27,2],calcul:[27,40,45],depr:117,anchor:85,undeleg:59,printabl:19,my_second_point:0,kernel32:120,sting:44,dcl50:27,sever:[120,85],incorrectli:88,perform:[118,64,27,38,46,7,59,2],suggest:[33,14,119,61,133,34,38,85,67,96,2],make:27,complex:[118,85,117],complet:[21,45],fragil:[93,55,41],raii:59,action:2,rais:[118,14],ownership:89,handleclass:5,"2137ll":86,thu:[118,85],singlelin:19,pthread_mutex_t:48,client:[120,89],thi:[36,38,101,29,41,15,103,2,45,48,5,64,7,9,10,110,112,81,55,16,84,60,126,86,125,63,59,90,25,27,93,40,132,30,94,67,31,96,69],programm:[14,4,55,129,93,9,88,13],everyth:120,unchang:[89,19,106],identifi:[118,27,59],just:[118,120,44,21,85],iso646:117,explicit_make_pair:104,c_externcsystem:120,yet:[43,13],languag:[55,23,93,63,38,85,46],easi:[85,41],opencl:120,had:93,tod
 o_com:70,els:[64,59,91],detect_mismatch:120,opt:85,applic:[31,106,19,49],clangtidyopt:85,initializeobject:4,measur:21,specif:[14,120,82,0,27,63,85,136],deprec:[27,59],manual:[47,46,23,128],"__normal_iter":0,cplusplu:44,unnecessari:[27,59],underli:[27,90],www:44,right:[34,55,24,8,93,73],old:2,deal:13,negat:[106,13],clang_include_fixer_maximum_suggested_head:23,intern:[76,120],make_pair:[73,104],parameter_nam:34,x_impl:120,track:78,pmk_messag:120,condit:[14,120,82,0,91,27,124,83,127,21,106],foo:[118,34,75,23,133,76,2,81,114,134,135,13,46],unordered_multiset:0,core:[55,16,27,93,29,38,101,30,94,85,41,7,112],plu:120,nothrow:110,meyer:73,unsaf:[60,7],obj:118,slightli:85,surround:45,unsav:23,produc:[9,89,24,21,83],sometyp:21,"float":[25,27,9,86,31,59],encod:78,bound:27,down:76,opportun:43,storag:[126,38],wai:[14,0,23,27,85,82,19,46],support:[23,27,77,85,43,2,136,8,21,73],includetok:120,transform:[118,42,0,62,1,73,113,46],avail:[23,65,85,81,136,2],reli:[93,55,21],editor:[27,2],constantli:27
 ,const_reverse_iter:0,analysi:[118,85,23],head:120,form:[34,120,63,19,21,117],forc:85,styleguid:[22,95,17,33,70,8,67,99,132,11,111,81,123],"true":[118,34,120,106,131,1,78,13],reset:59,removestar:59,arrays:4,until:[23,21,91],assertmacro:83,inaccur:59,rerun:23,unrel:[30,7,112],emit:[60,85,23],semicolon:[27,59],wctype:117,diagnost:[94,85],readnexttoken:14,exist:[23,27,63,2,96,21,85],check:[33,95,36,80,37,38,101,99,63,41,55,103,104,64,8,50,109,110,11,112,81,70,122,53,15,16,18,67,84,60,126,86,7,22,130,25,27,93,29,132,30,94,123],readonli:46,when:[0,118,71,10,45,46,105,106,64,89,52,14,120,85,7,90,26,27,40,133,134,69,73],refactor:[134,13],test:[26,129,2,88],shrink:[27,59],node:85,intend:[92,104],benefici:46,shrink_to_fit:65,intent:[14,4,40,97],consid:[52,129,0,118,64,92,60,5,73,21],faster:[27,59],furthermor:97,ignor:[3,4,120,118,26,76,77,63,13,21],fact:[14,128],time:[0,23,76,117,88,127,85,21,97],push:120,chain:106,"2line3":88,global:27,row:21,decid:85,depend:[120,131,63,13,21,85],tokennam:1
 20,debugtyp:120,intermedi:63,vec:118,x03:78,x02:78,x01:78,x00:78,compile_command:[85,23],sourc:[51,120,0,23,27,63,19,21,85],string:[27,2],wunus:116,level:[118,120,27,63,85,58],did:[92,115],iter:[118,27,59,10],item:73,env33:27,team:27,lexical_cast:[27,86],round:59,increment_two:124,discover:85,to_wstr:86,unprotect:26,appear:[118,128,117,85,106],current:[23,117,40,85,16,2,46],boost:27,strtol:64,deriv:[115,112,120,46,73],gener:[47,55,0,23,134,27,93,88,63,38,60,94,2,85,67,96,97,68,136,13,46],someopt:85,satisfi:0,explicitli:[63,71,72,40,79,104,43,21,73],modif:89,address:[85,23],along:[27,62,85],optionmap:85,wait:23,ret_ptr:62,queue:0,behav:[62,21],extrem:85,forward_list:0,semant:[118,46,23],regardless:[14,120,136],extra:63,circumv:118,modul:[47,42,27,63,85,113],evaluat:127,prefer:56,visibl:[66,13],instal:2,regex:[19,85],memori:[27,73,38],confluenc:44,univers:73,linter:[85,2],handler:[5,27],value2:120,value1:120,criteria:[118,27],scope:[26,69],plug:85,ctype:117,visual:[19,23],tandem:23,pr
 ototyp:85,examin:[27,85],easiest:128,array_of_str:92,emplace_back:73,uniqu:[27,59],can:[0,118,46,85,44,45,4,75,5,7,76,117,63,78,2,16,116,13,112,51,52,14,120,83,56,60,73,19,89,21,128,24,23,91,27,62,40,30,94,134,31,96,97],imped:19,purpos:[85,2],critic:38,checkthrowtemporari:44,occur:[4,78],alwai:[3,131,27,78,85,21,134],multipl:[27,76,59],arrayindex:94,write:[93,19,44,128],conditionvalu:120,global_mutex:26,map:[47,63,23,0,128],uint:2,clang:63,mai:[105,4,120,85,118,131,27,88,77,38,73,46,81,126,97,89,13,45],shared_ptr:[27,72,73],data:[76,120,41],double_express:9,inttyp:117,stdio:117,divid:4,explicit:27,inform:[122,118,53,120,23,24,18,37,27,85,50,109,2,80,130,21,46],"switch":97,preced:[85,63],combin:[27,63],thread_loc:126,storeopt:85,size_t:[4,21],still:[16,63,23,13,5],pointer:[27,84],entiti:[4,21],group:85,yaml:[120,23,2,85],window:46,main:[120,85],non:[27,76,83,63,50,11,16,125,59,69],prevfid:120,matcher:85,initi:[118,100,0,27,28,125,38,16,31,88,59],now:[24,8,85,73,27,76,46],term:63,sear
 chpath:120,name:[27,63,132,94,81,2,104],fio38:27,didn:[27,85],separ:[52,120,8,62,63,83,5,73,85],minconfid:59,x12:78,confid:118,compil:[128,85,27,63,43,127,13,88,89,2,32,46],replac:[46,33,75,24,118,27,117,72,19,79,86,127,59,2,45],continu:[57,21],significantli:77,operand:4,happen:[61,71,2,31,134,44,46],shown:[118,120,85,23],"3rd":89,space:63,profil:[55,16,93,29,38,101,30,94,85,41,7,112],correct:[98,55,23,27,134,13],do_incr:124,migrat:89,string_view:[5,27],org:[98,120,17,137,85,123,20,44],"byte":[4,78],care:46,unbrac:[27,124],couldn:85,badli:104,recov:120,turn:[120,85,116],place:[63,34,40,13,88],createinsert:85,frequent:[85,0],lambda:[27,24],origin:[118,111,0],directli:[118,106,0,134,2,46],get_cwd:46,onc:[14,59,2],arrai:27,yourself:85,stringref:[120,85],"long":[33,0,17,40,88,123],oppos:2,getfoo:13,size:38,given:[4,120,23,24,63,95,106],const_cast:[7,29],convent:[85,134],caught:[44,23],moduleidpath:120,checker:[85,40,88],howtosetuptoolingforllvm:85,conveni:85,friend:[52,27],especi:[85,0]
 ,checkimplicitcast:40,copi:[118,35,48,131,27,59,110,65,46,125,89,43],specifi:[120,106,0,117,62,63,2,85,104,21,73],"short":[33,46],enclos:[120,63,21],pragma:120,holder:[120,63],than:[118,129,0,117,71,65,85,90,46],f_t:100,posix:48,were:[118,112,30,117,7,85],posit:[51,26,76,83,38,85],nuisanc:23,pre:[27,13],sai:21,pro:27,argument:[55,27,63,84,2,104],caus:[0,112,76,83,30,19,31,7,21,73],srcmgr:120,destroi:[60,5],matchresult:85,note:63,ideal:23,take:[13,56,38,46,21,85],advis:85,noth:78,begin:[31,118,63,0],sure:[44,23],trace:47,normal:[63,23,21],buffer:[23,2],clearer:97,err09:44,renam:27,later:23,oop11:27,quantiti:106,runtim:27,show:[85,23,97],cheap:46,hack:85,corner:85,onli:[14,4,55,24,8,124,83,40,59,5,63,41,96,7,27,2,117],slow:9,activ:[120,89],enough:[73,44,85],fenv:117,analyz:[14,85],overwritten:2,fileentri:120,variou:[27,77,85],get:[63,93,55,41,2],fubo:2,cannot:[118,93,55,32],requir:[118,23,24,73,12,74,21,85],analyzetemporarydtor:85,find_all_symbols_db:23,fixithint:85,nullptr:[105,27,59
 ],yield:4,through:[118,4,120,125,46,31,85],where:[118,35,0,24,25,126,27,9,49,128,110,78,46,87,5,134,89,13,112],int_ptr:[89,90],detect:[105,34,64,131,27,124,40,5,13,136,21],review:85,enumer:120,behind:13,volatil:85,between:[8,4,13,88],"import":[120,38],headerfileextens:8,assumpt:134,parent:85,typedef:[100,90,27,12,0,21],bitset:92,uncondition:124,come:[5,89],llvmtidymodul:85,stdbool:117,clj:24,copyabl:[27,61,59,50],inconsist:[27,59],mani:[27,136,46,85],improt:117,overview:[85,2],unittest:85,pop:120,colon:63,typic:[131,4,85],pod:27,save:2,camelback:136,mark:[118,35,63,32],macroarg:120,wliter:85,derefer:[105,48,118],suscept:44,trailingspac:19,enterfil:120,vimrc:23,dianost:120,those:[63,21,0,112],"case":[0,88,73,44,104,4,133,76,78,112,13,118,14,120,85,21,61,27,40,66,134,67,136,19],trick:65,cast:27,invok:[133,87,119,21,38],invoc:[27,119,120,85,21],wouldn:73,metric:77,canon:26,uncom:63,ascii:19,develop:[90,85,2],same:[35,120,0,117,28,63,85,115,96,21,69],binari:[85,24,45],html:[98,22,95,17,
 33,70,8,67,99,132,11,111,85,81,123,20],document:[120,0,27,21,137,85],closest:85,nest:[14,21],assist:[63,21],driver:63,extern:[4,27,63,57,85,16,76,21],level2b:120,appropri:[51,85,13,106],supportedformat:88,macro:[27,59,83],get_ref:89,without:[70,85,13,0,38],argument2:120,argument1:120,execut:[27,124,85,84],rest:85,aspect:[27,23],speed:[131,46,73],dynamic_cast:112,struct:[4,106,133,92,76,60,46,115,96,43],hint:[85,13,134],filecheck:85,except:[92,110,126,73,44,85],param:[27,59],setvalu:119,blob:[55,16,93,29,38,101,30,94,112,41,7],pmk_warn:120,vulner:4,earli:2,around:[27,63],choic:85,read:[55,24,93,85,73,120,21,46],get_str:46,dark:85,world:[4,13],"21l":73,integ:[4,64,27,9,40,94,86,59],alexandrescu:44,either:[14,120,63,94,85,21],output:[47,63,19,21,85],strcmp:71,consir:52,sync_with_stdio:1,slice:44,definit:[27,36,59,2,38],exit:[14,120,85],refer:[27,80,41],power:85,inspect:[96,85],llvmnewmod:120,broken:89,found:[96,120,21,2,85],"throw":[110,80,59,126],comparison:[105,27,106,13,71],warningn
 am:120,hashloc:120,stand:78,wold:67,processor:[27,84],effici:[52,127,73,2,97],your:[63,2],unconvent:[27,59],loc:[120,85],log:118,aren:[89,38],overwrit:2,start:[47,85,63],interfac:[27,2],low:85,setfoo:13,longer:[118,117,13],algorithm:[59,10],possibl:[118,4,0,85,7,97],"default":[27,63,38],make_uniqu:79,stateloc:120,member1:120,embed:[27,59],creat:[60,5,136,85,129],certain:[118,27,76,85],bugtrack:2,deep:128,file:[48,14,120,24,23,8,76,63,94,2,85,134,27,21,19],level3a:21,fill:129,incorrect:[27,59],googl:[37,27],prepend:[63,136,21,2,85],idiom:46,valid:[14,35,64,27,71,78,73],you:[14,120,23,92,40,63,2,81,115,21,85],sequenc:120,symbol:[27,117,2],reduc:[26,65],assert:[27,59,130],directori:63,descript:[120,85,63],macronametok:120,to_str:[51,27,86],potenti:[23,76,54,85,96,13,73],cpp:[27,2],escap:[27,59],dst:4,represent:[9,120],all:[35,36,0,93,38,101,42,29,41,120,103,2,5,110,111,112,81,13,55,113,126,85,7,21,22,23,61,92,27,91,40,30,94,117,96,10],forget:[105,40,88],illustr:46,exitfil:120,lack:27,s
 cc:120,scalar:120,abil:85,follow:[0,88,46,4,106,111,81,13,51,118,119,120,57,85,87,7,21,90,23,27,63,31,19],disk:2,ptr:[118,90,105,27,114,59],comparearrai:4,init:[27,53],program:[23,112,2,30,19,7,21,85],skip:[120,62],introduc:[120,0,19,79,89,21],liter:[51,35,15,129,27,4,55,59],fals:[51,105,35,120,106,118,26,131,76,83,38,1,85,13],subcommand:2,util:[119,89,46],mechan:21,fall:136,veri:[26,115,2],induct:[27,25],md_visibl:120,list:[46,47,120,23,0,52,27,117,62,63,38,5,73,2,83,100,85,88,8,21,45],stderr:[85,2],becasu:14,googletidymodul:85,sync:134,past:131,zero:[15,106,0,131,71,38],pass:[55,48,61,27,93,63,125,5,78,59],further:85,deleg:28,abc:[78,73],diag:[120,85],section:[70,8,120,27,117],abl:136,overload:[10,122,99,59,86],delet:[122,27,59,125],version:[85,134,73,2,38],headerfilt:85,"public":[85,76,32,13,46],full:[76,85,63],themselv:16,behaviour:[118,86,45],shouldn:120,variad:36,ineffici:59,modifi:[52,106,118,29,5,73,89,21,46],functiontakingbool:13,search:[47,120,85],eras:59,popen:[27,84],pri
 or:2,pick:23,codebas:117,via:[85,27,73,21,38],readabl:27,registermatch:85,vim:27,filenam:[8,120,85,2],inappropri:10,heurist:[26,87,119],dangl:[60,27,59],select:[27,120,19],"__declspec":27,hexadecim:[78,19],x42:78,member_string_refer:60,distinct:85,stdout:[120,85,2],two:[23,27,83,88,85,41,19],coverag:[47,63],taken:134,more:[118,37,53,73,43,2,46,50,109,122,52,14,80,18,85,21,23,130,27,65,117,97,136,127],desir:[23,2],add_new_check:85,flag:[35,36,38,101,73,41,103,44,48,64,8,77,110,112,16,118,119,55,84,126,85,20,125,7,25,27,93,29,30,94,31,69,46],particular:[85,23],known:[9,59],multiset:0,"_popen":[27,84],outlin:118,remain:13,paragraph:19,def:78,someobject:0,share:[27,59],templat:[27,76,59,104],minimum:118,explor:85,newlin:[19,63],secur:[27,85],rather:[85,90],anoth:[23,93,28,63,96,136,97],clangtidycheck:85,cxxconstructordecl:85,simpl:[27,24],needl:[52,27],ios_bas:1,referenc:[46,21],reflect:14,associ:[118,73,56],circumst:21,github:[33,99,70,38,101,41,8,11,111,112,81,95,55,16,17,123,7,22,93,
 29,132,30,94,67],check_clang_tidi:85,mislead:90,callback:[23,21],help:[134,13,2,85],soon:5,scott:73,hierarchi:21,paramet:[34,4,129,27,11,59,44],style:[98,33,36,70,8,11,111,73,81,67,55,7,136,85],get_valu:89,might:[120,27,76,63,2,31,43,21,73],alter:[14,27],fool:4,tri:[34,136,23],good:[3,85,63,58],"return":[3,118,4,24,61,26,92,27,76,62,40,71,5,78,10,31,89,59,128],pollut:[8,81],framework:[26,85],compound:26,ninja:23,bigger:[27,129,40],misplac:[27,59],int_sz:4,instruct:85,easili:[60,4,85,2,134],token:[14,120],alreadi:[91,75,23,85],fulli:2,unicod:44,truncat:[31,27,59],hard:24,idea:[85,2],procedur:[57,27],heavi:[26,77],linkag:76,some_modul:85,expect:[31,78,13],member2:120,longjmp:103,beyond:38,safeti:[55,93,29,38,101,30,94,112,41,7],signitur:115,redeclar:134,print:[118,85,2],occurr:[13,2],qualifi:[119,90,133,27,66,87,2],trucat:31,emplac:[27,59],ast:[85,23],suspici:[27,59],fdelai:[27,46],reason:[14,59],base:[82,27,28,38,112,115,125,59,2],somedecl:21,put:[14,63,40,58,2,85],mymoduleanchorsour
 c:85,thread:126,vararg:27,conversionsfrombool:13,perhap:21,nonfil:120,assign:[27,35,59,125,38],feed:19,obviou:19,prevent:19,misc:[122,53,80,130,27,50,59],number:[4,120,23,91,64,70,27,9,77,83,26],std_arrai:92,basic_string_view:5,done:[88,89,73,44,85],construct:[90,0,5,27,85,38,110,46,125,89,73],stdlib:[64,117],miss:[27,59,45],differ:[118,4,23,26,77,63,83,85,67,136,21,134],script:85,interact:85,conversionstobool:13,least:[27,40,38],header2:[63,21],header3:[63,21],header1:[63,21],header4:21,store:[89,85,2,69],map_ignor:120,statement:27,similarli:118,part:[118,55,16,112,27,93,29,38,101,30,94,46,41,7,85],pars:[27,59],myclass:73,std:[0,1,72,46,105,75,108,5,78,79,51,52,119,120,121,60,85,86,89,129,24,61,92,27,94,31,73],kind:[118,27,120,136],grep:2,whenev:[120,23,97],stl:[92,35,73,56],remov:[118,14,100,0,61,49,40,66,85,114,106,135,10],horizont:19,reus:23,str:[52,120,129,76,60,78,46,86],arrang:120,comput:4,matchfind:85,pik__pragma:120,dedic:118,"null":[14,120,106,62,84,13,21],imagin:85,uninte
 nd:15,built:[47,27,23,21,13],equival:[118,4,24,27,88,13],self:0,violat:[76,30,85,7,44,112],lit:85,also:[0,38,63,44,45,75,76,5,97,2,118,120,125,85,21,23,27,40,31,69,136,73],ctor:[85,125],buff:64,previou:[27,120],reach:[120,23],chart:51,setjmp:[103,117],most:[118,14,4,15,23,92,27,28,85,120,134],plan:2,alpha:85,clear:13,cover:21,charsourcerang:120,usual:[89,46,44,128],microsoft:46,addmatch:85,recoverypath:120,particularli:85,fine:[85,32],find:[33,99,100,70,71,1,72,44,45,3,4,75,6,76,78,81,114,116,51,14,15,79,54,83,60,86,59,129,24,26,92,27,28,132,107,67],ineffect:40,less:[90,8,76,73,0],solut:128,unus:[27,96,59],linethreshold:77,express:[25,27,9,110,94,103,7,59,45],someoption2:85,someoption1:85,llvmmoduletest:85,common:[105,4,129,0,40,71,78,19,88],relativepath:120,handlemacroexpandedidentifi:120,arr:118,set:[118,120,0,23,62,63,94,2,21,85],dump:85,see:[98,55,37,38,101,63,41,80,2,50,109,112,113,122,118,53,120,16,18,85,7,21,22,130,23,42,27,93,29,30,94,95],arg:[27,59,2],lower_cas:136,close:[1
 7,123],riski:59,helper:44,won:[88,89,73,71],nontrivi:93,subscript:94,experi:2,altern:[101,27,117],signatur:[58,27,115],numer:51,disallow:90,complementari:27,solv:[14,13],miscellan:85,level1b:120,both:[120,106,23,9,60,85],last:[93,91],checkopt:85,context:[14,46,85,71],whole:[27,93],simpli:[14,4,13],smartpoint:73,point:[25,27,86,31,96,59,2],my_first_point:0,header:[27,63,132],mistak:[105,4,129,88,78,71],unsuccess:13,static_cast:[51,106,1,112,7,13],due:[118,24,131,10,13,45],empti:[8,129,14,63,59],implicit:[27,59],va_arg:55,dmy_defin:[85,2],stdint:117,fire:73,buflen:4,unnecessarili:9,gap:21,understand:34,func:[64,115,118],funk:115,look:[105,14,106,23,26,27,54,28,57,19,68,21,85],noexcept:59,erron:118,durat:[126,38],"while":[118,14,0,91,57,89,13],ppcallback:[120,85],make_shar:[27,72],smart:[135,73,114],abov:[118,14,21],error:[105,4,120,129,23,64,131,27,63,88,44,89,21,85],"65536ll":31,anonym:[27,59,44,132],loop:[59,14,27,25],real:[120,44,13],malloc:105,diagost:85,itself:[35,21,0,85],isouto
 flin:85,minim:[85,91],belong:85,tgmath:117,shorter:74,octal:19,higher:[12,73],exaclti:13,optim:[52,27,120,43],getvector:118,temporari:[44,26,28,60,5,73,21,85],user:[118,35,0,92,27,28,38,44,31,125,59,2,46],stack:0,lower:[118,71],lib:120,older:[117,38],elem:118,expens:[87,27,119,128],gsl:94,propos:[13,71],cout:118,obscur:0,getinfo:0,prvalu:46,input:[31,120,63,21,85],getminrequiredargu:85,finder:85,build:[37,2],vendor:19,format:[47,23,21,0,85],signal:117,collect:21,"boolean":[59,13],popular:2,encount:2,subhead:21,often:[90,9,134,44],creation:[27,72,28,79,129],some:[118,120,85,27,117,56,38,73,13,67,134,21,97],back:136,sizeof:[27,59],scale:2,per:85,substitut:85,larg:[77,2,134],reproduc:2,addcheckfactori:85,run:[12,27,73,2],unnecessarycopi:133,step:23,from:63,subtract:41,manag:[46,23],block:[63,44,21],file2:85,file1:85,doubl:[9,106,40],within:[118,78,21,69],imy_project:[85,2],phase:88,ensur:[87,27,119,85,45],securecod:44,purposefulli:63,inclus:[120,21],span:[101,41],errno:117,submit:2,cus
 tom:[85,23],arithmet:27,includ:[64,27,63,94,59,2],forward:[27,59],cstylecast:7,properli:45,m_foo:13,lint:85,pwd:23,atoi:64,link:[85,23],translat:[23,27,88,66,85,76,2,134],info:73,concaten:88,consist:[14,134,21],confusingli:120,getint:4,readlin:14,similar:[23,85,67,115,89,73],constant:27,mypair:[72,79],parser:21,"_identical_":85,doesn:[0,26,92,73,86,89,21,117],repres:[120,21,88],"char":[105,64,76,60,5,59],cmake:[120,23,21,85],invalid:[27,59,41],declar:[36,8,29,59,126,27,76],llvm:[137,27,59,2,123],libtool:[85,2],cstr:59,mymodul:85,deserv:85,ternari:106,reverse_iter:0,downcast:[27,7],readwhitespac:14,hello:[4,19],code:[36,0,38,29,85,103,44,4,48,100,64,77,110,2,13,118,14,120,84,73,19,88,89,21,90,23,25,26,27,40,30,117,31,126,69,136,46],partial:[85,21],queri:[4,85],pik_hashpragma:120,kmessag:4,pragmaintroducerkind:120,compact:85,privat:[3,63,46,32,69],elsewher:118,sens:[14,4,89],sent:23,priority_queu:0,infostruct:0,containerswithpushback:73,reinterpret:27,untouch:46,implicitli:[51,76,71,2
 1,69],relev:[70,8],clangtidycheckfactori:85,stddef:117,md_undefin:120,button:27,"try":[76,120,85,136],vertic:19,initializer_list:0,pleas:[122,53,80,130,18,37,27,50,109,2,21],impli:[14,106],natur:85,odr:76,"_header":21,fold:[27,59],download:27,click:120,append:[85,2,136],index:27,twine:59,mymoduleanchordestin:85,compar:[105,27,59],access:[16,27,101,30,112,41,7],experiment:[5,27],deduc:[85,0,104],despit:[44,86],bodi:[118,14,91,38,57,85,43,134],sfina:55,let:[85,23],orderedvalu:4,safer:127,becom:[52,119,106,0,57,72,19,79,43,45],sinc:[118,0,27,46,89,117],pmk_error:120,convert:[64,27,59,112],convers:[64,27,59,86],larger:[85,24],cert:27,upper_cas:136,implement:[0,23,56,111,85,81,97,69],ifloc:120,constmethd:119,appli:[118,119,90,100,26,27,133,66,85,87],wil:31,disciplin:[93,55],api:[47,74],reference_argu:11,getnumparam:85,sourcerang:120,upgrad:85,next:[73,85],few:[27,85],advoc:85,simpler:74,sort:85,my_map:128,mismatch:[31,27,136],c_str:108,c_system:120,sorc:85,account:[134,21,38],retriev:4,a
 lia:[122,53,80,48,130,132,18,37,27,50,109,127,125,59,44,69],advanatag:56,sutter:44,control:[27,59,77],modulemap:21,process:[105,120,85],lock:26,high:120,tab:19,basic_str:[51,52],delai:59,gcc:120,uchar:117,subdirectori:[85,21],instead:[118,4,120,129,128,64,92,27,40,125,35,73,2,12,97,89,13,46],noproblemsassist:21,overridden:[120,85],mymap:0,redund:27,physic:19,alloc:[118,69],bind:[27,59],counter:25,correspond:[33,99,36,70,38,73,120,103,104,48,64,110,11,111,81,15,84,60,126,85,23,25,132,67,69,46],element:[118,4,73,56,10],issu:[14,27,134,2,13,85],allow:[55,0,76,46,134,89,44,85],elif:21,move:[137,27,53,113,59],comma:[8,27,83,59],chosen:85,memberinit:38,infrastructur:27,decai:27,therefor:[118,27,16],multimap:0,crash:[27,2],greater:71,handl:[64,27,59],auto:[118,24,27,72,79,86,31,59],spell:0,innermost:21,front:[120,63,21],mylist:0,edit:2,mode:[23,21,104],mycheck:85,subset:85,dcmake_export_compile_command:85,wstr:86,our:[118,85],patch:120,unique_ptr:[75,89,73,79,74],special:[76,78,43,21,134],
 out:[118,120,23,63,94,85,21],variabl:[0,38,44,133,76,112,12,118,2,126,85,87,7,21,128,23,61,27,25,29,30,66,68],defaultvalu:85,categori:85,typenam:[76,89,46,0],suitabl:[85,63],rel:[27,120,85,63],ref:[118,27,128],ast_match:85,math:117,umbrella:21,insid:[63,124,59,2],workflow:[85,2],manipul:78,standalon:[120,21],clangtidi:85,indent:[14,17,123],unwant:120,could:[41,0,27,73,16,96],keep:[76,78,134],length:[78,15,129],enforc:[27,93,55,134,136],outsid:[118,85,44],softwar:4,suffix:[85,136],md_defin:120,expensivetocopi:119,date:134,underscor:21,suffic:[133,87,27,119],getnodea:85,strict:85,flrag:44,scanf:64,perfectli:85,system:[120,27,84,85,21,46],messag:[120,63,21,85],attach:85,termin:78,default_argu:95,checkfactori:85,headerfilterregex:85,arrayref:120,ishead:21,pupos:120,nul:[27,59],charact:[51,52,4,120,129,27,78,19,44],linker:85,clearli:27,critical_sect:26,have:[0,38,46,42,2,45,113,118,14,119,120,17,125,85,87,21,91,92,27,63,94,123,69],need:[35,23,27,63,38,85,21],codingstandard:[98,20,17,123]
 ,mix:120,builtin:[27,0,38],which:[0,1,2,47,4,76,13,118,119,120,56,84,85,87,21,128,23,131,27,63,134,31,96,68,127],rvalu:[75,46,73],singl:[22,14,23,52,27,66,19,41,134,2,85],fileid:120,stringlikeclass:52,unless:[106,63],clangtidymoduleregistri:85,"class":[38,73,2,46,3,4,6,76,5,78,112,12,115,13,52,120,125,85,89,92,27,28,32,69],pyf:23,placement:[27,69],gather:85,request:2,googlemoduletest:85,determin:[118,14,63],push_front:73,text:[120,19,2,85],filetyp:120,verbos:73,trivial:[119,61,26,133,87,43],redirect:[48,91,77,125,127,132,59,44,69],textual:63,locat:[120,2,40,85,67,21],should:[0,101,41,105,4,8,111,78,118,120,56,85,58,21,129,23,91,134,67,68,76,97],smallest:9,local:59,meant:[14,28,48],contribut:46,familiar:85,memcpi:4,autom:[85,27,34,23,67],increas:[118,83],enabl:[120,23,40,46,43,85],organ:85,fixer:27,integr:27,contain:[35,8,56,38,63,94,27,59,10],clangtidycontext:85,filenamerang:120,warningspec:120,view:5,conform:[27,85],exists:85,shrinkabl:65,danger:40,statu:27,correctli:4,pattern:[9,8
 9,85],misus:[4,85],tend:0,state:[27,120,46,38],kei:[120,85,23],flp30:27,entir:85,otherwis:[35,120,0,40,117,89,2],addit:[120,0,23,63,2,85,13,73],doxygen:120,extens:[8,120,46,21,85],equal:71,etc:[51,118,120,85,45,2,46],instanc:[14,106,90,27,40,88,60,21,69],guidelin:[55,16,27,93,29,38,101,30,94,85,41,7,136,112],cpplint:[33,99,15,70,132,60,111,81,67,104],respect:[119,63,21,106],quit:60,evalu:[4,83,35,127,59,45],addition:[91,71],compon:21,json:[85,23],treat:[43,85,83],chainedconditionalreturn:106,immedi:60,presenc:[19,84],deliber:13,togeth:85,present:[85,44],multi:2,align:134,cursor:2,defin:[4,36,0,27,76,124,38,35,125,59,69],isexplicit:85,site:27,welcom:[47,117,19,46],parti:89,member:27,ifndef:21,probabl:[105,4,129,92,27,85],difficult:85,http:[98,33,95,70,38,101,99,41,55,44,8,11,111,112,81,120,16,17,123,85,20,7,22,93,29,132,30,94,67,137],expans:[120,85,21],effect:59,dealloc:69,cstyle:27,expand:[26,21,45],"__gnu_cxx":0,well:[120,85,63,69],exampl:[35,63,44,105,4,75,6,5,78,2,114,115,14,82,1
 24,59,129,61,26,131,40,92],intxx:33,choos:[35,46],undefin:[27,46,29,38],latest:27,unari:[99,45],map_iter:0,clang_include_fixer_path:23,sourcen:[85,2],obtain:[133,87],mistaken:90,web:27,static_assert:127,field:[119,120,27,125,46,38],bell:19,instanti:[89,85,13],add:[118,23,24,85,71,39,46,38,89,129,73],bool:[27,34,59],match:[118,34,0,23,27,63,85,89,128],correspondig:33,conditionrang:120,nameloc:120,wstring:[51,86],camelcas:136,source0:[85,2],know:[14,85,44],press:[27,2],insert:[27,73,23,38],resid:85,like:[118,4,15,90,0,26,92,27,28,63,62,10,5,78,19,86,31,88,21,85],necessari:[89,46,85],resiz:5,page:47,err60:27,err61:27,exceed:77,captur:24,"export":[21,2,85],proper:40,guarante:[117,97],librari:[120,27,117,46,89,21,85],filenametok:120,lead:[27,4,76,41,16],leak:73,avoid:[63,27,68,59,40],leav:[0,26,8,38,60,27],"__debug":120,"enum":[118,120],branchthreshold:77,although:[76,44,2],offset:[2,88],stage:[23,2],about:[27,59,2,38],actual:[120,61,6,112,27,84,30,13,7,32,10],column:[21,2],dcl03:27,cons
 tructor:[27,126,53,38],disabl:[120,46,85,83],own:85,automat:[85,120,23,21,38],isocpp:[55,16,93,29,38,101,30,94,112,41,7],guard:59,pitfal:85,destructor:[26,87,93,85,119],getmessag:4,undef:120,val:0,isimplicit:85,transfer:89,much:89,inner:[46,91],arg1:24,pik___pragma:120,"function":[55,64,27,16,36,2],map_fat:120,statementthreshold:77,unexpect:45,overflow:31,inlin:[76,85],buf:4,bug:[70,27,13,2,85],count:[26,91],made:13,whether:[118,14,120,83,85,58,21,97],displai:[120,44,2,63,85,21],record:[27,38],below:[118,9,120,63,0],limit:[59,63,117],uniqueptr:[27,59],"static":[27,94,126,130],problem:[51,23,27,9,63,85,16,21],multip:85,ttwo:19,"int":[64,86],dure:[118,38],rule:[33,36,38,101,41,103,44,48,64,110,11,111,112,81,13,55,16,84,126,7,25,27,93,29,30,94,136,69],inc:21,hpp:134,detail:[27,117,23],virtual:[27,59,95],other:[118,23,0,64,8,124,63,73,13,32,85,27,21,46],lookup:23,futur:[73,2,97],branch:77,renamefil:120,repeat:59,star:0,stai:89,myvec:0,pragmamessagekind:120,sourceloc:[120,85],reinterpret
 cast:30},objtypes:{"0":"std:option"},objnames:{"0":["std","option","option"]},filenames:["clang-tidy/checks/modernize-use-auto","clang-tidy/checks/modernize-use-bool-literals","clang-rename","clang-tidy/checks/misc-unconventional-assign-operator","clang-tidy/checks/misc-sizeof-expression","clang-tidy/checks/misc-dangling-handle","clang-tidy/checks/misc-unused-using-decls","clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast","clang-tidy/checks/google-global-names-in-headers","clang-tidy/checks/misc-incorrect-roundings","clang-tidy/checks/misc-inaccurate-erase","clang-tidy/checks/google-runtime-references","clang-tidy/checks/modernize-use-using","clang-tidy/checks/readability-implicit-bool-cast","clang-tidy/checks/misc-suspicious-semicolon","clang-tidy/checks/google-runtime-memset","clang-tidy/checks/cppcoreguidelines-interfaces-global-init","clang-tidy/checks/llvm-namespace-comment","clang-tidy/checks/google-readability-function-size","clang-tidy/checks/modernize-raw-string-lit
 eral","clang-tidy/checks/readability-else-after-return","modularize","clang-tidy/checks/google-explicit-constructor","include-fixer","clang-tidy/checks/modernize-avoid-bind","clang-tidy/checks/cert-flp30-c","clang-tidy/checks/misc-unused-raii","ReleaseNotes","clang-tidy/checks/misc-undelegated-constructor","clang-tidy/checks/cppcoreguidelines-pro-type-const-cast","clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast","clang-tidy/checks/misc-fold-init-type","clang-tidy/checks/readability-deleted-default","clang-tidy/checks/google-runtime-int","clang-tidy/checks/misc-argument-comment","clang-tidy/checks/misc-noexcept-move-constructor","clang-tidy/checks/cert-dcl50-cpp","clang-tidy/checks/cert-dcl59-cpp","clang-tidy/checks/cppcoreguidelines-pro-type-member-init","clang-tidy/checks/llvm-header-guard","clang-tidy/checks/misc-misplaced-widening-cast","clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic","cpp11-migrate","clang-tidy/checks/modernize-use-default","clan
 g-tidy/checks/misc-throw-by-value-catch-by-reference","clang-tidy/checks/misc-macro-parentheses","clang-tidy/checks/modernize-pass-by-value","index","clang-tidy/checks/misc-non-copyable-objects","clang-tidy/checks/modernize-use-override","clang-tidy/checks/cert-fio38-c","clang-tidy/checks/misc-string-integer-assignment","clang-tidy/checks/performance-faster-string-find","clang-tidy/checks/cert-oop11-cpp","clang-tidy/checks/misc-swapped-arguments","clang-tidy/checks/cppcoreguidelines-pro-type-vararg","clang-tidy/checks/misc-inefficient-algorithm","clang-tidy/checks/readability-redundant-control-flow","clang-tidy/checks/readability-avoid-const-params-in-decls","clang-tidy/checks/list","clang-tidy/checks/google-runtime-member-string-references","clang-tidy/checks/misc-move-const-arg","clang-tidy/checks/modernize-use-nullptr","ModularizeUsage","clang-tidy/checks/cert-err34-c","clang-tidy/checks/modernize-shrink-to-fit","clang-tidy/checks/readability-static-definition-in-anonymous-namesp
 ace","clang-tidy/checks/google-readability-casting","clang-tidy/checks/llvm-twine-local","clang-tidy/checks/misc-new-delete-overloads","clang-tidy/checks/google-readability-todo","clang-tidy/checks/misc-suspicious-string-compare","clang-tidy/checks/modernize-make-shared","clang-tidy/checks/modernize-use-emplace","clang-tidy/checks/readability-uniqueptr-delete-release","clang-tidy/checks/misc-uniqueptr-reset-release","clang-tidy/checks/misc-definitions-in-headers","clang-tidy/checks/readability-function-size","clang-tidy/checks/misc-string-literal-with-embedded-nul","clang-tidy/checks/modernize-make-unique","clang-tidy/checks/cert-err61-cpp","clang-tidy/checks/google-build-using-namespace","clang-tidy/checks/misc-bool-pointer-implicit-conversion","clang-tidy/checks/misc-assert-side-effect","clang-tidy/checks/cert-env33-c","clang-tidy/index","clang-tidy/checks/boost-use-to-string","clang-tidy/checks/performance-for-range-copy","clang-tidy/checks/misc-suspicious-missing-comma","clang-t
 idy/checks/modernize-replace-auto-ptr","clang-tidy/checks/misc-misplaced-const","clang-tidy/checks/readability-braces-around-statements","clang-tidy/checks/misc-sizeof-container","clang-tidy/checks/cppcoreguidelines-pro-type-union-access","clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index","clang-tidy/checks/google-default-arguments","clang-tidy/checks/misc-forward-declaration-namespace","clang-tidy/checks/readability-container-size-empty","clang-tidy/checks/llvm-include-order","clang-tidy/checks/google-runtime-operator","clang-tidy/checks/modernize-redundant-void-arg","clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay","clang-tidy/checks/misc-macro-repeated-side-effects","clang-tidy/checks/cert-err52-cpp","clang-tidy/checks/google-build-explicit-make-pair","clang-tidy/checks/misc-pointer-and-integral-operation","clang-tidy/checks/readability-simplify-boolean-expr","clang-tidy/checks/misc-unused-alias-decls","clang-tidy/checks/readability-redund
 ant-string-cstr","clang-tidy/checks/google-readability-braces-around-statements","clang-tidy/checks/cert-err60-cpp","clang-tidy/checks/readability-named-parameter","clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast","clang-modernize","clang-tidy/checks/google-readability-redundant-smartptr-get","clang-tidy/checks/misc-virtual-near-miss","clang-tidy/checks/misc-unused-parameters","clang-tidy/checks/modernize-deprecated-headers","clang-tidy/checks/modernize-loop-convert","clang-tidy/checks/performance-unnecessary-value-param","pp-trace","clang-tidy/checks/readability-redundant-string-init","clang-tidy/checks/cert-dcl54-cpp","clang-tidy/checks/google-readability-namespace-comments","clang-tidy/checks/misc-multiple-statement-macro","clang-tidy/checks/misc-move-constructor-init","clang-tidy/checks/cert-err58-cpp","clang-tidy/checks/misc-static-assert","clang-tidy/checks/performance-implicit-cast-in-loop","clang-tidy/checks/misc-string-constructor","clang-tidy/checks/cert-
 dcl03-c","clang-tidy/checks/misc-redundant-expression","clang-tidy/checks/google-build-namespaces","clang-tidy/checks/performance-unnecessary-copy-initialization","clang-tidy/checks/readability-inconsistent-declaration-parameter-name","clang-tidy/checks/readability-redundant-smartptr-get","clang-tidy/checks/readability-identifier-naming","clang-tidy"],titles:["clang-tidy - modernize-use-auto","clang-tidy - modernize-use-bool-literals","Clang-Rename","clang-tidy - misc-unconventional-assign-operator","clang-tidy - misc-sizeof-expression","clang-tidy - misc-dangling-handle","clang-tidy - misc-unused-using-decls","clang-tidy - cppcoreguidelines-pro-type-cstyle-cast","clang-tidy - google-global-names-in-headers","clang-tidy - misc-incorrect-roundings","clang-tidy - misc-inaccurate-erase","clang-tidy - google-runtime-references","clang-tidy - modernize-use-using","clang-tidy - readability-implicit-bool-cast","clang-tidy - misc-suspicious-semicolon","clang-tidy - google-runtime-memset","c
 lang-tidy - cppcoreguidelines-interfaces-global-init","clang-tidy - llvm-namespace-comment","clang-tidy - google-readability-function-size","clang-tidy - modernize-raw-string-literal","clang-tidy - readability-else-after-return","Modularize User’s Manual","clang-tidy - google-explicit-constructor","Clang-Include-Fixer","clang-tidy - modernize-avoid-bind","clang-tidy - cert-flp30-c","clang-tidy - misc-unused-raii","Extra Clang Tools 3.9 Release Notes","clang-tidy - misc-undelegated-constructor","clang-tidy - cppcoreguidelines-pro-type-const-cast","clang-tidy - cppcoreguidelines-pro-type-reinterpret-cast","clang-tidy - misc-fold-init-type","clang-tidy - readability-deleted-default","clang-tidy - google-runtime-int","clang-tidy - misc-argument-comment","clang-tidy - misc-noexcept-move-constructor","clang-tidy - cert-dcl50-cpp","clang-tidy - cert-dcl59-cpp","clang-tidy - cppcoreguidelines-pro-type-member-init","clang-tidy - llvm-header-guard","clang-tidy - misc-misplaced-widening-
 cast","clang-tidy - cppcoreguidelines-pro-bounds-pointer-arithmetic","<no title>","clang-tidy - modernize-use-default","clang-tidy - misc-throw-by-value-catch-by-reference","clang-tidy - misc-macro-parentheses","clang-tidy - modernize-pass-by-value","Welcome to Extra Clang Tools’s documentation!","clang-tidy - misc-non-copyable-objects","clang-tidy - modernize-use-override","clang-tidy - cert-fio38-c","clang-tidy - misc-string-integer-assignment","clang-tidy - performance-faster-string-find","clang-tidy - cert-oop11-cpp","clang-tidy - misc-swapped-arguments","clang-tidy - cppcoreguidelines-pro-type-vararg","clang-tidy - misc-inefficient-algorithm","clang-tidy - readability-redundant-control-flow","clang-tidy - readability-avoid-const-params-in-decls","clang-tidy - Clang-Tidy Checks","clang-tidy - google-runtime-member-string-references","clang-tidy - misc-move-const-arg","clang-tidy - modernize-use-nullptr","Modularize Usage","clang-tidy - cert-err34-c","clang-tidy - mod
 ernize-shrink-to-fit","clang-tidy - readability-static-definition-in-anonymous-namespace","clang-tidy - google-readability-casting","clang-tidy - llvm-twine-local","clang-tidy - misc-new-delete-overloads","clang-tidy - google-readability-todo","clang-tidy - misc-suspicious-string-compare","clang-tidy - modernize-make-shared","clang-tidy - modernize-use-emplace","clang-tidy - readability-uniqueptr-delete-release","clang-tidy - misc-uniqueptr-reset-release","clang-tidy - misc-definitions-in-headers","clang-tidy - readability-function-size","clang-tidy - misc-string-literal-with-embedded-nul","clang-tidy - modernize-make-unique","clang-tidy - cert-err61-cpp","clang-tidy - google-build-using-namespace","clang-tidy - misc-bool-pointer-implicit-conversion","clang-tidy - misc-assert-side-effect","clang-tidy - cert-env33-c","Clang-Tidy","clang-tidy - boost-use-to-string","clang-tidy - performance-for-range-copy","clang-tidy - misc-suspicious-missing-comma","clang-tidy - modernize-replace-au
 to-ptr","clang-tidy - misc-misplaced-const","clang-tidy - readability-braces-around-statements","clang-tidy - misc-sizeof-container","clang-tidy - cppcoreguidelines-pro-type-union-access","clang-tidy - cppcoreguidelines-pro-bounds-constant-array-index","clang-tidy - google-default-arguments","clang-tidy - misc-forward-declaration-namespace","clang-tidy - readability-container-size-empty","clang-tidy - llvm-include-order","clang-tidy - google-runtime-operator","clang-tidy - modernize-redundant-void-arg","clang-tidy - cppcoreguidelines-pro-bounds-array-to-pointer-decay","clang-tidy - misc-macro-repeated-side-effects","clang-tidy - cert-err52-cpp","clang-tidy - google-build-explicit-make-pair","clang-tidy - misc-pointer-and-integral-operation","clang-tidy - readability-simplify-boolean-expr","clang-tidy - misc-unused-alias-decls","clang-tidy - readability-redundant-string-cstr","clang-tidy - google-readability-braces-around-statements","clang-tidy - cert-err60-cpp","clang-tidy - readab
 ility-named-parameter","clang-tidy - cppcoreguidelines-pro-type-static-cast-downcast","<no title>","clang-tidy - google-readability-redundant-smartptr-get","clang-tidy - misc-virtual-near-miss","clang-tidy - misc-unused-parameters","clang-tidy - modernize-deprecated-headers","clang-tidy - modernize-loop-convert","clang-tidy - performance-unnecessary-value-param","pp-trace User’s Manual","clang-tidy - readability-redundant-string-init","clang-tidy - cert-dcl54-cpp","clang-tidy - google-readability-namespace-comments","clang-tidy - misc-multiple-statement-macro","clang-tidy - misc-move-constructor-init","clang-tidy - cert-err58-cpp","clang-tidy - misc-static-assert","clang-tidy - performance-implicit-cast-in-loop","clang-tidy - misc-string-constructor","clang-tidy - cert-dcl03-c","clang-tidy - misc-redundant-expression","clang-tidy - google-build-namespaces","clang-tidy - performance-unnecessary-copy-initialization","clang-tidy - readability-inconsistent-declaration-parame
 ter-name","clang-tidy - readability-redundant-smartptr-get","clang-tidy - readability-identifier-naming","<no title>"],objects:{"":{"-problem-files-list":[63,0,1,"cmdoption-problem-files-list"],"-ignore":[120,0,1,"cmdoption-ignore"],"-no-coverage-check":[63,0,1,"cmdoption-no-coverage-check"],"-prefix":[63,0,1,"cmdoption-prefix"],"-display-file-lists":[63,0,1,"cmdoption-display-file-lists"],"-block-check-header-list-only":[63,0,1,"cmdoption-block-check-header-list-only"],"-module-map-path":[63,0,1,"cmdoption-module-map-path"],"-root-module":[63,0,1,"cmdoption-root-module"],"-output":[120,0,1,"cmdoption-output"],"-coverage-check-only":[63,0,1,"cmdoption-coverage-check-only"]}},titleterms:{decl:[6,58,107],comment:[118,34,17,123],elif:120,identifi:136,pragmawarningpush:120,global:[8,16],major:27,misplac:[90,40],"catch":44,macrodefin:120,downcast:112,comma:88,invalid:78,macroexpand:120,pointer:[101,105,82,41,118],ptr:89,paramet:[111,134,116],involv:85,access:93,onli:118,"const":[58
 ,90,29,61],alia:107,fit:65,configur:85,readabl:[70,74,106,77,108,109,111,114,13,121,18,123,57,58,20,91,66,134,67,135,136,32,97],param:[58,119],pragmawarningpop:120,init:[31,125,121,16,38],swap:54,decai:101,els:[20,120],macroundefin:120,local:68,arrai:[101,94],pair:104,non:48,move:[35,125,61],"return":20,around:[109,91],get:[135,85,21,114],handl:5,auto:[89,0],"void":100,express:[131,4,0],clang:[85,27,23,2,59],reinterpret:30,"new":[27,0,69],string:[51,52,121,71,60,78,19,86,108,129],introduct:[47,27],redund:[121,100,131,108,57,114,135],moduleimport:120,name:[8,111,134,136],fio38:50,deprec:117,nullptr:62,fixer:23,iter:0,"default":[118,43,32,95],env33:84,minconfid:118,integr:[105,23,2],contain:[92,118,97],output:120,side:[118,102,83],err60:110,err61:80,compil:23,right:85,map:21,replac:89,pass:46,memset:15,uniqu:79,cppcoreguidelin:[55,16,93,29,38,101,30,94,112,41,7],fold:31,nul:78,llvm:[98,39,68,85,17],"static":[66,112,127],integ:51,arg:[100,61],emplac:73,ignorearrai:38,todo:70,index:[94,
 23],what:[27,21],compar:71,cast:[40,30,29,67,128,7,13,112],databas:23,avoid:[58,24],extra:27,definit:[76,66],pragmadetectmismatch:120,overload:[118,69],find:52,content:[47,23,2,85],delet:[74,32,69],err58:126,directori:85,err52:103,size:[18,77,97],boost:86,refer:[60,118,11,44],object:48,run:85,insid:118,declar:[96,134],gener:21,usag:[4,120,63],suspici:[14,4,88,71],ineffici:56,modular:[63,21],flp30:25,base:118,delai:46,releas:[27,74,75],implicit:[82,40,13,128],valu:[119,46,44],unnecessari:[133,119],manual:[120,21],convert:118,your:85,convers:82,copyabl:48,pragmadirect:120,reason:118,round:9,cert:[122,53,36,130,25,64,37,50,110,126,80,103,84],inconsist:134,place:85,truncat:78,constructor:[22,35,129,28,125,46],pragmaopenclextens:120,improv:27,chang:27,assign:[51,3],user:[120,62,21],oper:[3,118,99,105],overrid:49,rang:[87,118],note:[27,46],widen:40,pragmadebug:120,point:40,onc:118,modul:21,"float":40,misc:[34,35,71,102,10,44,45,3,4,48,6,76,9,5,78,115,116,51,14,82,105,54,124,83,56,125,127,
 88,75,129,90,61,26,92,28,40,107,131,31,96,69],bound:[101,94,41],vim:[23,2],cstr:108,guard:39,"boolean":106,coverag:21,miss:[115,88],dangl:5,smartptr:[135,114],unconvent:3,from:[27,23],err34:64,vararg:55,union:93,test:85,oop11:53,regist:85,pragmawarn:120,"throw":44,start:21,arithmet:41,includ:[98,23],statement:[109,124,91],forward:96,interfac:16,type:[55,93,29,38,30,112,31,7],"function":[18,77],setup:23,option:[118,120,63,0,38],namespac:[17,132,66,81,123,96],tool:27,copi:[133,87],about:46,assert:[83,127],pars:46,templat:46,workspac:85,known:[89,46,0],renam:2,line:[120,63],faster:52,reset:75,removestar:0,ident:120,filechang:120,expr:106,prepar:85,work:23,empti:97,structur:85,riski:118,defin:[120,62],inaccur:10,dcl54:122,limit:[118,89,46,0],fileskip:120,uniqueptr:[74,75],anonym:66,initi:133,loop:[118,128],control:57,endofmainfil:120,undeleg:28,constant:94,creat:23,"int":33,explicit:[22,104],pro:[55,93,29,38,101,30,94,112,41,7],modern:[118,117,0,24,49,73,62,100,1,65,72,19,79,12,89,43,46
 ],share:72,argument:[34,54,95],indic:47,sourcerangeskip:120,"char":4,raw:19,pragmadiagnosticpush:120,liter:[1,78,19],eras:10,tabl:47,dcl03:130,featur:27,sizeof:[92,4],dcl59:37,unus:[26,6,107,116],incorrect:9,macro:[102,124,62,45],multipl:124,googl:[22,95,15,114,33,18,70,8,67,99,132,60,11,81,123,109,104],inclusiondirect:120,perform:[133,52,119,128,87],tidi:[27,59,85],make:[72,79,104],format:120,header:[39,8,117,76,118],detail:120,virtual:115,check:[59,21,85],member:[60,38],how:23,exampl:[118,62],bool:[1,82,13],build:[132,120,81,104],evalu:118,ifndef:120,pragmamessag:120,filenotfound:120,brace:[109,91],shrink:65,simplifi:106,repeat:102,thi:4,trace:120,twine:68,raii:26,symbol:23,after:20,effect:[118,102,83],embed:78,cstyle:7,end:118,noexcept:35,choos:85,pragmadiagnosticpop:120,safe:118,dcl50:36,pragmacom:120,algorithm:56,pragmadiagnost:120,ifdef:120,bind:24,flow:57,parenthes:45,callback:120,write:85,command:[120,63],runtim:[60,33,11,15,99],semicolon:14,endif:120,cpp:[122,53,80,37,110,1
 26,36,103],escap:78,order:98}})
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/.buildinfo
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/.buildinfo?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/.buildinfo (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/.buildinfo Fri Sep  2 10:56:46 2016
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 42bd4842b69e09b98da8bcc4d85cf5de
+tags: 645f666f9bcd5a90fca523b33c5a78b7

Added: www-releases/trunk/3.9.0/tools/lld/docs/AtomLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/AtomLLD.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/AtomLLD.html (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/AtomLLD.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,227 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>ATOM-based lld — lld 3.2 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.2',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 3.2 documentation" href="index.html" />
+    <link rel="next" title="Linker Design" href="design.html" />
+    <link rel="prev" title="The ELF and COFF Linkers" href="NewLLD.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="design.html" title="Linker Design"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="NewLLD.html" title="The ELF and COFF Linkers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">ATOM-based lld</a><ul>
+<li><a class="reference internal" href="#why-a-new-linker">Why a new linker?</a></li>
+<li><a class="reference internal" href="#contents">Contents</a></li>
+<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="NewLLD.html"
+                        title="previous chapter">The ELF and COFF Linkers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="design.html"
+                        title="next chapter">Linker Design</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/AtomLLD.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="atom-based-lld">
+<h1>ATOM-based lld<a class="headerlink" href="#atom-based-lld" title="Permalink to this headline">¶</a></h1>
+<p>ATOM-based lld is a new set of modular code for creating linker tools.
+Currently it supports Mach-O.</p>
+<ul class="simple">
+<li>End-User Features:<ul>
+<li>Compatible with existing linker options</li>
+<li>Reads standard Object Files</li>
+<li>Writes standard Executable Files</li>
+<li>Remove clang’s reliance on “the system linker”</li>
+<li>Uses the LLVM <a class="reference external" href="http://llvm.org/docs/DeveloperPolicy.html#license">“UIUC” BSD-Style license</a>.</li>
+</ul>
+</li>
+<li>Applications:<ul>
+<li>Modular design</li>
+<li>Support cross linking</li>
+<li>Easy to add new CPU support</li>
+<li>Can be built as static tool or library</li>
+</ul>
+</li>
+<li>Design and Implementation:<ul>
+<li>Extensive unit tests</li>
+<li>Internal linker model can be dumped/read to textual format</li>
+<li>Additional linking features can be plugged in as “passes”</li>
+<li>OS specific and CPU specific code factored out</li>
+</ul>
+</li>
+</ul>
+<div class="section" id="why-a-new-linker">
+<h2>Why a new linker?<a class="headerlink" href="#why-a-new-linker" title="Permalink to this headline">¶</a></h2>
+<p>The fact that clang relies on whatever linker tool you happen to have installed
+means that clang has been very conservative adopting features which require a
+recent linker.</p>
+<p>In the same way that the MC layer of LLVM has removed clang’s reliance on the
+system assembler tool, the lld project will remove clang’s reliance on the
+system linker tool.</p>
+</div>
+<div class="section" id="contents">
+<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="design.html">Linker Design</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="design.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#atom-model">Atom Model</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#file-model">File Model</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#linking-steps">Linking Steps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#lld-file-representations">lld::File representations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#testing">Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#design-issues">Design Issues</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting Started: Building and Running lld</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="getting_started.html#building-lld">Building lld</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="ReleaseNotes.html">LLD 3.9 Release Notes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="ReleaseNotes.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ReleaseNotes.html#what-s-new-in-elf-support">What’s new in ELF Support?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Development</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="development.html#using-c-11-in-lld">Using C++11 in lld</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#creating-a-reader">Creating a Reader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#modifying-the-driver">Modifying the Driver</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#debugging">Debugging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#documentation">Documentation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="windows_support.html">Windows support</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="windows_support.html#development-status">Development status</a></li>
+<li class="toctree-l2"><a class="reference internal" href="windows_support.html#building-lld">Building LLD</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="open_projects.html">Open Projects</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="open_projects.html#include-lld-core">include/lld/Core</a></li>
+<li class="toctree-l2"><a class="reference internal" href="open_projects.html#documentation-todos">Documentation TODOs</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="sphinx_intro.html">Sphinx Introduction for LLVM Developers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="sphinx_intro.html#quickstart">Quickstart</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sphinx_intro.html#learning-more">Learning More</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sphinx_intro.html#installing-sphinx-in-a-virtual-environment">Installing Sphinx in a Virtual Environment</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div class="section" id="indices-and-tables">
+<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><a class="reference internal" href="genindex.html"><em>Index</em></a></li>
+<li><a class="reference internal" href="search.html"><em>Search Page</em></a></li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="design.html" title="Linker Design"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="NewLLD.html" title="The ELF and COFF Linkers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2016, LLVM Project.
+      Last updated on 2016-08-31.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/C++11.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/C%2B%2B11.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/C++11.html (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/C++11.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,134 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>C++11 — lld 3.2 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.2',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 3.2 documentation" href="index.html" />
+    <link rel="up" title="Development" href="development.html" />
+    <link rel="next" title="Developing lld Readers" href="Readers.html" />
+    <link rel="prev" title="Development" href="development.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="development.html"
+                        title="previous chapter">Development</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="Readers.html"
+                        title="next chapter">Developing lld Readers</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/C++11.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="c-11">
+<h1>C++11<a class="headerlink" href="#c-11" title="Permalink to this headline">¶</a></h1>
+<p>Originally, LLD was developed in C++11 unlike the rest of LLVM. Now, all of
+LLVM, LLD, and Clang are developed using C++11. See the <a class="reference external" href="http://llvm.org/docs/CodingStandards.html">LLVM Coding
+Standards</a> for details on the precise subset of C++11 supported by the various
+host compilers.</p>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2016, LLVM Project.
+      Last updated on 2016-08-31.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/Driver.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/Driver.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/Driver.html (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/Driver.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,225 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Driver — lld 3.2 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.2',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 3.2 documentation" href="index.html" />
+    <link rel="up" title="Development" href="development.html" />
+    <link rel="next" title="Windows support" href="windows_support.html" />
+    <link rel="prev" title="Developing lld Readers" href="Readers.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="windows_support.html" title="Windows support"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Driver</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#overview">Overview</a><ul>
+<li><a class="reference internal" href="#flavors">Flavors</a><ul>
+<li><a class="reference internal" href="#selecting-a-flavor">Selecting a Flavor</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="reference internal" href="#adding-an-option-to-an-existing-flavor">Adding an Option to an existing Flavor</a></li>
+<li><a class="reference internal" href="#adding-a-flavor">Adding a Flavor</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="Readers.html"
+                        title="previous chapter">Developing lld Readers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="windows_support.html"
+                        title="next chapter">Windows support</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/Driver.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="driver">
+<h1>Driver<a class="headerlink" href="#driver" title="Permalink to this headline">¶</a></h1>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#overview" id="id2">Overview</a><ul>
+<li><a class="reference internal" href="#flavors" id="id3">Flavors</a><ul>
+<li><a class="reference internal" href="#selecting-a-flavor" id="id4">Selecting a Flavor</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="reference internal" href="#adding-an-option-to-an-existing-flavor" id="id5">Adding an Option to an existing Flavor</a></li>
+<li><a class="reference internal" href="#adding-a-flavor" id="id6">Adding a Flavor</a></li>
+</ul>
+</div>
+<div class="section" id="introduction">
+<h2><a class="toc-backref" href="#id1">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>This document describes the lld driver. The purpose of this document is to
+describe both the motivation and design goals for the driver, as well as details
+of the internal implementation.</p>
+</div>
+<div class="section" id="overview">
+<h2><a class="toc-backref" href="#id2">Overview</a><a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
+<p>The lld driver is designed to support a number of different command line
+interfaces. The main interfaces we plan to support are binutils’ ld, Apple’s
+ld, and Microsoft’s link.exe.</p>
+<div class="section" id="flavors">
+<h3><a class="toc-backref" href="#id3">Flavors</a><a class="headerlink" href="#flavors" title="Permalink to this headline">¶</a></h3>
+<p>Each of these different interfaces is referred to as a flavor. There is also an
+extra flavor “core” which is used to exercise the core functionality of the
+linker it the test suite.</p>
+<ul class="simple">
+<li>gnu</li>
+<li>darwin</li>
+<li>link</li>
+<li>core</li>
+</ul>
+<div class="section" id="selecting-a-flavor">
+<h4><a class="toc-backref" href="#id4">Selecting a Flavor</a><a class="headerlink" href="#selecting-a-flavor" title="Permalink to this headline">¶</a></h4>
+<p>There are two different ways to tell lld which flavor to be. They are checked in
+order, so the second overrides the first. The first is to symlink <strong class="program">lld</strong>
+as <strong class="program">lld-{flavor}</strong> or just <strong class="program">{flavor}</strong>. You can also specify
+it as the first command line argument using <tt class="docutils literal"><span class="pre">-flavor</span></tt>:</p>
+<div class="highlight-python"><div class="highlight"><pre>$ lld -flavor gnu
+</pre></div>
+</div>
+<p>There is a shortcut for <tt class="docutils literal"><span class="pre">-flavor</span> <span class="pre">core</span></tt> as <tt class="docutils literal"><span class="pre">-core</span></tt>.</p>
+</div>
+</div>
+</div>
+<div class="section" id="adding-an-option-to-an-existing-flavor">
+<h2><a class="toc-backref" href="#id5">Adding an Option to an existing Flavor</a><a class="headerlink" href="#adding-an-option-to-an-existing-flavor" title="Permalink to this headline">¶</a></h2>
+<ol class="arabic simple">
+<li>Add the option to the desired <tt class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></tt>.</li>
+<li>Add to <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::FlavorLinkingContext</span></tt> a getter and setter method
+for the option.</li>
+<li>Modify <tt class="xref cpp cpp-func docutils literal"><span class="pre">lld::FlavorDriver::parse()</span></tt> in :file:
+<cite>lib/Driver/{Flavor}Driver.cpp</cite> to call the targetInfo setter
+for corresponding to the option.</li>
+<li>Modify {Flavor}Reader and {Flavor}Writer to use the new targtInfo option.</li>
+</ol>
+</div>
+<div class="section" id="adding-a-flavor">
+<h2><a class="toc-backref" href="#id6">Adding a Flavor</a><a class="headerlink" href="#adding-a-flavor" title="Permalink to this headline">¶</a></h2>
+<ol class="arabic simple">
+<li>Add an entry for the flavor in <tt class="file docutils literal"><span class="pre">include/lld/Driver/Driver.h</span></tt> to
+<tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::UniversalDriver::Flavor</span></tt>.</li>
+<li>Add an entry in <tt class="file docutils literal"><span class="pre">lib/Driver/UniversalDriver.cpp</span></tt> to
+<tt class="xref cpp cpp-func docutils literal"><span class="pre">lld::Driver::strToFlavor()</span></tt> and
+<tt class="xref cpp cpp-func docutils literal"><span class="pre">lld::UniversalDriver::link()</span></tt>.
+This allows the flavor to be selected via symlink and <em class="xref std std-option">-flavor</em>.</li>
+<li>Add a tablegen file called <tt class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></tt> that
+describes the options. If the options are a superset of another driver, that
+driver’s td file can simply be included. The <tt class="file docutils literal"><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></tt> file
+must also be added to <tt class="file docutils literal"><span class="pre">lib/Driver/CMakeLists.txt</span></tt>.</li>
+<li>Add a <tt class="docutils literal"><span class="pre">{flavor}Driver</span></tt> as a subclass of <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::Driver</span></tt>
+in <tt class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Driver.cpp</span></tt>.</li>
+</ol>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="windows_support.html" title="Windows support"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2016, LLVM Project.
+      Last updated on 2016-08-31.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/NewLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/NewLLD.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/NewLLD.html (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/NewLLD.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,440 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>The ELF and COFF Linkers — lld 3.2 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.2',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 3.2 documentation" href="index.html" />
+    <link rel="next" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="prev" title="lld - The LLVM Linker" href="index.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="AtomLLD.html" title="ATOM-based lld"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="index.html" title="lld - The LLVM Linker"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">The ELF and COFF Linkers</a><ul>
+<li><a class="reference internal" href="#the-elf-linker-as-a-library">The ELF Linker as a Library</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#design">Design</a><ul>
+<li><a class="reference internal" href="#key-concepts">Key Concepts</a></li>
+<li><a class="reference internal" href="#numbers-you-want-to-know">Numbers You Want to Know</a></li>
+<li><a class="reference internal" href="#important-data-strcutures">Important Data Strcutures</a></li>
+<li><a class="reference internal" href="#link-time-optimization">Link-Time Optimization</a></li>
+<li><a class="reference internal" href="#glossary">Glossary</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="index.html"
+                        title="previous chapter">lld - The LLVM Linker</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="AtomLLD.html"
+                        title="next chapter">ATOM-based lld</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/NewLLD.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="the-elf-and-coff-linkers">
+<h1>The ELF and COFF Linkers<a class="headerlink" href="#the-elf-and-coff-linkers" title="Permalink to this headline">¶</a></h1>
+<p>We started rewriting the ELF (Unix) and COFF (Windows) linkers in May 2015.
+Since then, we have been making a steady progress towards providing
+drop-in replacements for the system linkers.</p>
+<p>Currently, the Windows support is mostly complete and is about 2x faster
+than the linker that comes as a part of Micrsoft Visual Studio toolchain.</p>
+<p>The ELF support is in progress and is able to link large programs
+such as Clang or LLD itself. Unless your program depends on linker scripts,
+you can expect it to be linkable with LLD.
+It is currently about 1.2x to 2x faster than GNU gold linker.
+We aim to make it a drop-in replacement for the GNU linker.</p>
+<p>We expect that FreeBSD is going to be the first large system
+to adopt LLD as the system linker.
+We are working on it in collaboration with the FreeBSD project.</p>
+<p>The linkers are notably small; as of June 2016,
+the COFF linker is under 7k lines and the ELF linker is about 13k lines,
+while gold is 146K lines.</p>
+<p>The linkers are designed to be as fast and simple as possible.
+Because it is simple, it is easy to extend to support new features.
+It already supports several advanced features such section garbage
+collection and identical code folding.</p>
+<p>The COFF linker supports i386, x86-64 and ARM. The ELF linker supports
+i386, x86-64, x32, MIPS32, MIPS64, PowerPC, AMDGPU, ARM and Aarch64,
+although the quality varies depending on platform. By default, LLD
+provides support for all targets because the amount of code we have for
+each target is so small. We do not even provide a way to disable
+targets at compile time.</p>
+<p>There are a few key design choices that we made to achieve these goals.
+We will describe them in this document.</p>
+<div class="section" id="the-elf-linker-as-a-library">
+<h2>The ELF Linker as a Library<a class="headerlink" href="#the-elf-linker-as-a-library" title="Permalink to this headline">¶</a></h2>
+<p>You can embed LLD to your program by linking against it and calling the linker’s
+entry point function lld::elf::link.</p>
+<p>The current policy is that it is your reponsibility to give trustworthy object
+files. The function is guaranteed to return as long as you do not pass corrupted
+or malicious object files. A corrupted file could cause a fatal error or SEGV.
+That being said, you don’t need to worry too much about it if you create object
+files in the usual way and give them to the linker. It is naturally expected to
+work, or otherwise it’s a linker’s bug.</p>
+</div>
+</div>
+<div class="section" id="design">
+<h1>Design<a class="headerlink" href="#design" title="Permalink to this headline">¶</a></h1>
+<p>We will describe the design of the linkers in the rest of the document.</p>
+<div class="section" id="key-concepts">
+<h2>Key Concepts<a class="headerlink" href="#key-concepts" title="Permalink to this headline">¶</a></h2>
+<p>Linkers are fairly large pieces of software.
+There are many design choices you have to make to create a complete linker.</p>
+<p>This is a list of design choices we’ve made for ELF and COFF LLD.
+We believe that these high-level design choices achieved a right balance
+between speed, simplicity and extensibility.</p>
+<ul>
+<li><p class="first">Implement as native linkers</p>
+<p>We implemented the linkers as native linkers for each file format.</p>
+<p>The two linkers share the same design but do not share code.
+Sharing code makes sense if the benefit is worth its cost.
+In our case, ELF and COFF are different enough that we thought the layer to
+abstract the differences wouldn’t worth its complexity and run-time cost.
+Elimination of the abstract layer has greatly simplified the implementation.</p>
+</li>
+<li><p class="first">Speed by design</p>
+<p>One of the most important things in archiving high performance is to
+do less rather than do it efficiently.
+Therefore, the high-level design matters more than local optimizations.
+Since we are trying to create a high-performance linker,
+it is very important to keep the design as efficient as possible.</p>
+<p>Broadly speaking, we do not do anything until we have to do it.
+For example, we do not read section contents or relocations
+until we need them to continue linking.
+When we need to do some costly operation (such as looking up
+a hash table for each symbol), we do it only once.
+We obtain a handler (which is typically just a pointer to actual data)
+on the first operation and use it throughout the process.</p>
+</li>
+<li><p class="first">Efficient archive file handling</p>
+<p>LLD’s handling of archive files (the files with ”.a” file extension) is different
+from the traditional Unix linkers and similar to Windows linkers.
+We’ll describe how the traditional Unix linker handles archive files,
+what the problem is, and how LLD approached the problem.</p>
+<p>The traditional Unix linker maintains a set of undefined symbols during linking.
+The linker visits each file in the order as they appeared in the command line
+until the set becomes empty. What the linker would do depends on file type.</p>
+<ul class="simple">
+<li>If the linker visits an object file, the linker links object files to the result,
+and undefined symbols in the object file are added to the set.</li>
+<li>If the linker visits an archive file, it checks for the archive file’s symbol table
+and extracts all object files that have definitions for any symbols in the set.</li>
+</ul>
+<p>This algorithm sometimes leads to a counter-intuitive behavior.
+If you give archive files before object files, nothing will happen
+because when the linker visits archives, there is no undefined symbols in the set.
+As a result, no files are extracted from the first archive file,
+and the link is done at that point because the set is empty after it visits one file.</p>
+<p>You can fix the problem by reordering the files,
+but that cannot fix the issue of mutually-dependent archive files.</p>
+<p>Linking mutually-dependent archive files is tricky.
+You may specify the same archive file multiple times to
+let the linker visit it more than once.
+Or, you may use the special command line options, <cite>–start-group</cite> and <cite>–end-group</cite>,
+to let the linker loop over the files between the options until
+no new symbols are added to the set.</p>
+<p>Visiting the same archive files multiple makes the linker slower.</p>
+<p>Here is how LLD approached the problem. Instead of memorizing only undefined symbols,
+we program LLD so that it memorizes all symbols.
+When it sees an undefined symbol that can be resolved by extracting an object file
+from an archive file it previously visited, it immediately extracts the file and link it.
+It is doable because LLD does not forget symbols it have seen in archive files.</p>
+<p>We believe that the LLD’s way is efficient and easy to justify.</p>
+<p>The semantics of LLD’s archive handling is different from the traditional Unix’s.
+You can observe it if you carefully craft archive files to exploit it.
+However, in reality, we don’t know any program that cannot link
+with our algorithm so far, so it’s not going to cause trouble.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="numbers-you-want-to-know">
+<h2>Numbers You Want to Know<a class="headerlink" href="#numbers-you-want-to-know" title="Permalink to this headline">¶</a></h2>
+<p>To give you intuition about what kinds of data the linker is mainly working on,
+I’ll give you the list of objects and their numbers LLD has to read and process
+in order to link a very large executable. In order to link Chrome with debug info,
+which is roughly 2 GB in output size, LLD reads</p>
+<ul class="simple">
+<li>17,000 files,</li>
+<li>1,800,000 sections,</li>
+<li>6,300,000 symbols, and</li>
+<li>13,000,000 relocations.</li>
+</ul>
+<p>LLD produces the 2 GB executable in 15 seconds.</p>
+<p>These numbers vary depending on your program, but in general,
+you have a lot of relocations and symbols for each file.
+If your program is written in C++, symbol names are likely to be
+pretty long because of name mangling.</p>
+<p>It is important to not waste time on relocations and symbols.</p>
+<p>In the above case, the total amount of symbol strings is 450 MB,
+and inserting all of them to a hash table takes 1.5 seconds.
+Therefore, if you causally add a hash table lookup for each symbol,
+it would slow down the linker by 10%. So, don’t do that.</p>
+<p>On the other hand, you don’t have to pursue efficiency
+when handling files.</p>
+</div>
+<div class="section" id="important-data-strcutures">
+<h2>Important Data Strcutures<a class="headerlink" href="#important-data-strcutures" title="Permalink to this headline">¶</a></h2>
+<p>We will describe the key data structures in LLD in this section.
+The linker can be understood as the interactions between them.
+Once you understand their functions, the code of the linker should look obvious to you.</p>
+<ul>
+<li><p class="first">SymbolBody</p>
+<p>SymbolBody is a class to represent symbols.
+They are created for symbols in object files or archive files.
+The linker creates linker-defined symbols as well.</p>
+<p>There are basically three types of SymbolBodies: Defined, Undefined, or Lazy.</p>
+<ul class="simple">
+<li>Defined symbols are for all symbols that are considered as “resolved”,
+including real defined symbols, COMDAT symbols, common symbols,
+absolute symbols, linker-created symbols, etc.</li>
+<li>Undefined symbols represent undefined symbols, which need to be replaced by
+Defined symbols by the resolver until the link is complete.</li>
+<li>Lazy symbols represent symbols we found in archive file headers
+which can turn into Defined if we read archieve members.</li>
+</ul>
+</li>
+<li><p class="first">Symbol</p>
+<p>A Symbol is a container for a SymbolBody. There’s only one Symbol for each
+unique symbol name (this uniqueness is guaranteed by the symbol table).
+Each global symbol has only one SymbolBody at any one time, which is
+the SymbolBody stored within a memory region of the Symbol large enough
+to store any SymbolBody.</p>
+<p>As the resolver reads symbols from input files, it replaces the Symbol’s
+SymbolBody with the “best” SymbolBody for its symbol name by constructing
+the new SymbolBody in place on top of the existing SymbolBody. For example,
+if the resolver is given a defined symbol, and the SymbolBody with its name
+is undefined, it will construct a Defined SymbolBody over the Undefined
+SymbolBody.</p>
+<p>This means that each SymbolBody pointer always points to the best SymbolBody,
+and it is possible to get from a SymbolBody to a Symbol, or vice versa,
+by adding or subtracting a fixed offset. This memory layout helps reduce
+the cache miss rate through high locality and a small number of required
+pointer indirections.</p>
+</li>
+<li><p class="first">SymbolTable</p>
+<p>SymbolTable is basically a hash table from strings to Symbols
+with a logic to resolve symbol conflicts. It resolves conflicts by symbol type.</p>
+<ul class="simple">
+<li>If we add Defined and Undefined symbols, the symbol table will keep the former.</li>
+<li>If we add Defined and Lazy symbols, it will keep the former.</li>
+<li>If we add Lazy and Undefined, it will keep the former,
+but it will also trigger the Lazy symbol to load the archive member
+to actually resolve the symbol.</li>
+</ul>
+</li>
+<li><p class="first">Chunk (COFF specific)</p>
+<p>Chunk represents a chunk of data that will occupy space in an output.
+Each regular section becomes a chunk.
+Chunks created for common or BSS symbols are not backed by sections.
+The linker may create chunks to append additional data to an output as well.</p>
+<p>Chunks know about their size, how to copy their data to mmap’ed outputs,
+and how to apply relocations to them.
+Specifically, section-based chunks know how to read relocation tables
+and how to apply them.</p>
+</li>
+<li><p class="first">InputSection (ELF specific)</p>
+<p>Since we have less synthesized data for ELF, we don’t abstract slices of
+input files as Chunks for ELF. Instead, we directly use the input section
+as an internal data type.</p>
+<p>InputSection knows about their size and how to copy themselves to
+mmap’ed outputs, just like COFF Chunks.</p>
+</li>
+<li><p class="first">OutputSection</p>
+<p>OutputSection is a container of InputSections (ELF) or Chunks (COFF).
+An InputSection or Chunk belongs to at most one OutputSection.</p>
+</li>
+</ul>
+<p>There are mainly three actors in this linker.</p>
+<ul>
+<li><p class="first">InputFile</p>
+<p>InputFile is a superclass of file readers.
+We have a different subclass for each input file type,
+such as regular object file, archive file, etc.
+They are responsible for creating and owning SymbolBodies and
+InputSections/Chunks.</p>
+</li>
+<li><p class="first">Writer</p>
+<p>The writer is responsible for writing file headers and InputSections/Chunks to a file.
+It creates OutputSections, put all InputSections/Chunks into them,
+assign unique, non-overlapping addresses and file offsets to them,
+and then write them down to a file.</p>
+</li>
+<li><p class="first">Driver</p>
+<p>The linking process is driven by the driver. The driver</p>
+<ul class="simple">
+<li>processes command line options,</li>
+<li>creates a symbol table,</li>
+<li>creates an InputFile for each input file and put all symbols in it into the symbol table,</li>
+<li>checks if there’s no remaining undefined symbols,</li>
+<li>creates a writer,</li>
+<li>and passes the symbol table to the writer to write the result to a file.</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="link-time-optimization">
+<h2>Link-Time Optimization<a class="headerlink" href="#link-time-optimization" title="Permalink to this headline">¶</a></h2>
+<p>LTO is implemented by handling LLVM bitcode files as object files.
+The linker resolves symbols in bitcode files normally. If all symbols
+are successfully resolved, it then runs LLVM passes
+with all bitcode files to convert them to one big regular ELF/COFF file.
+Finally, the linker replaces bitcode symbols with ELF/COFF symbols,
+so that they are linked as if they were in the native format from the beginning.</p>
+<p>The details are described in this document.
+<a class="reference external" href="http://llvm.org/docs/LinkTimeOptimization.html">http://llvm.org/docs/LinkTimeOptimization.html</a></p>
+</div>
+<div class="section" id="glossary">
+<h2>Glossary<a class="headerlink" href="#glossary" title="Permalink to this headline">¶</a></h2>
+<ul>
+<li><p class="first">RVA (COFF)</p>
+<p>Short for Relative Virtual Address.</p>
+<p>Windows executables or DLLs are not position-independent; they are
+linked against a fixed address called an image base. RVAs are
+offsets from an image base.</p>
+<p>Default image bases are 0x140000000 for executables and 0x18000000
+for DLLs. For example, when we are creating an executable, we assume
+that the executable will be loaded at address 0x140000000 by the
+loader, so we apply relocations accordingly. Result texts and data
+will contain raw absolute addresses.</p>
+</li>
+<li><p class="first">VA</p>
+<p>Short for Virtual Address. For COFF, it is equivalent to RVA + image base.</p>
+</li>
+<li><p class="first">Base relocations (COFF)</p>
+<p>Relocation information for the loader. If the loader decides to map
+an executable or a DLL to a different address than their image
+bases, it fixes up binaries using information contained in the base
+relocation table. A base relocation table consists of a list of
+locations containing addresses. The loader adds a difference between
+RVA and actual load address to all locations listed there.</p>
+<p>Note that this run-time relocation mechanism is much simpler than ELF.
+There’s no PLT or GOT. Images are relocated as a whole just
+by shifting entire images in memory by some offsets. Although doing
+this breaks text sharing, I think this mechanism is not actually bad
+on today’s computers.</p>
+</li>
+<li><p class="first">ICF</p>
+<p>Short for Identical COMDAT Folding (COFF) or Identical Code Folding (ELF).</p>
+<p>ICF is an optimization to reduce output size by merging read-only sections
+by not only their names but by their contents. If two read-only sections
+happen to have the same metadata, actual contents and relocations,
+they are merged by ICF. It is known as an effective technique,
+and it usually reduces C++ program’s size by a few percent or more.</p>
+<p>Note that this is not entirely sound optimization. C/C++ require
+different functions have different addresses. If a program depends on
+that property, it would fail at runtime.</p>
+<p>On Windows, that’s not really an issue because MSVC link.exe enabled
+the optimization by default. As long as your program works
+with the linker’s default settings, your program should be safe with ICF.</p>
+<p>On Unix, your program is generally not guaranteed to be safe with ICF,
+although large programs happen to work correctly.
+LLD works fine with ICF for example.</p>
+</li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="AtomLLD.html" title="ATOM-based lld"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="index.html" title="lld - The LLVM Linker"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2016, LLVM Project.
+      Last updated on 2016-08-31.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/Readers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/Readers.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/Readers.html (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/Readers.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,298 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Developing lld Readers — lld 3.2 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.2',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 3.2 documentation" href="index.html" />
+    <link rel="up" title="Development" href="development.html" />
+    <link rel="next" title="Driver" href="Driver.html" />
+    <link rel="prev" title="C++11" href="C++11.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="Driver.html" title="Driver"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="C++11.html" title="C++11"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Developing lld Readers</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#where-to-start">Where to start</a></li>
+<li><a class="reference internal" href="#readers-are-factories">Readers are factories</a></li>
+<li><a class="reference internal" href="#memory-ownership">Memory Ownership</a></li>
+<li><a class="reference internal" href="#making-atoms">Making Atoms</a></li>
+<li><a class="reference internal" href="#performance">Performance</a></li>
+<li><a class="reference internal" href="#testing">Testing</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="C++11.html"
+                        title="previous chapter">C++11</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="Driver.html"
+                        title="next chapter">Driver</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/Readers.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="developing-lld-readers">
+<span id="readers"></span><h1>Developing lld Readers<a class="headerlink" href="#developing-lld-readers" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>The purpose of a “Reader” is to take an object file in a particular format
+and create an <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::File</span></tt> (which is a graph of Atoms)
+representing the object file.  A Reader inherits from
+<tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::Reader</span></tt> which lives in
+<tt class="file docutils literal"><span class="pre">include/lld/Core/Reader.h</span></tt> and
+<tt class="file docutils literal"><span class="pre">lib/Core/Reader.cpp</span></tt>.</p>
+<p>The Reader infrastructure for an object format <tt class="docutils literal"><span class="pre">Foo</span></tt> requires the
+following pieces in order to fit into lld:</p>
+<p><tt class="file docutils literal"><span class="pre">include/lld/ReaderWriter/ReaderFoo.h</span></tt></p>
+<blockquote>
+<div><dl class="class">
+<dt id="ReaderOptionsFoo">
+<em class="property">class </em><tt class="descname">ReaderOptionsFoo</tt> : <em class="property">public</em> <em>ReaderOptions</em><a class="headerlink" href="#ReaderOptionsFoo" title="Permalink to this definition">¶</a></dt>
+<dd><p>This Options class is the only way to configure how the Reader will
+parse any file into an <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::Reader</span></tt> object.  This class
+should be declared in the <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld</span></tt> namespace.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="createReaderFoo__ReaderOptionsFooR">
+Reader* <tt class="descname">createReaderFoo</tt><big>(</big>ReaderOptionsFoo& <em>reader</em><big>)</big><a class="headerlink" href="#createReaderFoo__ReaderOptionsFooR" title="Permalink to this definition">¶</a></dt>
+<dd><p>This factory function configures and create the Reader. This function
+should be declared in the <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld</span></tt> namespace.</p>
+</dd></dl>
+
+</div></blockquote>
+<p><tt class="file docutils literal"><span class="pre">lib/ReaderWriter/Foo/ReaderFoo.cpp</span></tt></p>
+<blockquote>
+<div><dl class="class">
+<dt id="ReaderFoo">
+<em class="property">class </em><tt class="descname">ReaderFoo</tt> : <em class="property">public</em> <em>Reader</em><a class="headerlink" href="#ReaderFoo" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is the concrete Reader class which can be called to parse
+object files. It should be declared in an anonymous namespace or
+if there is shared code with the <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::WriterFoo</span></tt> you
+can make a nested namespace (e.g. <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::foo</span></tt>).</p>
+</dd></dl>
+
+</div></blockquote>
+<p>You may have noticed that <a class="reference internal" href="#ReaderFoo" title="ReaderFoo"><tt class="xref cpp cpp-class docutils literal"><span class="pre">ReaderFoo</span></tt></a> is not declared in the
+<tt class="docutils literal"><span class="pre">.h</span></tt> file. An important design aspect of lld is that all Readers are
+created <em>only</em> through an object-format-specific
+<a class="reference internal" href="#createReaderFoo__ReaderOptionsFooR" title="createReaderFoo"><tt class="xref cpp cpp-func docutils literal"><span class="pre">createReaderFoo()</span></tt></a> factory function. The creation of the Reader is
+parametrized through a <a class="reference internal" href="#ReaderOptionsFoo" title="ReaderOptionsFoo"><tt class="xref cpp cpp-class docutils literal"><span class="pre">ReaderOptionsFoo</span></tt></a> class. This options
+class is the one-and-only way to control how the Reader operates when
+parsing an input file into an Atom graph. For instance, you may want the
+Reader to only accept certain architectures. The options class can be
+instantiated from command line options or be programmatically configured.</p>
+</div>
+<div class="section" id="where-to-start">
+<h2>Where to start<a class="headerlink" href="#where-to-start" title="Permalink to this headline">¶</a></h2>
+<p>The lld project already has a skeleton of source code for Readers for
+<tt class="docutils literal"><span class="pre">ELF</span></tt>, <tt class="docutils literal"><span class="pre">PECOFF</span></tt>, <tt class="docutils literal"><span class="pre">MachO</span></tt>, and lld’s native <tt class="docutils literal"><span class="pre">YAML</span></tt> graph format.
+If your file format is a variant of one of those, you should modify the
+existing Reader to support your variant. This is done by customizing the Options
+class for the Reader and making appropriate changes to the <tt class="docutils literal"><span class="pre">.cpp</span></tt> file to
+interpret those options and act accordingly.</p>
+<p>If your object file format is not a variant of any existing Reader, you’ll need
+to create a new Reader subclass with the organization described above.</p>
+</div>
+<div class="section" id="readers-are-factories">
+<h2>Readers are factories<a class="headerlink" href="#readers-are-factories" title="Permalink to this headline">¶</a></h2>
+<p>The linker will usually only instantiate your Reader once.  That one Reader will
+have its loadFile() method called many times with different input files.
+To support multithreaded linking, the Reader may be parsing multiple input
+files in parallel. Therefore, there should be no parsing state in you Reader
+object.  Any parsing state should be in ivars of your File subclass or in
+some temporary object.</p>
+<p>The key method to implement in a reader is:</p>
+<div class="highlight-python"><div class="highlight"><pre>virtual error_code loadFile(LinkerInput &input,
+                            std::vector<std::unique_ptr<File>> &result);
+</pre></div>
+</div>
+<p>It takes a memory buffer (which contains the contents of the object file
+being read) and returns an instantiated lld::File object which is
+a collection of Atoms. The result is a vector of File pointers (instead of
+simple a File pointer) because some file formats allow multiple object
+“files” to be encoded in one file system file.</p>
+</div>
+<div class="section" id="memory-ownership">
+<h2>Memory Ownership<a class="headerlink" href="#memory-ownership" title="Permalink to this headline">¶</a></h2>
+<p>Atoms are always owned by their File object. During core linking when Atoms
+are coalesced or stripped away, core linking does not delete them.
+Core linking just removes those unused Atoms from its internal list.
+The destructor of a File object is responsible for deleting all Atoms it
+owns, and if ownership of the MemoryBuffer was passed to it, the File
+destructor needs to delete that too.</p>
+</div>
+<div class="section" id="making-atoms">
+<h2>Making Atoms<a class="headerlink" href="#making-atoms" title="Permalink to this headline">¶</a></h2>
+<p>The internal model of lld is purely Atom based.  But most object files do not
+have an explicit concept of Atoms, instead most have “sections”. The way
+to think of this is that a section is just a list of Atoms with common
+attributes.</p>
+<p>The first step in parsing section-based object files is to cleave each
+section into a list of Atoms. The technique may vary by section type. For
+code sections (e.g. .text), there are usually symbols at the start of each
+function. Those symbol addresses are the points at which the section is
+cleaved into discrete Atoms.  Some file formats (like ELF) also include the
+length of each symbol in the symbol table. Otherwise, the length of each
+Atom is calculated to run to the start of the next symbol or the end of the
+section.</p>
+<p>Other sections types can be implicitly cleaved. For instance c-string literals
+or unwind info (e.g. .eh_frame) can be cleaved by having the Reader look at
+the content of the section.  It is important to cleave sections into Atoms
+to remove false dependencies. For instance the .eh_frame section often
+has no symbols, but contains “pointers” to the functions for which it
+has unwind info.  If the .eh_frame section was not cleaved (but left as one
+big Atom), there would always be a reference (from the eh_frame Atom) to
+each function.  So the linker would be unable to coalesce or dead stripped
+away the function atoms.</p>
+<p>The lld Atom model also requires that a reference to an undefined symbol be
+modeled as a Reference to an UndefinedAtom. So the Reader also needs to
+create an UndefinedAtom for each undefined symbol in the object file.</p>
+<p>Once all Atoms have been created, the second step is to create References
+(recall that Atoms are “nodes” and References are “edges”). Most References
+are created by looking at the “relocation records” in the object file. If
+a function contains a call to “malloc”, there is usually a relocation record
+specifying the address in the section and the symbol table index. Your
+Reader will need to convert the address to an Atom and offset and the symbol
+table index into a target Atom. If “malloc” is not defined in the object file,
+the target Atom of the Reference will be an UndefinedAtom.</p>
+</div>
+<div class="section" id="performance">
+<h2>Performance<a class="headerlink" href="#performance" title="Permalink to this headline">¶</a></h2>
+<p>Once you have the above working to parse an object file into Atoms and
+References, you’ll want to look at performance.  Some techniques that can
+help performance are:</p>
+<ul class="simple">
+<li>Use llvm::BumpPtrAllocator or pre-allocate one big vector<Reference> and then
+just have each atom point to its subrange of References in that vector.
+This can be faster that allocating each Reference as separate object.</li>
+<li>Pre-scan the symbol table and determine how many atoms are in each section
+then allocate space for all the Atom objects at once.</li>
+<li>Don’t copy symbol names or section content to each Atom, instead use
+StringRef and ArrayRef in each Atom to point to its name and content in the
+MemoryBuffer.</li>
+</ul>
+</div>
+<div class="section" id="testing">
+<h2>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2>
+<p>We are still working on infrastructure to test Readers. The issue is that
+you don’t want to check in binary files to the test suite. And the tools
+for creating your object file from assembly source may not be available on
+every OS.</p>
+<p>We are investigating a way to use YAML to describe the section, symbols,
+and content of a file. Then have some code which will write out an object
+file from that YAML description.</p>
+<p>Once that is in place, you can write test cases that contain section/symbols
+YAML and is run through the linker to produce Atom/References based YAML which
+is then run through FileCheck to verify the Atoms and References are as
+expected.</p>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="Driver.html" title="Driver"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="C++11.html" title="C++11"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2016, LLVM Project.
+      Last updated on 2016-08-31.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/ReleaseNotes.html?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/ReleaseNotes.html (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/ReleaseNotes.html Fri Sep  2 10:56:46 2016
@@ -0,0 +1,245 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>LLD 3.9 Release Notes — lld 3.2 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '3.2',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 3.2 documentation" href="index.html" />
+    <link rel="up" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="next" title="Development" href="development.html" />
+    <link rel="prev" title="Getting Started: Building and Running lld" href="getting_started.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="getting_started.html" title="Getting Started: Building and Running lld"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" accesskey="U">ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">LLD 3.9 Release Notes</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#what-s-new-in-elf-support">What’s new in ELF Support?</a><ul>
+<li><a class="reference internal" href="#link-time-optimization">Link-Time Optimization</a></li>
+<li><a class="reference internal" href="#identical-code-folding">Identical Code Folding</a></li>
+<li><a class="reference internal" href="#symbol-versioning">Symbol Versioning</a></li>
+<li><a class="reference internal" href="#new-targets">New Targets</a></li>
+<li><a class="reference internal" href="#tls-relocation-optimizations">TLS Relocation Optimizations</a></li>
+<li><a class="reference internal" href="#new-linker-flags">New Linker Flags</a></li>
+<li><a class="reference internal" href="#changes-to-the-mips-target">Changes to the MIPS Target</a></li>
+<li><a class="reference internal" href="#building-llvm-toolchain-with-lld">Building LLVM Toolchain with LLD</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="getting_started.html"
+                        title="previous chapter">Getting Started: Building and Running lld</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="development.html"
+                        title="next chapter">Development</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/ReleaseNotes.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="lld-3-9-release-notes">
+<h1>LLD 3.9 Release Notes<a class="headerlink" href="#lld-3-9-release-notes" title="Permalink to this headline">¶</a></h1>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#what-s-new-in-elf-support" id="id2">What’s new in ELF Support?</a><ul>
+<li><a class="reference internal" href="#link-time-optimization" id="id3">Link-Time Optimization</a></li>
+<li><a class="reference internal" href="#identical-code-folding" id="id4">Identical Code Folding</a></li>
+<li><a class="reference internal" href="#symbol-versioning" id="id5">Symbol Versioning</a></li>
+<li><a class="reference internal" href="#new-targets" id="id6">New Targets</a></li>
+<li><a class="reference internal" href="#tls-relocation-optimizations" id="id7">TLS Relocation Optimizations</a></li>
+<li><a class="reference internal" href="#new-linker-flags" id="id8">New Linker Flags</a></li>
+<li><a class="reference internal" href="#changes-to-the-mips-target" id="id9">Changes to the MIPS Target</a></li>
+<li><a class="reference internal" href="#building-llvm-toolchain-with-lld" id="id10">Building LLVM Toolchain with LLD</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="introduction">
+<h2><a class="toc-backref" href="#id1">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>This document contains the release notes for the LLD linker, release 3.9.
+Here we describe the status of LLD, including major improvements
+from the previous release. All LLD releases may be downloaded
+from the <a class="reference external" href="http://llvm.org/releases/">LLVM releases web site</a>.</p>
+</div>
+<div class="section" id="what-s-new-in-elf-support">
+<h2><a class="toc-backref" href="#id2">What’s new in ELF Support?</a><a class="headerlink" href="#what-s-new-in-elf-support" title="Permalink to this headline">¶</a></h2>
+<p>LLD 3.9 is a major milestone for us. It is the first release that can
+link real-world large userland programs, including LLVM/Clang/LLD
+themselves. In fact, for example, it can now be used to produce most
+userland programs distributed as part of FreeBSD.</p>
+<p>Many contributors have joined to the project to develop new features,
+port it to new architectures and fix issues since the last release.</p>
+<div class="section" id="link-time-optimization">
+<h3><a class="toc-backref" href="#id3">Link-Time Optimization</a><a class="headerlink" href="#link-time-optimization" title="Permalink to this headline">¶</a></h3>
+<p>Initial support for LTO has been added. It is compatible with
+<a class="reference external" href="http://llvm.org/docs/GoldPlugin.html">the LLVM gold plugin</a> in terms of
+command line flags and input file format so that LLD is usable as a
+drop-in replacement for GNU gold. LTO is implemented as a native
+feature unlike the GNU gold’s plugin mechanism.</p>
+</div>
+<div class="section" id="identical-code-folding">
+<h3><a class="toc-backref" href="#id4">Identical Code Folding</a><a class="headerlink" href="#identical-code-folding" title="Permalink to this headline">¶</a></h3>
+<p>LLD 3.9 can now merge identical code sections to produce smaller
+output files. It is expected to be used with <tt class="docutils literal"><span class="pre">-ffunction-sections</span></tt>.</p>
+</div>
+<div class="section" id="symbol-versioning">
+<h3><a class="toc-backref" href="#id5">Symbol Versioning</a><a class="headerlink" href="#symbol-versioning" title="Permalink to this headline">¶</a></h3>
+<p>LLD 3.9 is able to link against versioned symbols as well as produce
+versioned symbols. Both the original Sun’s symbol versioning scheme
+and the GNU extension are supported.</p>
+</div>
+<div class="section" id="new-targets">
+<h3><a class="toc-backref" href="#id6">New Targets</a><a class="headerlink" href="#new-targets" title="Permalink to this headline">¶</a></h3>
+<p>LLD has expanded support for new targets, including ARM/Thumb, the x32
+ABI and MIPS N64 ABI, in addition to the existing support for x86,
+x86-64, MIPS, PowerPC and PPC64.</p>
+</div>
+<div class="section" id="tls-relocation-optimizations">
+<h3><a class="toc-backref" href="#id7">TLS Relocation Optimizations</a><a class="headerlink" href="#tls-relocation-optimizations" title="Permalink to this headline">¶</a></h3>
+<p>The ELF ABI specification of the thread-local variable define a few
+peephole optimizations linkers can do by rewriting instructions at the
+link-time to reduce run-time overhead to access TLS variables. That
+feature has been implemented.</p>
+</div>
+<div class="section" id="new-linker-flags">
+<h3><a class="toc-backref" href="#id8">New Linker Flags</a><a class="headerlink" href="#new-linker-flags" title="Permalink to this headline">¶</a></h3>
+<p>Many command line options have been added in this release, including:</p>
+<ul class="simple">
+<li>Symbol resolution and output options: <tt class="docutils literal"><span class="pre">-Bsymbolic-functions</span></tt>,
+<tt class="docutils literal"><span class="pre">-export-dynamic-symbol</span></tt>, <tt class="docutils literal"><span class="pre">-image-base</span></tt>, <tt class="docutils literal"><span class="pre">-pie</span></tt>, <tt class="docutils literal"><span class="pre">-end-lib</span></tt>,
+<tt class="docutils literal"><span class="pre">-start-lib</span></tt>, <tt class="docutils literal"><span class="pre">-build-id={md5,sha1,none,0x<hexstring>}</span></tt>.</li>
+<li>Symbol versioning option: <tt class="docutils literal"><span class="pre">-dynamic-list</span></tt>.</li>
+<li>LTO options: <tt class="docutils literal"><span class="pre">-lto-O</span></tt>, <tt class="docutils literal"><span class="pre">-lto-aa-pipeline</span></tt>, <tt class="docutils literal"><span class="pre">-lto-jobs</span></tt>,
+<tt class="docutils literal"><span class="pre">-lto-newpm-passes</span></tt>, <tt class="docutils literal"><span class="pre">-plugin</span></tt>, <tt class="docutils literal"><span class="pre">-plugin-eq</span></tt>, <tt class="docutils literal"><span class="pre">-plugin-opt</span></tt>,
+<tt class="docutils literal"><span class="pre">-plugin-opt-eq</span></tt>, <tt class="docutils literal"><span class="pre">-disable-verify</span></tt>, <tt class="docutils literal"><span class="pre">-mllvm</span></tt>.</li>
+<li>Driver optionss: <tt class="docutils literal"><span class="pre">-help</span></tt>, <tt class="docutils literal"><span class="pre">-version</span></tt>, <tt class="docutils literal"><span class="pre">-unresolved-symbols</span></tt>.</li>
+<li>Debug options: <tt class="docutils literal"><span class="pre">-demangle</span></tt>, <tt class="docutils literal"><span class="pre">-reproduce</span></tt>, <tt class="docutils literal"><span class="pre">-save-temps</span></tt>,
+<tt class="docutils literal"><span class="pre">-strip-debug</span></tt>, <tt class="docutils literal"><span class="pre">-trace</span></tt>, <tt class="docutils literal"><span class="pre">-trace-symbol</span></tt>,
+<tt class="docutils literal"><span class="pre">-warn-execstack</span></tt>.</li>
+<li>Exception handling option: <tt class="docutils literal"><span class="pre">-eh-frame-hdr</span></tt>.</li>
+<li>Identical Code Folding option: <tt class="docutils literal"><span class="pre">-icf</span></tt>.</li>
+</ul>
+</div>
+<div class="section" id="changes-to-the-mips-target">
+<h3><a class="toc-backref" href="#id9">Changes to the MIPS Target</a><a class="headerlink" href="#changes-to-the-mips-target" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Added support for MIPS N64 ABI.</li>
+<li>Added support for TLS relocations for both O32 and N64 MIPS ABIs.</li>
+</ul>
+</div>
+<div class="section" id="building-llvm-toolchain-with-lld">
+<h3><a class="toc-backref" href="#id10">Building LLVM Toolchain with LLD</a><a class="headerlink" href="#building-llvm-toolchain-with-lld" title="Permalink to this headline">¶</a></h3>
+<p>A new CMake variable, <tt class="docutils literal"><span class="pre">LLVM_ENABLE_LLD</span></tt>, has been added to use LLD
+to build the LLVM toolchain. If the varaible is true, <tt class="docutils literal"><span class="pre">-fuse-ld=lld</span></tt>
+option will be added to linker flags so that <tt class="docutils literal"><span class="pre">ld.lld</span></tt> is used
+instead of default <tt class="docutils literal"><span class="pre">ld</span></tt>.  Because <tt class="docutils literal"><span class="pre">-fuse-ld=lld</span></tt> is a new compiler
+driver option, you need Clang 3.8 or newer to use the feature.</p>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="getting_started.html" title="Getting Started: Building and Running lld"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2016, LLVM Project.
+      Last updated on 2016-08-31.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/_images/hello.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_images/hello.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_images/hello.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/AtomLLD.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/AtomLLD.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/AtomLLD.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/AtomLLD.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,61 @@
+ATOM-based lld
+==============
+
+ATOM-based lld is a new set of modular code for creating linker tools.
+Currently it supports Mach-O.
+
+* End-User Features:
+
+  * Compatible with existing linker options
+  * Reads standard Object Files
+  * Writes standard Executable Files
+  * Remove clang's reliance on "the system linker"
+  * Uses the LLVM `"UIUC" BSD-Style license`__.
+
+* Applications:
+
+  * Modular design
+  * Support cross linking
+  * Easy to add new CPU support
+  * Can be built as static tool or library
+
+* Design and Implementation:
+
+  * Extensive unit tests
+  * Internal linker model can be dumped/read to textual format
+  * Additional linking features can be plugged in as "passes"
+  * OS specific and CPU specific code factored out
+
+Why a new linker?
+-----------------
+
+The fact that clang relies on whatever linker tool you happen to have installed
+means that clang has been very conservative adopting features which require a
+recent linker.
+
+In the same way that the MC layer of LLVM has removed clang's reliance on the
+system assembler tool, the lld project will remove clang's reliance on the
+system linker tool.
+
+
+Contents
+--------
+
+.. toctree::
+   :maxdepth: 2
+
+   design
+   getting_started
+   ReleaseNotes
+   development
+   windows_support
+   open_projects
+   sphinx_intro
+
+Indices and tables
+------------------
+
+* :ref:`genindex`
+* :ref:`search`
+
+__ http://llvm.org/docs/DeveloperPolicy.html#license

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/C++11.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/C%2B%2B11.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/C++11.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/C++11.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,9 @@
+C++11
+=====
+
+Originally, LLD was developed in C++11 unlike the rest of LLVM. Now, all of
+LLVM, LLD, and Clang are developed using C++11. See the `LLVM Coding
+Standards`_ for details on the precise subset of C++11 supported by the various
+host compilers.
+
+.. _LLVM Coding Standards: http://llvm.org/docs/CodingStandards.html

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/Driver.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/Driver.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/Driver.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/Driver.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,79 @@
+======
+Driver
+======
+
+.. contents::
+   :local:
+
+Introduction
+============
+
+This document describes the lld driver. The purpose of this document is to
+describe both the motivation and design goals for the driver, as well as details
+of the internal implementation.
+
+Overview
+========
+
+The lld driver is designed to support a number of different command line
+interfaces. The main interfaces we plan to support are binutils' ld, Apple's
+ld, and Microsoft's link.exe.
+
+Flavors
+-------
+
+Each of these different interfaces is referred to as a flavor. There is also an
+extra flavor "core" which is used to exercise the core functionality of the
+linker it the test suite.
+
+* gnu
+* darwin
+* link
+* core
+
+Selecting a Flavor
+^^^^^^^^^^^^^^^^^^
+
+There are two different ways to tell lld which flavor to be. They are checked in
+order, so the second overrides the first. The first is to symlink :program:`lld`
+as :program:`lld-{flavor}` or just :program:`{flavor}`. You can also specify
+it as the first command line argument using ``-flavor``::
+
+  $ lld -flavor gnu
+
+There is a shortcut for ``-flavor core`` as ``-core``.
+
+
+Adding an Option to an existing Flavor
+======================================
+
+#. Add the option to the desired :file:`lib/Driver/{flavor}Options.td`.
+
+#. Add to :cpp:class:`lld::FlavorLinkingContext` a getter and setter method
+   for the option.
+
+#. Modify :cpp:func:`lld::FlavorDriver::parse` in :file:
+   `lib/Driver/{Flavor}Driver.cpp` to call the targetInfo setter
+   for corresponding to the option.
+
+#. Modify {Flavor}Reader and {Flavor}Writer to use the new targtInfo option.
+
+
+Adding a Flavor
+===============
+
+#. Add an entry for the flavor in :file:`include/lld/Driver/Driver.h` to
+   :cpp:class:`lld::UniversalDriver::Flavor`.
+
+#. Add an entry in :file:`lib/Driver/UniversalDriver.cpp` to
+   :cpp:func:`lld::Driver::strToFlavor` and
+   :cpp:func:`lld::UniversalDriver::link`.
+   This allows the flavor to be selected via symlink and :option:`-flavor`.
+
+#. Add a tablegen file called :file:`lib/Driver/{flavor}Options.td` that
+   describes the options. If the options are a superset of another driver, that
+   driver's td file can simply be included. The :file:`{flavor}Options.td` file
+   must also be added to :file:`lib/Driver/CMakeLists.txt`.
+
+#. Add a ``{flavor}Driver`` as a subclass of :cpp:class:`lld::Driver`
+   in :file:`lib/Driver/{flavor}Driver.cpp`.

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/NewLLD.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/NewLLD.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/NewLLD.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/NewLLD.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,350 @@
+The ELF and COFF Linkers
+========================
+
+We started rewriting the ELF (Unix) and COFF (Windows) linkers in May 2015.
+Since then, we have been making a steady progress towards providing
+drop-in replacements for the system linkers.
+
+Currently, the Windows support is mostly complete and is about 2x faster
+than the linker that comes as a part of Micrsoft Visual Studio toolchain.
+
+The ELF support is in progress and is able to link large programs
+such as Clang or LLD itself. Unless your program depends on linker scripts,
+you can expect it to be linkable with LLD.
+It is currently about 1.2x to 2x faster than GNU gold linker.
+We aim to make it a drop-in replacement for the GNU linker.
+
+We expect that FreeBSD is going to be the first large system
+to adopt LLD as the system linker.
+We are working on it in collaboration with the FreeBSD project.
+
+The linkers are notably small; as of June 2016,
+the COFF linker is under 7k lines and the ELF linker is about 13k lines,
+while gold is 146K lines.
+
+The linkers are designed to be as fast and simple as possible.
+Because it is simple, it is easy to extend to support new features.
+It already supports several advanced features such section garbage
+collection and identical code folding.
+
+The COFF linker supports i386, x86-64 and ARM. The ELF linker supports
+i386, x86-64, x32, MIPS32, MIPS64, PowerPC, AMDGPU, ARM and Aarch64,
+although the quality varies depending on platform. By default, LLD
+provides support for all targets because the amount of code we have for
+each target is so small. We do not even provide a way to disable
+targets at compile time.
+
+There are a few key design choices that we made to achieve these goals.
+We will describe them in this document.
+
+The ELF Linker as a Library
+---------------------------
+
+You can embed LLD to your program by linking against it and calling the linker's
+entry point function lld::elf::link.
+
+The current policy is that it is your reponsibility to give trustworthy object
+files. The function is guaranteed to return as long as you do not pass corrupted
+or malicious object files. A corrupted file could cause a fatal error or SEGV.
+That being said, you don't need to worry too much about it if you create object
+files in the usual way and give them to the linker. It is naturally expected to
+work, or otherwise it's a linker's bug.
+
+Design
+======
+
+We will describe the design of the linkers in the rest of the document.
+
+Key Concepts
+------------
+
+Linkers are fairly large pieces of software.
+There are many design choices you have to make to create a complete linker.
+
+This is a list of design choices we've made for ELF and COFF LLD.
+We believe that these high-level design choices achieved a right balance
+between speed, simplicity and extensibility.
+
+* Implement as native linkers
+
+  We implemented the linkers as native linkers for each file format.
+
+  The two linkers share the same design but do not share code.
+  Sharing code makes sense if the benefit is worth its cost.
+  In our case, ELF and COFF are different enough that we thought the layer to
+  abstract the differences wouldn't worth its complexity and run-time cost.
+  Elimination of the abstract layer has greatly simplified the implementation.
+
+* Speed by design
+
+  One of the most important things in archiving high performance is to
+  do less rather than do it efficiently.
+  Therefore, the high-level design matters more than local optimizations.
+  Since we are trying to create a high-performance linker,
+  it is very important to keep the design as efficient as possible.
+
+  Broadly speaking, we do not do anything until we have to do it.
+  For example, we do not read section contents or relocations
+  until we need them to continue linking.
+  When we need to do some costly operation (such as looking up
+  a hash table for each symbol), we do it only once.
+  We obtain a handler (which is typically just a pointer to actual data)
+  on the first operation and use it throughout the process.
+
+* Efficient archive file handling
+
+  LLD's handling of archive files (the files with ".a" file extension) is different
+  from the traditional Unix linkers and similar to Windows linkers.
+  We'll describe how the traditional Unix linker handles archive files,
+  what the problem is, and how LLD approached the problem.
+
+  The traditional Unix linker maintains a set of undefined symbols during linking.
+  The linker visits each file in the order as they appeared in the command line
+  until the set becomes empty. What the linker would do depends on file type.
+
+  - If the linker visits an object file, the linker links object files to the result,
+    and undefined symbols in the object file are added to the set.
+
+  - If the linker visits an archive file, it checks for the archive file's symbol table
+    and extracts all object files that have definitions for any symbols in the set.
+
+  This algorithm sometimes leads to a counter-intuitive behavior.
+  If you give archive files before object files, nothing will happen
+  because when the linker visits archives, there is no undefined symbols in the set.
+  As a result, no files are extracted from the first archive file,
+  and the link is done at that point because the set is empty after it visits one file.
+
+  You can fix the problem by reordering the files,
+  but that cannot fix the issue of mutually-dependent archive files.
+
+  Linking mutually-dependent archive files is tricky.
+  You may specify the same archive file multiple times to
+  let the linker visit it more than once.
+  Or, you may use the special command line options, `--start-group` and `--end-group`,
+  to let the linker loop over the files between the options until
+  no new symbols are added to the set.
+
+  Visiting the same archive files multiple makes the linker slower.
+
+  Here is how LLD approached the problem. Instead of memorizing only undefined symbols,
+  we program LLD so that it memorizes all symbols.
+  When it sees an undefined symbol that can be resolved by extracting an object file
+  from an archive file it previously visited, it immediately extracts the file and link it.
+  It is doable because LLD does not forget symbols it have seen in archive files.
+
+  We believe that the LLD's way is efficient and easy to justify.
+
+  The semantics of LLD's archive handling is different from the traditional Unix's.
+  You can observe it if you carefully craft archive files to exploit it.
+  However, in reality, we don't know any program that cannot link
+  with our algorithm so far, so it's not going to cause trouble.
+
+Numbers You Want to Know
+------------------------
+
+To give you intuition about what kinds of data the linker is mainly working on,
+I'll give you the list of objects and their numbers LLD has to read and process
+in order to link a very large executable. In order to link Chrome with debug info,
+which is roughly 2 GB in output size, LLD reads
+
+- 17,000 files,
+- 1,800,000 sections,
+- 6,300,000 symbols, and
+- 13,000,000 relocations.
+
+LLD produces the 2 GB executable in 15 seconds.
+
+These numbers vary depending on your program, but in general,
+you have a lot of relocations and symbols for each file.
+If your program is written in C++, symbol names are likely to be
+pretty long because of name mangling.
+
+It is important to not waste time on relocations and symbols.
+
+In the above case, the total amount of symbol strings is 450 MB,
+and inserting all of them to a hash table takes 1.5 seconds.
+Therefore, if you causally add a hash table lookup for each symbol,
+it would slow down the linker by 10%. So, don't do that.
+
+On the other hand, you don't have to pursue efficiency
+when handling files.
+
+Important Data Strcutures
+-------------------------
+
+We will describe the key data structures in LLD in this section.
+The linker can be understood as the interactions between them.
+Once you understand their functions, the code of the linker should look obvious to you.
+
+* SymbolBody
+
+  SymbolBody is a class to represent symbols.
+  They are created for symbols in object files or archive files.
+  The linker creates linker-defined symbols as well.
+
+  There are basically three types of SymbolBodies: Defined, Undefined, or Lazy.
+
+  - Defined symbols are for all symbols that are considered as "resolved",
+    including real defined symbols, COMDAT symbols, common symbols,
+    absolute symbols, linker-created symbols, etc.
+  - Undefined symbols represent undefined symbols, which need to be replaced by
+    Defined symbols by the resolver until the link is complete.
+  - Lazy symbols represent symbols we found in archive file headers
+    which can turn into Defined if we read archieve members.
+
+* Symbol
+
+  A Symbol is a container for a SymbolBody. There's only one Symbol for each
+  unique symbol name (this uniqueness is guaranteed by the symbol table).
+  Each global symbol has only one SymbolBody at any one time, which is
+  the SymbolBody stored within a memory region of the Symbol large enough
+  to store any SymbolBody.
+
+  As the resolver reads symbols from input files, it replaces the Symbol's
+  SymbolBody with the "best" SymbolBody for its symbol name by constructing
+  the new SymbolBody in place on top of the existing SymbolBody. For example,
+  if the resolver is given a defined symbol, and the SymbolBody with its name
+  is undefined, it will construct a Defined SymbolBody over the Undefined
+  SymbolBody.
+
+  This means that each SymbolBody pointer always points to the best SymbolBody,
+  and it is possible to get from a SymbolBody to a Symbol, or vice versa,
+  by adding or subtracting a fixed offset. This memory layout helps reduce
+  the cache miss rate through high locality and a small number of required
+  pointer indirections.
+
+* SymbolTable
+
+  SymbolTable is basically a hash table from strings to Symbols
+  with a logic to resolve symbol conflicts. It resolves conflicts by symbol type.
+
+  - If we add Defined and Undefined symbols, the symbol table will keep the former.
+  - If we add Defined and Lazy symbols, it will keep the former.
+  - If we add Lazy and Undefined, it will keep the former,
+    but it will also trigger the Lazy symbol to load the archive member
+    to actually resolve the symbol.
+
+* Chunk (COFF specific)
+
+  Chunk represents a chunk of data that will occupy space in an output.
+  Each regular section becomes a chunk.
+  Chunks created for common or BSS symbols are not backed by sections.
+  The linker may create chunks to append additional data to an output as well.
+
+  Chunks know about their size, how to copy their data to mmap'ed outputs,
+  and how to apply relocations to them.
+  Specifically, section-based chunks know how to read relocation tables
+  and how to apply them.
+
+* InputSection (ELF specific)
+
+  Since we have less synthesized data for ELF, we don't abstract slices of
+  input files as Chunks for ELF. Instead, we directly use the input section
+  as an internal data type.
+
+  InputSection knows about their size and how to copy themselves to
+  mmap'ed outputs, just like COFF Chunks.
+
+* OutputSection
+
+  OutputSection is a container of InputSections (ELF) or Chunks (COFF).
+  An InputSection or Chunk belongs to at most one OutputSection.
+
+There are mainly three actors in this linker.
+
+* InputFile
+
+  InputFile is a superclass of file readers.
+  We have a different subclass for each input file type,
+  such as regular object file, archive file, etc.
+  They are responsible for creating and owning SymbolBodies and
+  InputSections/Chunks.
+
+* Writer
+
+  The writer is responsible for writing file headers and InputSections/Chunks to a file.
+  It creates OutputSections, put all InputSections/Chunks into them,
+  assign unique, non-overlapping addresses and file offsets to them,
+  and then write them down to a file.
+
+* Driver
+
+  The linking process is driven by the driver. The driver
+
+  - processes command line options,
+  - creates a symbol table,
+  - creates an InputFile for each input file and put all symbols in it into the symbol table,
+  - checks if there's no remaining undefined symbols,
+  - creates a writer,
+  - and passes the symbol table to the writer to write the result to a file.
+
+Link-Time Optimization
+----------------------
+
+LTO is implemented by handling LLVM bitcode files as object files.
+The linker resolves symbols in bitcode files normally. If all symbols
+are successfully resolved, it then runs LLVM passes
+with all bitcode files to convert them to one big regular ELF/COFF file.
+Finally, the linker replaces bitcode symbols with ELF/COFF symbols,
+so that they are linked as if they were in the native format from the beginning.
+
+The details are described in this document.
+http://llvm.org/docs/LinkTimeOptimization.html
+
+Glossary
+--------
+
+* RVA (COFF)
+
+  Short for Relative Virtual Address.
+
+  Windows executables or DLLs are not position-independent; they are
+  linked against a fixed address called an image base. RVAs are
+  offsets from an image base.
+
+  Default image bases are 0x140000000 for executables and 0x18000000
+  for DLLs. For example, when we are creating an executable, we assume
+  that the executable will be loaded at address 0x140000000 by the
+  loader, so we apply relocations accordingly. Result texts and data
+  will contain raw absolute addresses.
+
+* VA
+
+  Short for Virtual Address. For COFF, it is equivalent to RVA + image base.
+
+* Base relocations (COFF)
+
+  Relocation information for the loader. If the loader decides to map
+  an executable or a DLL to a different address than their image
+  bases, it fixes up binaries using information contained in the base
+  relocation table. A base relocation table consists of a list of
+  locations containing addresses. The loader adds a difference between
+  RVA and actual load address to all locations listed there.
+
+  Note that this run-time relocation mechanism is much simpler than ELF.
+  There's no PLT or GOT. Images are relocated as a whole just
+  by shifting entire images in memory by some offsets. Although doing
+  this breaks text sharing, I think this mechanism is not actually bad
+  on today's computers.
+
+* ICF
+
+  Short for Identical COMDAT Folding (COFF) or Identical Code Folding (ELF).
+
+  ICF is an optimization to reduce output size by merging read-only sections
+  by not only their names but by their contents. If two read-only sections
+  happen to have the same metadata, actual contents and relocations,
+  they are merged by ICF. It is known as an effective technique,
+  and it usually reduces C++ program's size by a few percent or more.
+
+  Note that this is not entirely sound optimization. C/C++ require
+  different functions have different addresses. If a program depends on
+  that property, it would fail at runtime.
+
+  On Windows, that's not really an issue because MSVC link.exe enabled
+  the optimization by default. As long as your program works
+  with the linker's default settings, your program should be safe with ICF.
+
+  On Unix, your program is generally not guaranteed to be safe with ICF,
+  although large programs happen to work correctly.
+  LLD works fine with ICF for example.

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/Readers.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/Readers.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/Readers.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/Readers.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,171 @@
+.. _Readers:
+
+Developing lld Readers
+======================
+
+Introduction
+------------
+
+The purpose of a "Reader" is to take an object file in a particular format
+and create an `lld::File`:cpp:class: (which is a graph of Atoms)
+representing the object file.  A Reader inherits from
+`lld::Reader`:cpp:class: which lives in
+:file:`include/lld/Core/Reader.h` and
+:file:`lib/Core/Reader.cpp`.
+
+The Reader infrastructure for an object format ``Foo`` requires the
+following pieces in order to fit into lld:
+
+:file:`include/lld/ReaderWriter/ReaderFoo.h`
+
+   .. cpp:class:: ReaderOptionsFoo : public ReaderOptions
+
+      This Options class is the only way to configure how the Reader will
+      parse any file into an `lld::Reader`:cpp:class: object.  This class
+      should be declared in the `lld`:cpp:class: namespace.
+
+   .. cpp:function:: Reader *createReaderFoo(ReaderOptionsFoo &reader)
+
+      This factory function configures and create the Reader. This function
+      should be declared in the `lld`:cpp:class: namespace.
+
+:file:`lib/ReaderWriter/Foo/ReaderFoo.cpp`
+
+   .. cpp:class:: ReaderFoo : public Reader
+
+      This is the concrete Reader class which can be called to parse
+      object files. It should be declared in an anonymous namespace or
+      if there is shared code with the `lld::WriterFoo`:cpp:class: you
+      can make a nested namespace (e.g. `lld::foo`:cpp:class:).
+
+You may have noticed that :cpp:class:`ReaderFoo` is not declared in the
+``.h`` file. An important design aspect of lld is that all Readers are
+created *only* through an object-format-specific
+:cpp:func:`createReaderFoo` factory function. The creation of the Reader is
+parametrized through a :cpp:class:`ReaderOptionsFoo` class. This options
+class is the one-and-only way to control how the Reader operates when
+parsing an input file into an Atom graph. For instance, you may want the
+Reader to only accept certain architectures. The options class can be
+instantiated from command line options or be programmatically configured.
+
+Where to start
+--------------
+
+The lld project already has a skeleton of source code for Readers for
+``ELF``, ``PECOFF``, ``MachO``, and lld's native ``YAML`` graph format.
+If your file format is a variant of one of those, you should modify the
+existing Reader to support your variant. This is done by customizing the Options
+class for the Reader and making appropriate changes to the ``.cpp`` file to
+interpret those options and act accordingly.
+
+If your object file format is not a variant of any existing Reader, you'll need
+to create a new Reader subclass with the organization described above.
+
+Readers are factories
+---------------------
+
+The linker will usually only instantiate your Reader once.  That one Reader will
+have its loadFile() method called many times with different input files.
+To support multithreaded linking, the Reader may be parsing multiple input
+files in parallel. Therefore, there should be no parsing state in you Reader
+object.  Any parsing state should be in ivars of your File subclass or in
+some temporary object.
+
+The key method to implement in a reader is::
+
+  virtual error_code loadFile(LinkerInput &input,
+                              std::vector<std::unique_ptr<File>> &result);
+
+It takes a memory buffer (which contains the contents of the object file
+being read) and returns an instantiated lld::File object which is
+a collection of Atoms. The result is a vector of File pointers (instead of
+simple a File pointer) because some file formats allow multiple object
+"files" to be encoded in one file system file.
+
+
+Memory Ownership
+----------------
+
+Atoms are always owned by their File object. During core linking when Atoms
+are coalesced or stripped away, core linking does not delete them.
+Core linking just removes those unused Atoms from its internal list.
+The destructor of a File object is responsible for deleting all Atoms it
+owns, and if ownership of the MemoryBuffer was passed to it, the File
+destructor needs to delete that too.
+
+Making Atoms
+------------
+
+The internal model of lld is purely Atom based.  But most object files do not
+have an explicit concept of Atoms, instead most have "sections". The way
+to think of this is that a section is just a list of Atoms with common
+attributes.
+
+The first step in parsing section-based object files is to cleave each
+section into a list of Atoms. The technique may vary by section type. For
+code sections (e.g. .text), there are usually symbols at the start of each
+function. Those symbol addresses are the points at which the section is
+cleaved into discrete Atoms.  Some file formats (like ELF) also include the
+length of each symbol in the symbol table. Otherwise, the length of each
+Atom is calculated to run to the start of the next symbol or the end of the
+section.
+
+Other sections types can be implicitly cleaved. For instance c-string literals
+or unwind info (e.g. .eh_frame) can be cleaved by having the Reader look at
+the content of the section.  It is important to cleave sections into Atoms
+to remove false dependencies. For instance the .eh_frame section often
+has no symbols, but contains "pointers" to the functions for which it
+has unwind info.  If the .eh_frame section was not cleaved (but left as one
+big Atom), there would always be a reference (from the eh_frame Atom) to
+each function.  So the linker would be unable to coalesce or dead stripped
+away the function atoms.
+
+The lld Atom model also requires that a reference to an undefined symbol be
+modeled as a Reference to an UndefinedAtom. So the Reader also needs to
+create an UndefinedAtom for each undefined symbol in the object file.
+
+Once all Atoms have been created, the second step is to create References
+(recall that Atoms are "nodes" and References are "edges"). Most References
+are created by looking at the "relocation records" in the object file. If
+a function contains a call to "malloc", there is usually a relocation record
+specifying the address in the section and the symbol table index. Your
+Reader will need to convert the address to an Atom and offset and the symbol
+table index into a target Atom. If "malloc" is not defined in the object file,
+the target Atom of the Reference will be an UndefinedAtom.
+
+
+Performance
+-----------
+Once you have the above working to parse an object file into Atoms and
+References, you'll want to look at performance.  Some techniques that can
+help performance are:
+
+* Use llvm::BumpPtrAllocator or pre-allocate one big vector<Reference> and then
+  just have each atom point to its subrange of References in that vector.
+  This can be faster that allocating each Reference as separate object.
+* Pre-scan the symbol table and determine how many atoms are in each section
+  then allocate space for all the Atom objects at once.
+* Don't copy symbol names or section content to each Atom, instead use
+  StringRef and ArrayRef in each Atom to point to its name and content in the
+  MemoryBuffer.
+
+
+Testing
+-------
+
+We are still working on infrastructure to test Readers. The issue is that
+you don't want to check in binary files to the test suite. And the tools
+for creating your object file from assembly source may not be available on
+every OS.
+
+We are investigating a way to use YAML to describe the section, symbols,
+and content of a file. Then have some code which will write out an object
+file from that YAML description.
+
+Once that is in place, you can write test cases that contain section/symbols
+YAML and is run through the linker to produce Atom/References based YAML which
+is then run through FileCheck to verify the Atoms and References are as
+expected.
+
+
+

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/ReleaseNotes.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/ReleaseNotes.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/ReleaseNotes.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/ReleaseNotes.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,102 @@
+======================
+LLD 3.9 Release Notes
+======================
+
+.. contents::
+    :local:
+
+Introduction
+============
+
+This document contains the release notes for the LLD linker, release 3.9.
+Here we describe the status of LLD, including major improvements
+from the previous release. All LLD releases may be downloaded
+from the `LLVM releases web site <http://llvm.org/releases/>`_.
+
+What's new in ELF Support?
+==========================
+
+LLD 3.9 is a major milestone for us. It is the first release that can
+link real-world large userland programs, including LLVM/Clang/LLD
+themselves. In fact, for example, it can now be used to produce most
+userland programs distributed as part of FreeBSD.
+
+Many contributors have joined to the project to develop new features,
+port it to new architectures and fix issues since the last release.
+
+Link-Time Optimization
+----------------------
+
+Initial support for LTO has been added. It is compatible with
+`the LLVM gold plugin <http://llvm.org/docs/GoldPlugin.html>`_ in terms of
+command line flags and input file format so that LLD is usable as a
+drop-in replacement for GNU gold. LTO is implemented as a native
+feature unlike the GNU gold's plugin mechanism.
+
+Identical Code Folding
+----------------------
+
+LLD 3.9 can now merge identical code sections to produce smaller
+output files. It is expected to be used with ``-ffunction-sections``.
+
+Symbol Versioning
+-----------------
+
+LLD 3.9 is able to link against versioned symbols as well as produce
+versioned symbols. Both the original Sun's symbol versioning scheme
+and the GNU extension are supported.
+
+New Targets
+-----------
+
+LLD has expanded support for new targets, including ARM/Thumb, the x32
+ABI and MIPS N64 ABI, in addition to the existing support for x86,
+x86-64, MIPS, PowerPC and PPC64.
+
+TLS Relocation Optimizations
+----------------------------
+
+The ELF ABI specification of the thread-local variable define a few
+peephole optimizations linkers can do by rewriting instructions at the
+link-time to reduce run-time overhead to access TLS variables. That
+feature has been implemented.
+
+New Linker Flags
+----------------
+
+Many command line options have been added in this release, including:
+
+- Symbol resolution and output options: ``-Bsymbolic-functions``,
+  ``-export-dynamic-symbol``, ``-image-base``, ``-pie``, ``-end-lib``,
+  ``-start-lib``, ``-build-id={md5,sha1,none,0x<hexstring>}``.
+
+- Symbol versioning option: ``-dynamic-list``.
+
+- LTO options: ``-lto-O``, ``-lto-aa-pipeline``, ``-lto-jobs``,
+  ``-lto-newpm-passes``, ``-plugin``, ``-plugin-eq``, ``-plugin-opt``,
+  ``-plugin-opt-eq``, ``-disable-verify``, ``-mllvm``.
+
+- Driver optionss: ``-help``, ``-version``, ``-unresolved-symbols``.
+
+- Debug options: ``-demangle``, ``-reproduce``, ``-save-temps``,
+  ``-strip-debug``, ``-trace``, ``-trace-symbol``,
+  ``-warn-execstack``.
+
+- Exception handling option: ``-eh-frame-hdr``.
+
+- Identical Code Folding option: ``-icf``.
+
+Changes to the MIPS Target
+--------------------------
+
+* Added support for MIPS N64 ABI.
+* Added support for TLS relocations for both O32 and N64 MIPS ABIs.
+
+Building LLVM Toolchain with LLD
+--------------------------------
+
+A new CMake variable, ``LLVM_ENABLE_LLD``, has been added to use LLD
+to build the LLVM toolchain. If the varaible is true, ``-fuse-ld=lld``
+option will be added to linker flags so that ``ld.lld`` is used
+instead of default ``ld``.  Because ``-fuse-ld=lld`` is a new compiler
+driver option, you need Clang 3.8 or newer to use the feature.

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/design.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/design.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/design.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/design.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,418 @@
+.. _design:
+
+Linker Design
+=============
+
+Introduction
+------------
+
+lld is a new generation of linker.  It is not "section" based like traditional
+linkers which mostly just interlace sections from multiple object files into the
+output file.  Instead, lld is based on "Atoms".  Traditional section based
+linking work well for simple linking, but their model makes advanced linking
+features difficult to implement.  Features like dead code stripping, reordering
+functions for locality, and C++ coalescing require the linker to work at a finer
+grain.
+
+An atom is an indivisible chunk of code or data.  An atom has a set of
+attributes, such as: name, scope, content-type, alignment, etc.  An atom also
+has a list of References.  A Reference contains: a kind, an optional offset, an
+optional addend, and an optional target atom.
+
+The Atom model allows the linker to use standard graph theory models for linking
+data structures.  Each atom is a node, and each Reference is an edge.  The
+feature of dead code stripping is implemented by following edges to mark all
+live atoms, and then delete the non-live atoms.
+
+
+Atom Model
+----------
+
+An atom is an indivisible chunk of code or data.  Typically each user written
+function or global variable is an atom.  In addition, the compiler may emit
+other atoms, such as for literal c-strings or floating point constants, or for
+runtime data structures like dwarf unwind info or pointers to initializers.
+
+A simple "hello world" object file would be modeled like this:
+
+.. image:: hello.png
+
+There are three atoms: main, a proxy for printf, and an anonymous atom
+containing the c-string literal "hello world".  The Atom "main" has two
+references. One is the call site for the call to printf, and the other is a
+reference for the instruction that loads the address of the c-string literal.
+
+There are only four different types of atoms:
+
+	* DefinedAtom
+		95% of all atoms.  This is a chunk of code or data
+
+	* UndefinedAtom
+	   This is a place holder in object files for a reference to some atom
+	   outside the translation unit.During core linking it is usually replaced
+	   by (coalesced into) another Atom.
+
+	* SharedLibraryAtom
+		If a required symbol name turns out to be defined in a dynamic shared
+		library (and not some object file).  A SharedLibraryAtom is the
+		placeholder Atom used to represent that fact.
+
+		It is similar to an UndefinedAtom, but it also tracks information
+		about the associated shared library.
+
+	* AbsoluteAtom
+		This is for embedded support where some stuff is implemented in ROM at
+		some fixed address.  This atom has no content.  It is just an address
+		that the Writer needs to fix up any references to point to.
+
+
+File Model
+----------
+
+The linker views the input files as basically containers of Atoms and
+References, and just a few attributes of their own.  The linker works with three
+kinds of files: object files, static libraries, and dynamic shared libraries.
+Each kind of file has reader object which presents the file in the model
+expected by the linker.
+
+Object File
+~~~~~~~~~~~
+
+An object file is just a container of atoms.  When linking an object file, a
+reader is instantiated which parses the object file and instantiates a set of
+atoms representing all content in the .o file.  The linker adds all those atoms
+to a master graph.
+
+Static Library (Archive)
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is the traditional unix static archive which is just a collection of object
+files with a "table of contents". When linking with a static library, by default
+nothing is added to the master graph of atoms. Instead, if after merging all
+atoms from object files into a master graph, if any "undefined" atoms are left
+remaining in the master graph, the linker reads the table of contents for each
+static library to see if any have the needed definitions. If so, the set of
+atoms from the specified object file in the static library is added to the
+master graph of atoms.
+
+Dynamic Library (Shared Object)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Dynamic libraries are different than object files and static libraries in that
+they don't directly add any content.  Their purpose is to check at build time
+that the remaining undefined references can be resolved at runtime, and provide
+a list of dynamic libraries (SO_NEEDED) that will be needed at runtime.  The way
+this is modeled in the linker is that a dynamic library contributes no atoms to
+the initial graph of atoms.  Instead, (like static libraries) if there are
+"undefined" atoms in the master graph of all atoms, then each dynamic library is
+checked to see if exports the required symbol. If so, a "shared library" atom is
+instantiated by the by the reader which the linker uses to replace the
+"undefined" atom.
+
+Linking Steps
+-------------
+
+Through the use of abstract Atoms, the core of linking is architecture
+independent and file format independent.  All command line parsing is factored
+out into a separate "options" abstraction which enables the linker to be driven
+with different command line sets.
+
+The overall steps in linking are:
+
+  #. Command line processing
+
+  #. Parsing input files
+
+  #. Resolving
+
+  #. Passes/Optimizations
+
+  #. Generate output file
+
+The Resolving and Passes steps are done purely on the master graph of atoms, so
+they have no notion of file formats such as mach-o or ELF.
+
+
+Input Files
+~~~~~~~~~~~
+
+Existing developer tools using different file formats for object files.
+A goal of lld is to be file format independent.  This is done
+through a plug-in model for reading object files. The lld::Reader is the base
+class for all object file readers.  A Reader follows the factory method pattern.
+A Reader instantiates an lld::File object (which is a graph of Atoms) from a
+given object file (on disk or in-memory).
+
+Every Reader subclass defines its own "options" class (for instance the mach-o
+Reader defines the class ReaderOptionsMachO).  This options class is the
+one-and-only way to control how the Reader operates when parsing an input file
+into an Atom graph.  For instance, you may want the Reader to only accept
+certain architectures.  The options class can be instantiated from command
+line options, or it can be subclassed and the ivars programmatically set.
+
+Resolving
+~~~~~~~~~
+
+The resolving step takes all the atoms' graphs from each object file and
+combines them into one master object graph.  Unfortunately, it is not as simple
+as appending the atom list from each file into one big list.  There are many
+cases where atoms need to be coalesced.  That is, two or more atoms need to be
+coalesced into one atom.  This is necessary to support: C language "tentative
+definitions", C++ weak symbols for templates and inlines defined in headers,
+replacing undefined atoms with actual definition atoms, and for merging copies
+of constants like c-strings and floating point constants.
+
+The linker support coalescing by-name and by-content. By-name is used for
+tentative definitions and weak symbols.  By-content is used for constant data
+that can be merged.
+
+The resolving process maintains some global linking "state", including a "symbol
+table" which is a map from llvm::StringRef to lld::Atom*.  With these data
+structures, the linker iterates all atoms in all input files. For each atom, it
+checks if the atom is named and has a global or hidden scope.  If so, the atom
+is added to the symbol table map.  If there already is a matching atom in that
+table, that means the current atom needs to be coalesced with the found atom, or
+it is a multiple definition error.
+
+When all initial input file atoms have been processed by the resolver, a scan is
+made to see if there are any undefined atoms in the graph.  If there are, the
+linker scans all libraries (both static and dynamic) looking for definitions to
+replace the undefined atoms.  It is an error if any undefined atoms are left
+remaining.
+
+Dead code stripping (if requested) is done at the end of resolving.  The linker
+does a simple mark-and-sweep. It starts with "root" atoms (like "main" in a main
+executable) and follows each references and marks each Atom that it visits as
+"live".  When done, all atoms not marked "live" are removed.
+
+The result of the Resolving phase is the creation of an lld::File object.  The
+goal is that the lld::File model is **the** internal representation
+throughout the linker. The file readers parse (mach-o, ELF, COFF) into an
+lld::File.  The file writers (mach-o, ELF, COFF) taken an lld::File and produce
+their file kind, and every Pass only operates on an lld::File.  This is not only
+a simpler, consistent model, but it enables the state of the linker to be dumped
+at any point in the link for testing purposes.
+
+
+Passes
+~~~~~~
+
+The Passes step is an open ended set of routines that each get a change to
+modify or enhance the current lld::File object. Some example Passes are:
+
+  * stub (PLT) generation
+
+  * GOT instantiation
+
+  * order_file optimization
+
+  * branch island generation
+
+  * branch shim generation
+
+  * Objective-C optimizations (Darwin specific)
+
+  * TLV instantiation (Darwin specific)
+
+  * DTrace probe processing (Darwin specific)
+
+  * compact unwind encoding (Darwin specific)
+
+
+Some of these passes are specific to Darwin's runtime environments.  But many of
+the passes are applicable to any OS (such as generating branch island for out of
+range branch instructions).
+
+The general structure of a pass is to iterate through the atoms in the current
+lld::File object, inspecting each atom and doing something.  For instance, the
+stub pass, looks for call sites to shared library atoms (e.g. call to printf).
+It then instantiates a "stub" atom (PLT entry) and a "lazy pointer" atom for
+each proxy atom needed, and these new atoms are added to the current lld::File
+object.  Next, all the noted call sites to shared library atoms have their
+References altered to point to the stub atom instead of the shared library atom.
+
+
+Generate Output File
+~~~~~~~~~~~~~~~~~~~~
+
+Once the passes are done, the output file writer is given current lld::File
+object.  The writer's job is to create the executable content file wrapper and
+place the content of the atoms into it.
+
+lld uses a plug-in model for writing output files. All concrete writers (e.g.
+ELF, mach-o, etc) are subclasses of the lld::Writer class.
+
+Unlike the Reader class which has just one method to instantiate an lld::File,
+the Writer class has multiple methods.  The crucial method is to generate the
+output file, but there are also methods which allow the Writer to contribute
+Atoms to the resolver and specify passes to run.
+
+An example of contributing
+atoms is that if the Writer knows a main executable is being linked and such
+an executable requires a specially named entry point (e.g. "_main"), the Writer
+can add an UndefinedAtom with that special name to the resolver.  This will
+cause the resolver to issue an error if that symbol is not defined.
+
+Sometimes a Writer supports lazily created symbols, such as names for the start
+of sections. To support this, the Writer can create a File object which vends
+no initial atoms, but does lazily supply atoms by name as needed.
+
+Every Writer subclass defines its own "options" class (for instance the mach-o
+Writer defines the class WriterOptionsMachO).  This options class is the
+one-and-only way to control how the Writer operates when producing an output
+file from an Atom graph.  For instance, you may want the Writer to optimize
+the output for certain OS versions, or strip local symbols, etc. The options
+class can be instantiated from command line options, or it can be subclassed
+and the ivars programmatically set.
+
+
+lld::File representations
+-------------------------
+
+Just as LLVM has three representations of its IR model, lld has two
+representations of its File/Atom/Reference model:
+
+ * In memory, abstract C++ classes (lld::Atom, lld::Reference, and lld::File).
+
+ * textual (in YAML)
+
+
+Textual representations in YAML
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In designing a textual format we want something easy for humans to read and easy
+for the linker to parse.  Since an atom has lots of attributes most of which are
+usually just the default, we should define default values for every attribute so
+that those can be omitted from the text representation.  Here is the atoms for a
+simple hello world program expressed in YAML::
+
+  target-triple:   x86_64-apple-darwin11
+
+  atoms:
+      - name:    _main
+        scope:   global
+        type:    code
+        content: [ 55, 48, 89, e5, 48, 8d, 3d, 00, 00, 00, 00, 30, c0, e8, 00, 00,
+                   00, 00, 31, c0, 5d, c3 ]
+        fixups:
+        - offset: 07
+          kind:   pcrel32
+          target: 2
+        - offset: 0E
+          kind:   call32
+          target: _fprintf
+
+      - type:    c-string
+        content: [ 73, 5A, 00 ]
+
+  ...
+
+The biggest use for the textual format will be writing test cases.  Writing test
+cases in C is problematic because the compiler may vary its output over time for
+its own optimization reasons which my inadvertently disable or break the linker
+feature trying to be tested. By writing test cases in the linkers own textual
+format, we can exactly specify every attribute of every atom and thus target
+specific linker logic.
+
+The textual/YAML format follows the ReaderWriter patterns used in lld. The lld
+library comes with the classes: ReaderYAML and WriterYAML.
+
+
+Testing
+-------
+
+The lld project contains a test suite which is being built up as new code is
+added to lld.  All new lld functionality should have a tests added to the test
+suite.  The test suite is `lit <http://llvm.org/cmds/lit.html/>`_ driven.  Each
+test is a text file with comments telling lit how to run the test and check the
+result To facilitate testing, the lld project builds a tool called lld-core.
+This tool reads a YAML file (default from stdin), parses it into one or more
+lld::File objects in memory and then feeds those lld::File objects to the
+resolver phase.
+
+
+Resolver testing
+~~~~~~~~~~~~~~~~
+
+Basic testing is the "core linking" or resolving phase.  That is where the
+linker merges object files.  All test cases are written in YAML.  One feature of
+YAML is that it allows multiple "documents" to be encoding in one YAML stream.
+That means one text file can appear to the linker as multiple .o files - the
+normal case for the linker.
+
+Here is a simple example of a core linking test case. It checks that an
+undefined atom from one file will be replaced by a definition from another
+file::
+
+  # RUN: lld-core %s | FileCheck %s
+
+  #
+  # Test that undefined atoms are replaced with defined atoms.
+  #
+
+  ---
+  atoms:
+      - name:              foo
+        definition:        undefined
+  ---
+  atoms:
+      - name:              foo
+        scope:             global
+        type:              code
+  ...
+
+  # CHECK:       name:       foo
+  # CHECK:       scope:      global
+  # CHECK:       type:       code
+  # CHECK-NOT:   name:       foo
+  # CHECK:       ...
+
+
+Passes testing
+~~~~~~~~~~~~~~
+
+Since Passes just operate on an lld::File object, the lld-core tool has the
+option to run a particular pass (after resolving).  Thus, you can write a YAML
+test case with carefully crafted input to exercise areas of a Pass and the check
+the resulting lld::File object as represented in YAML.
+
+
+Design Issues
+-------------
+
+There are a number of open issues in the design of lld.  The plan is to wait and
+make these design decisions when we need to.
+
+
+Debug Info
+~~~~~~~~~~
+
+Currently, the lld model says nothing about debug info.  But the most popular
+debug format is DWARF and there is some impedance mismatch with the lld model
+and DWARF.  In lld there are just Atoms and only Atoms that need to be in a
+special section at runtime have an associated section.  Also, Atoms do not have
+addresses.  The way DWARF is spec'ed different parts of DWARF are supposed to go
+into specially named sections and the DWARF references function code by address.
+
+CPU and OS specific functionality
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Currently, lld has an abstract "Platform" that deals with any CPU or OS specific
+differences in linking.  We just keep adding virtual methods to the base
+Platform class as we find linking areas that might need customization.  At some
+point we'll need to structure this better.
+
+
+File Attributes
+~~~~~~~~~~~~~~~
+
+Currently, lld::File just has a path and a way to iterate its atoms. We will
+need to add more attributes on a File.  For example, some equivalent to the
+target triple.  There is also a number of cached or computed attributes that
+could make various Passes more efficient.  For instance, on Darwin there are a
+number of Objective-C optimizations that can be done by a Pass.  But it would
+improve the plain C case if the Objective-C optimization Pass did not have to
+scan all atoms looking for any Objective-C data structures.  This could be done
+if the lld::File object had an attribute that said if the file had any
+Objective-C data in it. The Resolving phase would then be required to "merge"
+that attribute as object files are added.

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/development.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/development.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/development.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/development.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,48 @@
+.. _development:
+
+Development
+===========
+
+lld is developed as part of the `LLVM <http://llvm.org>`_ project.
+
+Using C++11 in lld
+------------------
+
+:doc:`C++11`.
+
+Creating a Reader
+-----------------
+
+See the :ref:`Creating a Reader <Readers>` guide.
+
+
+Modifying the Driver
+--------------------
+
+See :doc:`Driver`.
+
+
+Debugging
+---------
+
+You can run lld with ``-mllvm -debug`` command line options to enable debugging
+printouts. If you want to enable debug information for some specific pass, you
+can run it with ``-mllvm '-debug-only=<pass>'``, where pass is a name used in
+the ``DEBUG_WITH_TYPE()`` macro.
+
+
+
+Documentation
+-------------
+
+The project documentation is written in reStructuredText and generated using the
+`Sphinx <http://sphinx.pocoo.org/>`_ documentation generator. For more
+information on writing documentation for the project, see the
+:ref:`sphinx_intro`.
+
+.. toctree::
+   :hidden:
+
+   C++11
+   Readers
+   Driver

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/getting_started.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/getting_started.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/getting_started.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/getting_started.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,106 @@
+.. _getting_started:
+
+Getting Started: Building and Running lld
+=========================================
+
+This page gives you the shortest path to checking out and building lld. If you
+run into problems, please file bugs in the `LLVM Bugzilla`__
+
+__ http://llvm.org/bugs/
+
+Building lld
+------------
+
+On Unix-like Systems
+~~~~~~~~~~~~~~~~~~~~
+
+1. Get the required tools.
+
+  * `CMake 2.8`_\+.
+  * make (or any build system CMake supports).
+  * `Clang 3.1`_\+ or GCC 4.7+ (C++11 support is required).
+
+    * If using Clang, you will also need `libc++`_.
+  * `Python 2.4`_\+ (not 3.x) for running tests.
+
+.. _CMake 2.8: http://www.cmake.org/cmake/resources/software.html
+.. _Clang 3.1: http://clang.llvm.org/
+.. _libc++: http://libcxx.llvm.org/
+.. _Python 2.4: http://python.org/download/
+
+2. Check out LLVM::
+
+     $ cd path/to/llvm-project
+     $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
+
+3. Check out lld::
+
+     $ cd llvm/tools
+     $ svn co http://llvm.org/svn/llvm-project/lld/trunk lld
+
+  * lld can also be checked out to ``path/to/llvm-project`` and built as an external
+    project.
+
+4. Build LLVM and lld::
+
+     $ cd path/to/llvm-build/llvm (out of source build required)
+     $ cmake -G "Unix Makefiles" path/to/llvm-project/llvm
+     $ make
+
+  * If you want to build with clang and it is not the default compiler or
+    it is installed in an alternate location, you'll need to tell the cmake tool
+    the location of the C and C++ compiler via CMAKE_C_COMPILER and
+    CMAKE_CXX_COMPILER. For example::
+
+        $ cmake -DCMAKE_CXX_COMPILER=/path/to/clang++ -DCMAKE_C_COMPILER=/path/to/clang ...
+
+5. Test::
+
+     $ make check-lld
+
+Using Visual Studio
+~~~~~~~~~~~~~~~~~~~
+
+#. Get the required tools.
+
+  * `CMake 2.8`_\+.
+  * `Visual Studio 12 (2013) or later`_ (required for C++11 support)
+  * `Python 2.4`_\+ (not 3.x) for running tests.
+
+.. _CMake 2.8: http://www.cmake.org/cmake/resources/software.html
+.. _Visual Studio 12 (2013) or later: http://www.microsoft.com/visualstudio/11/en-us
+.. _Python 2.4: http://python.org/download/
+
+#. Check out LLVM::
+
+     $ cd path/to/llvm-project
+     $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
+
+#. Check out lld::
+
+     $ cd llvm/tools
+     $ svn co http://llvm.org/svn/llvm-project/lld/trunk lld
+
+  * lld can also be checked out to ``path/to/llvm-project`` and built as an external
+    project.
+
+#. Generate Visual Studio project files::
+
+     $ cd path/to/llvm-build/llvm (out of source build required)
+     $ cmake -G "Visual Studio 11" path/to/llvm-project/llvm
+
+#. Build
+
+  * Open LLVM.sln in Visual Studio.
+  * Build the ``ALL_BUILD`` target.
+
+#. Test
+
+  * Build the ``lld-test`` target.
+
+More Information
+~~~~~~~~~~~~~~~~
+
+For more information on using CMake see the `LLVM CMake guide`_.
+
+.. _LLVM CMake guide: http://llvm.org/docs/CMake.html

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/index.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/index.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/index.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/index.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,25 @@
+.. _index:
+
+lld - The LLVM Linker
+=====================
+
+lld contains two linkers whose architectures are different from each other.
+
+.. toctree::
+   :maxdepth: 1
+
+   NewLLD
+   AtomLLD
+
+Source
+------
+
+lld is available in the LLVM SVN repository::
+
+  svn co http://llvm.org/svn/llvm-project/lld/trunk lld
+
+lld is also available via the read-only git mirror::
+
+  git clone http://llvm.org/git/lld.git
+
+Put it in llvm's tools/ directory, rerun cmake, then build target lld.

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/open_projects.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/open_projects.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/open_projects.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/open_projects.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,11 @@
+.. _open_projects:
+
+Open Projects
+=============
+
+.. include:: ../include/lld/Core/TODO.txt
+
+Documentation TODOs
+~~~~~~~~~~~~~~~~~~~
+
+.. todolist::

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/sphinx_intro.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/sphinx_intro.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/sphinx_intro.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/sphinx_intro.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,147 @@
+.. _sphinx_intro:
+
+Sphinx Introduction for LLVM Developers
+=======================================
+
+This document is intended as a short and simple introduction to the Sphinx
+documentation generation system for LLVM developers.
+
+Quickstart
+----------
+
+To get started writing documentation, you will need to:
+
+ 1. Have the Sphinx tools :ref:`installed <installing_sphinx>`.
+
+ 2. Understand how to :ref:`build the documentation
+    <building_the_documentation>`.
+
+ 3. Start :ref:`writing documentation <writing_documentation>`!
+
+.. _installing_sphinx:
+
+Installing Sphinx
+~~~~~~~~~~~~~~~~~
+
+You should be able to install Sphinx using the standard Python package
+installation tool ``easy_install``, as follows::
+
+  $ sudo easy_install sphinx
+  Searching for sphinx
+  Reading http://pypi.python.org/simple/sphinx/
+  Reading http://sphinx.pocoo.org/
+  Best match: Sphinx 1.1.3
+  ... more lines here ..
+
+If you do not have root access (or otherwise want to avoid installing Sphinx in
+system directories) see the section on :ref:`installing_sphinx_in_a_venv` .
+
+If you do not have the ``easy_install`` tool on your system, you should be able
+to install it using:
+
+  Linux
+    Use your distribution's standard package management tool to install it,
+    i.e., ``apt-get install easy_install`` or ``yum install easy_install``.
+
+  Mac OS X
+    All modern Mac OS X systems come with ``easy_install`` as part of the base
+    system.
+
+  Windows
+    See the `setuptools <http://pypi.python.org/pypi/setuptools>`_ package web
+    page for instructions.
+
+
+.. _building_the_documentation:
+
+Building the documentation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In order to build the documentation, all you should need to do is change to the
+``docs`` directory and invoke make as follows::
+
+  $ cd path/to/project/docs
+  $ make html
+
+Note that on Windows there is a ``make.bat`` command in the docs directory which
+supplies the same interface as the ``Makefile``.
+
+That command will invoke ``sphinx-build`` with the appropriate options for the
+project, and generate the HTML documentation in a ``_build`` subdirectory. You
+can browse it starting from the index page by visiting
+``_build/html/index.html``.
+
+Sphinx supports a wide variety of generation formats (including LaTeX, man
+pages, and plain text). The ``Makefile`` includes a number of convenience
+targets for invoking ``sphinx-build`` appropriately, the common ones are:
+
+  make html
+    Generate the HTML output.
+
+  make latexpdf
+    Generate LaTeX documentation and convert to a PDF.
+
+  make man
+    Generate man pages.
+
+
+.. _writing_documentation:
+
+Writing documentation
+~~~~~~~~~~~~~~~~~~~~~
+
+The documentation itself is written in the reStructuredText (ReST) format, and Sphinx
+defines additional tags to support features like cross-referencing.
+
+The ReST format itself is organized around documents mostly being readable
+plaintext documents. You should generally be able to write new documentation
+easily just by following the style of the existing documentation.
+
+If you want to understand the formatting of the documents more, the best place
+to start is Sphinx's own `ReST Primer <http://sphinx.pocoo.org/rest.html>`_.
+
+
+Learning More
+-------------
+
+If you want to learn more about the Sphinx system, the best place to start is
+the Sphinx documentation itself, available `here
+<http://sphinx.pocoo.org/contents.html>`_.
+
+
+.. _installing_sphinx_in_a_venv:
+
+Installing Sphinx in a Virtual Environment
+------------------------------------------
+
+Most Python developers prefer to work with tools inside a *virtualenv* (virtual
+environment) instance, which functions as an application sandbox. This avoids
+polluting your system installation with different packages used by various
+projects (and ensures that dependencies for different packages don't conflict
+with one another). Of course, you need to first have the virtualenv software
+itself which generally would be installed at the system level::
+
+  $ sudo easy_install virtualenv
+
+but after that you no longer need to install additional packages in the system
+directories.
+
+Once you have the *virtualenv* tool itself installed, you can create a
+virtualenv for Sphinx using::
+
+  $ virtualenv ~/my-sphinx-install
+  New python executable in /Users/dummy/my-sphinx-install/bin/python
+  Installing setuptools............done.
+  Installing pip...............done.
+
+  $ ~/my-sphinx-install/bin/easy_install sphinx
+  ... install messages here ...
+
+and from now on you can "activate" the *virtualenv* using::
+
+  $ source ~/my-sphinx-install/bin/activate
+
+which will change your PATH to ensure the sphinx-build tool from inside the
+virtual environment will be used. See the `virtualenv website
+<http://www.virtualenv.org/en/latest/index.html>`_ for more information on using
+virtual environments.

Added: www-releases/trunk/3.9.0/tools/lld/docs/_sources/windows_support.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_sources/windows_support.txt?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_sources/windows_support.txt (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_sources/windows_support.txt Fri Sep  2 10:56:46 2016
@@ -0,0 +1,97 @@
+.. raw:: html
+
+  <style type="text/css">
+    .none { background-color: #FFCCCC }
+    .partial { background-color: #FFFF99 }
+    .good { background-color: #CCFF99 }
+  </style>
+
+.. role:: none
+.. role:: partial
+.. role:: good
+
+===============
+Windows support
+===============
+
+LLD supports Windows operating system. When invoked as ``lld-link.exe`` or with
+``-flavor link``, the driver for Windows operating system is used to parse
+command line options, and it drives further linking processes. LLD accepts
+almost all command line options that the linker shipped with Microsoft Visual
+C++ (link.exe) supports.
+
+The current status is that LLD can link itself on Windows x86/x64
+using Visual C++ 2013 as the compiler.
+
+Development status
+==================
+
+Driver
+  :good:`Mostly done`. Some exotic command line options that are not usually
+  used for application develompent, such as ``/DRIVER``, are not supported.
+  Options for Windows 8 app store are not recognized too
+  (e.g. ``/APPCONTAINER``).
+
+Linking against DLL
+  :good:`Done`. LLD can read import libraries needed to link against DLL. Both
+  export-by-name and export-by-ordinal are supported.
+
+Linking against static library
+  :good:`Done`. The format of static library (.lib) on Windows is actually the
+  same as on Unix (.a). LLD can read it.
+
+Creating DLL
+  :good:`Done`. LLD creates a DLL if ``/DLL`` option is given. Exported
+  functions can be specified either via command line (``/EXPORT``) or via
+  module-definition file (.def). Both export-by-name and export-by-ordinal are
+  supported. LLD uses Microsoft ``lib.exe`` tool to create an import library
+  file.
+
+Windows resource files support
+  :good:`Done`. If an ``.rc`` file is given, LLD converts the file to a COFF
+  file using some external commands and link it. Specifically, ``rc.exe`` is
+  used to compile a resource file (.rc) to a compiled resource (.res)
+  file. ``rescvt.exe`` is then used to convert a compiled resource file to a
+  COFF object file section. Both tools are shipped with MSVC.
+
+Safe Structured Exception Handler (SEH)
+  :good:`Done` for both x86 and x64.
+
+Module-definition file
+  :partial:`Partially done`. LLD currently recognizes these directives:
+  ``EXPORTS``, ``HEAPSIZE``, ``STACKSIZE``, ``NAME``, and ``VERSION``.
+
+Debug info
+  :none:`No progress has been made`. Microsoft linker can interpret the CodeGen
+  debug info (old-style debug info) and PDB to emit an .pdb file. LLD doesn't
+  support neither.
+
+
+Building LLD
+============
+
+Using Visual Studio IDE/MSBuild
+-------------------------------
+
+1. Check out LLVM and LLD from the LLVM SVN repository (or Git mirror),
+#. run ``cmake -G "Visual Studio 12" <llvm-source-dir>`` from VS command prompt,
+#. open LLVM.sln with Visual Studio, and
+#. build ``lld`` target in ``lld executables`` folder
+
+Alternatively, you can use msbuild if you don't like to work in an IDE::
+
+  msbuild LLVM.sln /m /target:"lld executables\lld"
+  
+MSBuild.exe had been shipped as a component of the .NET framework, but since
+2013 it's part of Visual Studio. You can find it at "C:\\Program Files
+(x86)\\msbuild".
+
+You can build LLD as a 64 bit application. To do that, open VS2013 x64 command
+prompt and run cmake for "Visual Studio 12 Win64" target.
+
+Using Ninja
+-----------
+
+1. Check out LLVM and LLD from the LLVM SVN repository (or Git mirror),
+#. run ``cmake -G ninja <llvm-source-dir>`` from VS command prompt,
+#. run ``ninja lld``

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/ajax-loader.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/ajax-loader.gif?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/ajax-loader.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/basic.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/basic.css?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_static/basic.css (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_static/basic.css Fri Sep  2 10:56:46 2016
@@ -0,0 +1,537 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+    clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+    width: 100%;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+}
+
+div.sphinxsidebar ul {
+    list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    width: 170px;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    width: 30px;
+}
+
+img {
+    border: 0;
+    max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li div.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+    width: 90%;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+    width: 100%;
+}
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+div.modindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+a.headerlink {
+    visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.field-list ul {
+    padding-left: 1em;
+}
+
+.first {
+    margin-top: 0 !important;
+}
+
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+img.align-left, .figure.align-left, object.align-left {
+    clear: left;
+    float: left;
+    margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+    clear: right;
+    float: right;
+    margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+    text-align: left;
+}
+
+.align-center {
+    text-align: center;
+}
+
+.align-right {
+    text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px 7px 0 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+    border: 1px solid #ccc;
+    padding: 7px 7px 0 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+div.admonition dl {
+    margin-bottom: 0;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+    border: 0;
+    border-collapse: collapse;
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 5px;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+table.citation {
+    border-left: solid 1px gray;
+    margin-left: 1px;
+}
+
+table.citation td {
+    border-bottom: none;
+}
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+    list-style: decimal;
+}
+
+ol.loweralpha {
+    list-style: lower-alpha;
+}
+
+ol.upperalpha {
+    list-style: upper-alpha;
+}
+
+ol.lowerroman {
+    list-style: lower-roman;
+}
+
+ol.upperroman {
+    list-style: upper-roman;
+}
+
+dl {
+    margin-bottom: 15px;
+}
+
+dd p {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+dt:target, .highlighted {
+    background-color: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.footnote:target  {
+    background-color: #ffa;
+}
+
+.line-block {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+.line-block .line-block {
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+    font-family: sans-serif;
+}
+
+.accelerator {
+    text-decoration: underline;
+}
+
+.classifier {
+    font-style: oblique;
+}
+
+abbr, acronym {
+    border-bottom: dotted 1px;
+    cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+    overflow: auto;
+    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
+}
+
+td.linenos pre {
+    padding: 5px 0px;
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    margin-left: 0.5em;
+}
+
+table.highlighttable td {
+    padding: 0 0.5em 0 0.5em;
+}
+
+tt.descname {
+    background-color: transparent;
+    font-weight: bold;
+    font-size: 1.2em;
+}
+
+tt.descclassname {
+    background-color: transparent;
+}
+
+tt.xref, a tt {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+    background-color: transparent;
+}
+
+.viewcode-link {
+    float: right;
+}
+
+.viewcode-back {
+    float: right;
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    margin: -1px -10px;
+    padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+    vertical-align: middle;
+}
+
+div.body div.math p {
+    text-align: center;
+}
+
+span.eqno {
+    float: right;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+ at media print {
+    div.document,
+    div.documentwrapper,
+    div.bodywrapper {
+        margin: 0 !important;
+        width: 100%;
+    }
+
+    div.sphinxsidebar,
+    div.related,
+    div.footer,
+    #top-link {
+        display: none;
+    }
+}
\ No newline at end of file

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/comment-bright.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/comment-bright.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/comment-bright.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/comment-close.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/comment-close.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/comment-close.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/comment.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/comment.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/comment.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/contents.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/contents.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/contents.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/doctools.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/doctools.js?rev=280493&view=auto
==============================================================================
--- www-releases/trunk/3.9.0/tools/lld/docs/_static/doctools.js (added)
+++ www-releases/trunk/3.9.0/tools/lld/docs/_static/doctools.js Fri Sep  2 10:56:46 2016
@@ -0,0 +1,238 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+    "profile", "profileEnd"];
+  window.console = {};
+  for (var i = 0; i < names.length; ++i)
+    window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+  return decodeURIComponent(x).replace(/\+/g, ' ');
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+  if (typeof s == 'undefined')
+    s = document.location.search;
+  var parts = s.substr(s.indexOf('?') + 1).split('&');
+  var result = {};
+  for (var i = 0; i < parts.length; i++) {
+    var tmp = parts[i].split('=', 2);
+    var key = jQuery.urldecode(tmp[0]);
+    var value = jQuery.urldecode(tmp[1]);
+    if (key in result)
+      result[key].push(value);
+    else
+      result[key] = [value];
+  }
+  return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+  function highlight(node) {
+    if (node.nodeType == 3) {
+      var val = node.nodeValue;
+      var pos = val.toLowerCase().indexOf(text);
+      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
+        var span = document.createElement("span");
+        span.className = className;
+        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+          document.createTextNode(val.substr(pos + text.length)),
+          node.nextSibling));
+        node.nodeValue = val.substr(0, pos);
+      }
+    }
+    else if (!jQuery(node).is("button, select, textarea")) {
+      jQuery.each(node.childNodes, function() {
+        highlight(this);
+      });
+    }
+  }
+  return this.each(function() {
+    highlight(this);
+  });
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+  init : function() {
+    this.fixFirefoxAnchorBug();
+    this.highlightSearchWords();
+    this.initIndexTable();
+  },
+
+  /**
+   * i18n support
+   */
+  TRANSLATIONS : {},
+  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
+  LOCALE : 'unknown',
+
+  // gettext and ngettext don't access this so that the functions
+  // can safely bound to a different name (_ = Documentation.gettext)
+  gettext : function(string) {
+    var translated = Documentation.TRANSLATIONS[string];
+    if (typeof translated == 'undefined')
+      return string;
+    return (typeof translated == 'string') ? translated : translated[0];
+  },
+
+  ngettext : function(singular, plural, n) {
+    var translated = Documentation.TRANSLATIONS[singular];
+    if (typeof translated == 'undefined')
+      return (n == 1) ? singular : plural;
+    return translated[Documentation.PLURALEXPR(n)];
+  },
+
+  addTranslations : function(catalog) {
+    for (var key in catalog.messages)
+      this.TRANSLATIONS[key] = catalog.messages[key];
+    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+    this.LOCALE = catalog.locale;
+  },
+
+  /**
+   * add context elements like header anchor links
+   */
+  addContextElements : function() {
+    $('div[id] > :header:first').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this headline')).
+      appendTo(this);
+    });
+    $('dt[id]').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this definition')).
+      appendTo(this);
+    });
+  },
+
+  /**
+   * workaround a firefox stupidity
+   */
+  fixFirefoxAnchorBug : function() {
+    if (document.location.hash && $.browser.mozilla)
+      window.setTimeout(function() {
+        document.location.href += '';
+      }, 10);
+  },
+
+  /**
+   * highlight the search words provided in the url in the text
+   */
+  highlightSearchWords : function() {
+    var params = $.getQueryParameters();
+    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+    if (terms.length) {
+      var body = $('div.body');
+      if (!body.length) {
+        body = $('body');
+      }
+      window.setTimeout(function() {
+        $.each(terms, function() {
+          body.highlightText(this.toLowerCase(), 'highlighted');
+        });
+      }, 10);
+      $('<p class="highlight-link"><a href="javascript:Documentation.' +
+        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+          .appendTo($('#searchbox'));
+    }
+  },
+
+  /**
+   * init the domain index toggle buttons
+   */
+  initIndexTable : function() {
+    var togglers = $('img.toggler').click(function() {
+      var src = $(this).attr('src');
+      var idnum = $(this).attr('id').substr(7);
+      $('tr.cg-' + idnum).toggle();
+      if (src.substr(-9) == 'minus.png')
+        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+      else
+        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+    }).css('display', '');
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+        togglers.click();
+    }
+  },
+
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords : function() {
+    $('#searchbox .highlight-link').fadeOut(300);
+    $('span.highlighted').removeClass('highlighted');
+  },
+
+  /**
+   * make the url absolute
+   */
+  makeURL : function(relativeURL) {
+    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+  },
+
+  /**
+   * get the current relative url
+   */
+  getCurrentURL : function() {
+    var path = document.location.pathname;
+    var parts = path.split(/\//);
+    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+      if (this == '..')
+        parts.pop();
+    });
+    var url = parts.join('/');
+    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+  }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+  Documentation.init();
+});

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/down-pressed.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/down-pressed.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/down-pressed.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/down.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/down.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/down.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/favicon.ico
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/favicon.ico?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.9.0/tools/lld/docs/_static/file.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.9.0/tools/lld/docs/_static/file.png?rev=280493&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.9.0/tools/lld/docs/_static/file.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream




More information about the llvm-commits mailing list