[www-releases] r326992 - 6.0.0 files

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 8 02:24:48 PST 2018


Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,202 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-equals-default" href="modernize-use-equals-default.html" />
+    <link rel="prev" title="modernize-use-default-member-init" href="modernize-use-default-member-init.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-emplace</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-default-member-init.html">modernize-use-default-member-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-equals-default.html">modernize-use-equals-default</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
+<code class="docutils literal"><span class="pre">push_back</span></code> method with an explicitly-constructed temporary of the container
+element type. In this case, the corresponding <code class="docutils literal"><span class="pre">emplace_back</span></code> method
+results in less verbose and potentially more efficient code.
+Right now the check doesn’t support <code class="docutils literal"><span class="pre">push_front</span></code> and <code class="docutils literal"><span class="pre">insert</span></code>.
+It also doesn’t support <code class="docutils literal"><span class="pre">insert</span></code> functions for associative containers
+because replacing <code class="docutils literal"><span class="pre">insert</span></code> with <code class="docutils literal"><span class="pre">emplace</span></code> 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 <code class="docutils literal"><span class="pre">std::vector</span></code>, <code class="docutils literal"><span class="pre">std::deque</span></code>, <code class="docutils literal"><span class="pre">std::list</span></code> are considered.
+This list can be modified using the <a class="reference internal" href="#cmdoption-arg-containerswithpushback"><code class="xref std std-option docutils literal"><span class="pre">ContainersWithPushBack</span></code></a> option.</p>
+<p>Before:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">MyClass</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">MyClass</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span> <span class="mi">37</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">std</span><span class="o">::</span><span class="n">pair</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="kt">int</span><span class="o">>></span> <span class="n">w</span><span class="p">;</span>
+
+<span class="n">w</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">pair</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="kt">int</span><span class="o">></span><span class="p">(</span><span class="mi">21</span><span class="p">,</span> <span class="mi">37</span><span class="p">));</span>
+<span class="n">w</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">make_pair</span><span class="p">(</span><span class="mi">21L</span><span class="p">,</span> <span class="mi">37L</span><span class="p">));</span>
+</pre></div>
+</div>
+<p>After:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">MyClass</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">emplace_back</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span> <span class="mi">37</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">std</span><span class="o">::</span><span class="n">pair</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="kt">int</span><span class="o">>></span> <span class="n">w</span><span class="p">;</span>
+<span class="n">w</span><span class="p">.</span><span class="n">emplace_back</span><span class="p">(</span><span class="mi">21</span><span class="p">,</span> <span class="mi">37</span><span class="p">);</span>
+<span class="n">w</span><span class="p">.</span><span class="n">emplace_back</span><span class="p">(</span><span class="mi">21L</span><span class="p">,</span> <span class="mi">37L</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>By default, the check is able to remove unnecessary <code class="docutils literal"><span class="pre">std::make_pair</span></code> and
+<code class="docutils literal"><span class="pre">std::make_tuple</span></code> calls from <code class="docutils literal"><span class="pre">push_back</span></code> calls on containers of
+<code class="docutils literal"><span class="pre">std::pair</span></code> and <code class="docutils literal"><span class="pre">std::tuple</span></code>. Custom tuple-like types can be modified by
+the <a class="reference internal" href="#cmdoption-arg-tupletypes"><code class="xref std std-option docutils literal"><span class="pre">TupleTypes</span></code></a> option; custom make functions can be modified by the
+<a class="reference internal" href="#cmdoption-arg-tuplemakefunctions"><code class="xref std std-option docutils literal"><span class="pre">TupleMakeFunctions</span></code></a> option.</p>
+<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="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">boost</span><span class="o">::</span><span class="n">optional</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">></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="s">"abc"</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>After:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">boost</span><span class="o">::</span><span class="n">optional</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">></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">emplace_back</span><span class="p">(</span><span class="s">"abc"</span><span class="p">);</span>
+</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 <code class="docutils literal"><span class="pre">push_back</span></code> won’t be replaced.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</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">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">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="p">(</span><span class="k">new</span> <span class="kt">int</span><span class="p">(</span><span class="mi">0</span><span class="p">)));</span>
+<span class="k">auto</span> <span class="o">*</span><span class="n">ptr</span> <span class="o">=</span> <span class="k">new</span> <span class="kt">int</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="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="p">(</span><span class="n">ptr</span><span class="p">));</span>
+</pre></div>
+</div>
+<p>This is because replacing it with <code class="docutils literal"><span class="pre">emplace_back</span></code> could cause a leak of this
+pointer if <code class="docutils literal"><span class="pre">emplace_back</span></code> would throw exception before emplacement (e.g. not
+enough memory to add a 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 <code class="docutils literal"><span class="pre">std::unique_ptr</span></code>,
+<code class="docutils literal"><span class="pre">std::shared_ptr</span></code>, <code class="docutils literal"><span class="pre">std::auto_ptr</span></code>. To specify other smart pointers or
+other classes use the <a class="reference internal" href="#cmdoption-arg-smartpointers"><code class="xref std std-option docutils literal"><span class="pre">SmartPointers</span></code></a> option.</p>
+<p>Check also doesn’t fire if any argument of the constructor call would be:</p>
+<blockquote>
+<div><ul class="simple">
+<li>a bit-field (bit-fields can’t bind to rvalue/universal reference)</li>
+<li>a <code class="docutils literal"><span class="pre">new</span></code> expression (to avoid leak)</li>
+<li>if the argument would be converted via derived-to-base cast.</li>
+</ul>
+</div></blockquote>
+<p>This check requires C++11 or higher to run.</p>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-containerswithpushback">
+<code class="descname">ContainersWithPushBack</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-containerswithpushback" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of class names of custom containers that support
+<code class="docutils literal"><span class="pre">push_back</span></code>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-ignoreimplicitconstructors">
+<code class="descname">IgnoreImplicitConstructors</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-ignoreimplicitconstructors" title="Permalink to this definition">¶</a></dt>
+<dd><p>When non-zero, the check will ignore implicitly constructed arguments of
+<code class="docutils literal"><span class="pre">push_back</span></code>, e.g.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</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="s">"a"</span><span class="p">);</span> <span class="c1">// Ignored when IgnoreImplicitConstructors is ``1``.</span>
+</pre></div>
+</div>
+<p>Default is <code class="docutils literal"><span class="pre">0</span></code>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-smartpointers">
+<code class="descname">SmartPointers</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-smartpointers" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of class names of custom smart pointers.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-tupletypes">
+<code class="descname">TupleTypes</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-tupletypes" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of <code class="docutils literal"><span class="pre">std::tuple</span></code>-like class names.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-tuplemakefunctions">
+<code class="descname">TupleMakeFunctions</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-tuplemakefunctions" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of <code class="docutils literal"><span class="pre">std::make_tuple</span></code>-like function names. Those
+function calls will be removed from <code class="docutils literal"><span class="pre">push_back</span></code> calls and turned into
+<code class="docutils literal"><span class="pre">emplace_back</span></code>.</p>
+</dd></dl>
+
+<div class="section" id="example">
+<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">MyTuple</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="kt">bool</span><span class="p">,</span> <span class="kt">char</span><span class="o">>></span> <span class="n">x</span><span class="p">;</span>
+<span class="n">x</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">MakeMyTuple</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">false</span><span class="p">,</span> <span class="sc">'x'</span><span class="p">));</span>
+</pre></div>
+</div>
+<p>transforms to:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">MyTuple</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="kt">bool</span><span class="p">,</span> <span class="kt">char</span><span class="o">>></span> <span class="n">x</span><span class="p">;</span>
+<span class="n">x</span><span class="p">.</span><span class="n">emplace_back</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">false</span><span class="p">,</span> <span class="sc">'x'</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>when <a class="reference internal" href="#cmdoption-arg-tupletypes"><code class="xref std std-option docutils literal"><span class="pre">TupleTypes</span></code></a> is set to <code class="docutils literal"><span class="pre">MyTuple</span></code> and <a class="reference internal" href="#cmdoption-arg-tuplemakefunctions"><code class="xref std std-option docutils literal"><span class="pre">TupleMakeFunctions</span></code></a>
+is set to <code class="docutils literal"><span class="pre">MakeMyTuple</span></code>.</p>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-default-member-init.html">modernize-use-default-member-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-equals-default.html">modernize-use-equals-default</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-default.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-default.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-default.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-default.html Thu Mar  8 02:24:44 2018
@@ -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-use-equals-default — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-equals-delete" href="modernize-use-equals-delete.html" />
+    <link rel="prev" title="modernize-use-emplace" href="modernize-use-emplace.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-equals-default</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-emplace.html">modernize-use-emplace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-equals-delete.html">modernize-use-equals-delete</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-equals-default">
+<h1>modernize-use-equals-default<a class="headerlink" href="#modernize-use-equals-default" title="Permalink to this headline">¶</a></h1>
+<p>This check replaces default bodies of special member functions with <code class="docutils literal"><span class="pre">=</span>
+<span class="pre">default;</span></code>. 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></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="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">Move-constructor and move-assignment operator are not supported yet.</p>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-ignoremacros">
+<code class="descname">IgnoreMacros</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-ignoremacros" title="Permalink to this definition">¶</a></dt>
+<dd><p>If set to non-zero, the check will not give warnings inside macros. Default
+is <cite>1</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-emplace.html">modernize-use-emplace</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-equals-delete.html">modernize-use-equals-delete</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-delete.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-delete.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-delete.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-delete.html Thu Mar  8 02:24:44 2018
@@ -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 - modernize-use-equals-delete — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-noexcept" href="modernize-use-noexcept.html" />
+    <link rel="prev" title="modernize-use-equals-default" href="modernize-use-equals-default.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-equals-delete</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-equals-default.html">modernize-use-equals-default</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-noexcept.html">modernize-use-noexcept</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="modernize-use-equals-delete">
+<h1>modernize-use-equals-delete<a class="headerlink" href="#modernize-use-equals-delete" title="Permalink to this headline">¶</a></h1>
+<p>This check marks unimplemented private special member functions with <code class="docutils literal"><span class="pre">=</span> <span class="pre">delete</span></code>.
+To avoid false-positives, this check only applies in a translation unit that has
+all other member functions implemented.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="n">A</span> <span class="p">{</span>
+<span class="k">private</span><span class="o">:</span>
+  <span class="n">A</span><span class="p">(</span><span class="k">const</span> <span class="n">A</span><span class="o">&</span><span class="p">);</span>
+  <span class="n">A</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="k">const</span> <span class="n">A</span><span class="o">&</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="k">private</span><span class="o">:</span>
+  <span class="n">A</span><span class="p">(</span><span class="k">const</span> <span class="n">A</span><span class="o">&</span><span class="p">)</span> <span class="o">=</span> <span class="k">delete</span><span class="p">;</span>
+  <span class="n">A</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="k">const</span> <span class="n">A</span><span class="o">&</span><span class="p">)</span> <span class="o">=</span> <span class="k">delete</span><span class="p">;</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-equals-default.html">modernize-use-equals-default</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-noexcept.html">modernize-use-noexcept</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-noexcept.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-noexcept.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-noexcept.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-noexcept.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,153 @@
+<!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-noexcept — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-nullptr" href="modernize-use-nullptr.html" />
+    <link rel="prev" title="modernize-use-equals-delete" href="modernize-use-equals-delete.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-noexcept</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-equals-delete.html">modernize-use-equals-delete</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-noexcept">
+<h1>modernize-use-noexcept<a class="headerlink" href="#modernize-use-noexcept" title="Permalink to this headline">¶</a></h1>
+<p>This check replaces deprecated dynamic exception specifications with
+the appropriate noexcept specification (introduced in C++11).  By
+default this check will replace <code class="docutils literal"><span class="pre">throw()</span></code> with <code class="docutils literal"><span class="pre">noexcept</span></code>,
+and <code class="docutils literal"><span class="pre">throw(<exception>[,...])</span></code> or <code class="docutils literal"><span class="pre">throw(...)</span></code> with
+<code class="docutils literal"><span class="pre">noexcept(false)</span></code>.</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></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="k">throw</span><span class="p">();</span>
+      <span class="kt">void</span> <span class="nf">bar</span><span class="p">()</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</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></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="k">noexcept</span><span class="p">;</span>
+      <span class="kt">void</span> <span class="nf">bar</span><span class="p">()</span> <span class="k">noexcept</span><span class="p">(</span><span class="nb">false</span><span class="p">)</span> <span class="p">{}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-replacementstring">
+<code class="descname">ReplacementString</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-replacementstring" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<p>Users can use <a class="reference internal" href="#cmdoption-arg-replacementstring"><code class="xref std std-option docutils literal"><span class="pre">ReplacementString</span></code></a> to specify a macro to use
+instead of <code class="docutils literal"><span class="pre">noexcept</span></code>.  This is useful when maintaining source code
+that uses custom exception specification marking other than
+<code class="docutils literal"><span class="pre">noexcept</span></code>.  Fix-it hints will only be generated for non-throwing
+specifications.</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></span><span class="kt">void</span> <span class="nf">bar</span><span class="p">()</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span>
+<span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="k">throw</span><span class="p">();</span>
+</pre></div>
+</div>
+<p>transforms to:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">bar</span><span class="p">()</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span>  <span class="c1">// No fix-it generated.</span>
+<span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="n">NOEXCEPT</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>if the <a class="reference internal" href="#cmdoption-arg-replacementstring"><code class="xref std std-option docutils literal"><span class="pre">ReplacementString</span></code></a> option is set to <cite>NOEXCEPT</cite>.</p>
+<dl class="option">
+<dt id="cmdoption-arg-usenoexceptfalse">
+<code class="descname">UseNoexceptFalse</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-usenoexceptfalse" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<p>Enabled by default, disabling will generate fix-it hints that remove
+throwing dynamic exception specs, e.g., <code class="docutils literal"><span class="pre">throw(<something>)</span></code>,
+completely without providing a replacement text, except for
+destructors and delete operators that are <code class="docutils literal"><span class="pre">noexcept(true)</span></code> by
+default.</p>
+</div>
+<div class="section" id="id2">
+<h3>Example<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</span><span class="p">)</span> <span class="p">{}</span>
+
+<span class="k">struct</span> <span class="n">bar</span> <span class="p">{</span>
+  <span class="kt">void</span> <span class="n">foobar</span><span class="p">()</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span>
+  <span class="kt">void</span> <span class="k">operator</span> <span class="nf">delete</span><span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">)</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span>
+  <span class="kt">void</span> <span class="k">operator</span> <span class="k">delete</span><span class="p">[](</span><span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">)</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span>
+  <span class="o">~</span><span class="n">bar</span><span class="p">()</span> <span class="k">throw</span><span class="p">(</span><span class="kt">int</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></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">()</span> <span class="p">{}</span>
+
+<span class="k">struct</span> <span class="n">bar</span> <span class="p">{</span>
+  <span class="kt">void</span> <span class="n">foobar</span><span class="p">();</span>
+  <span class="kt">void</span> <span class="k">operator</span> <span class="nf">delete</span><span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">(</span><span class="nb">false</span><span class="p">);</span>
+  <span class="kt">void</span> <span class="k">operator</span> <span class="k">delete</span><span class="p">[](</span><span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">(</span><span class="nb">false</span><span class="p">);</span>
+  <span class="o">~</span><span class="n">bar</span><span class="p">()</span> <span class="k">noexcept</span><span class="p">(</span><span class="nb">false</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>if the <a class="reference internal" href="#cmdoption-arg-usenoexceptfalse"><code class="xref std std-option docutils literal"><span class="pre">UseNoexceptFalse</span></code></a> option is set to <cite>0</cite>.</p>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-equals-delete.html">modernize-use-equals-delete</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,131 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-override" href="modernize-use-override.html" />
+    <link rel="prev" title="modernize-use-noexcept" href="modernize-use-noexcept.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-nullptr</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-noexcept.html">modernize-use-noexcept</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. <code class="docutils literal"><span class="pre">NULL</span></code>, <code class="docutils literal"><span class="pre">0</span></code>)
+to use the new C++11 <code class="docutils literal"><span class="pre">nullptr</span></code> 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></span><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></span><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="k">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="k">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="k">nullptr</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-nullmacros">
+<code class="descname">NullMacros</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-nullmacros" title="Permalink to this definition">¶</a></dt>
+<dd><p>Comma-separated list of macro names that will be transformed along with
+<code class="docutils literal"><span class="pre">NULL</span></code>. By default this check will only replace the <code class="docutils literal"><span class="pre">NULL</span></code> macro and will
+skip any similar user-defined macros.</p>
+</dd></dl>
+
+<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></span><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></span><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="k">nullptr</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>if the <a class="reference internal" href="#cmdoption-arg-nullmacros"><code class="xref std std-option docutils literal"><span class="pre">NullMacros</span></code></a> option is set to <code class="docutils literal"><span class="pre">MY_NULL</span></code>.</p>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-noexcept.html">modernize-use-noexcept</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-override.html">modernize-use-override</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html Thu Mar  8 02:24:44 2018
@@ -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 - modernize-use-override — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-transparent-functors" href="modernize-use-transparent-functors.html" />
+    <link rel="prev" title="modernize-use-nullptr" href="modernize-use-nullptr.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-override</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-transparent-functors.html">modernize-use-transparent-functors</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 <code class="docutils literal"><span class="pre">override</span></code> and remove <code class="docutils literal"><span class="pre">virtual</span></code> where applicable.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-nullptr.html">modernize-use-nullptr</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-transparent-functors.html">modernize-use-transparent-functors</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-transparent-functors.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-transparent-functors.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-transparent-functors.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-transparent-functors.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,111 @@
+<!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-transparent-functors — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="modernize-use-using" href="modernize-use-using.html" />
+    <link rel="prev" title="modernize-use-override" href="modernize-use-override.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-transparent-functors</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-override.html">modernize-use-override</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-transparent-functors">
+<h1>modernize-use-transparent-functors<a class="headerlink" href="#modernize-use-transparent-functors" title="Permalink to this headline">¶</a></h1>
+<p>Prefer transparent functors to non-transparent ones. When using transparent
+functors, the type does not need to be repeated. The code is easier to read,
+maintain and less prone to errors. It is not possible to introduce unwanted
+conversions.</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// Non-transparent functor</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="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">greater</span><span class="o"><</span><span class="kt">int</span><span class="o">>></span> <span class="n">s</span><span class="p">;</span>
+
+<span class="c1">// Transparent functor.</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="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">greater</span><span class="o"><>></span> <span class="n">s</span><span class="p">;</span>
+
+<span class="c1">// Non-transparent functor</span>
+<span class="k">using</span> <span class="n">MyFunctor</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">less</span><span class="o"><</span><span class="n">MyType</span><span class="o">></span><span class="p">;</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>It is not always a safe transformation though. The following case will be
+untouched to preserve the semantics.</p>
+<blockquote>
+<div><div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// Non-transparent functor</span>
+<span class="n">std</span><span class="o">::</span><span class="n">map</span><span class="o"><</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">greater</span><span class="o"><</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>
+</pre></div>
+</div>
+</div></blockquote>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-safemode">
+<code class="descname">SafeMode</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-safemode" title="Permalink to this definition">¶</a></dt>
+<dd><p>If the option is set to non-zero, the check will not diagnose cases where
+using a transparent functor cannot be guaranteed to produce identical results
+as the original code. The default value for this option is <cite>0</cite>.</p>
+</dd></dl>
+
+<p>This check requires using C++14 or higher to run.</p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-override.html">modernize-use-override</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="modernize-use-using.html">modernize-use-using</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html Thu Mar  8 02:24:44 2018
@@ -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 - modernize-use-using — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="mpi-buffer-deref" href="mpi-buffer-deref.html" />
+    <link rel="prev" title="modernize-use-transparent-functors" href="modernize-use-transparent-functors.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - modernize-use-using</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-transparent-functors.html">modernize-use-transparent-functors</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="mpi-buffer-deref.html">mpi-buffer-deref</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>The check converts the usage of <code class="docutils literal"><span class="pre">typedef</span></code> with <code class="docutils literal"><span class="pre">using</span></code> keyword.</p>
+<p>Before:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">typedef</span> <span class="kt">int</span> <span class="n">variable</span><span class="p">;</span>
+
+<span class="k">class</span> <span class="nc">Class</span><span class="p">{};</span>
+<span class="k">typedef</span> <span class="nf">void</span> <span class="p">(</span><span class="n">Class</span><span class="o">::*</span> <span class="n">MyPtrType</span><span class="p">)()</span> <span class="k">const</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>After:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">using</span> <span class="n">variable</span> <span class="o">=</span> <span class="kt">int</span><span class="p">;</span>
+
+<span class="k">class</span> <span class="nc">Class</span><span class="p">{};</span>
+<span class="k">using</span> <span class="n">MyPtrType</span> <span class="o">=</span> <span class="kt">void</span> <span class="p">(</span><span class="n">Class</span><span class="o">::*</span><span class="p">)()</span> <span class="k">const</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>This check requires using C++11 or higher to run.</p>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-ignoremacros">
+<code class="descname">IgnoreMacros</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-ignoremacros" title="Permalink to this definition">¶</a></dt>
+<dd><p>If set to non-zero, the check will not give warnings inside macros. Default
+is <cite>1</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-transparent-functors.html">modernize-use-transparent-functors</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="mpi-buffer-deref.html">mpi-buffer-deref</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-buffer-deref.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-buffer-deref.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-buffer-deref.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-buffer-deref.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,94 @@
+<!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 - mpi-buffer-deref — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="mpi-type-mismatch" href="mpi-type-mismatch.html" />
+    <link rel="prev" title="modernize-use-using" href="modernize-use-using.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - mpi-buffer-deref</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="modernize-use-using.html">modernize-use-using</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="mpi-type-mismatch.html">mpi-type-mismatch</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="mpi-buffer-deref">
+<h1>mpi-buffer-deref<a class="headerlink" href="#mpi-buffer-deref" title="Permalink to this headline">¶</a></h1>
+<p>This check verifies if a buffer passed to an MPI (Message Passing Interface)
+function is sufficiently dereferenced. Buffers should be passed as a single
+pointer or array. As MPI function signatures specify <code class="docutils literal"><span class="pre">void</span> <span class="pre">*</span></code> for their buffer
+types, insufficiently dereferenced buffers can be passed, like for example as
+double pointers or multidimensional arrays, without a compiler warning emitted.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// A double pointer is passed to the MPI function.</span>
+<span class="kt">char</span> <span class="o">*</span><span class="n">buf</span><span class="p">;</span>
+<span class="n">MPI_Send</span><span class="p">(</span><span class="o">&</span><span class="n">buf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">MPI_CHAR</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">MPI_COMM_WORLD</span><span class="p">);</span>
+
+<span class="c1">// A multidimensional array is passed to the MPI function.</span>
+<span class="kt">short</span> <span class="n">buf</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">];</span>
+<span class="n">MPI_Send</span><span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">MPI_SHORT</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">MPI_COMM_WORLD</span><span class="p">);</span>
+
+<span class="c1">// A pointer to an array is passed to the MPI function.</span>
+<span class="kt">short</span> <span class="o">*</span><span class="n">buf</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<span class="n">MPI_Send</span><span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">MPI_SHORT</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">MPI_COMM_WORLD</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="modernize-use-using.html">modernize-use-using</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="mpi-type-mismatch.html">mpi-type-mismatch</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-type-mismatch.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-type-mismatch.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-type-mismatch.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-type-mismatch.html Thu Mar  8 02:24:44 2018
@@ -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 - mpi-type-mismatch — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="objc-avoid-nserror-init" href="objc-avoid-nserror-init.html" />
+    <link rel="prev" title="mpi-buffer-deref" href="mpi-buffer-deref.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - mpi-type-mismatch</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="mpi-buffer-deref.html">mpi-buffer-deref</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-avoid-nserror-init.html">objc-avoid-nserror-init</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="mpi-type-mismatch">
+<h1>mpi-type-mismatch<a class="headerlink" href="#mpi-type-mismatch" title="Permalink to this headline">¶</a></h1>
+<p>This check verifies if buffer type and MPI (Message Passing Interface) datatype
+pairs match for used MPI functions. All MPI datatypes defined by the MPI
+standard (3.1) are verified by this check. User defined typedefs, custom MPI
+datatypes and null pointer constants are skipped, in the course of verification.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// In this case, the buffer type matches MPI datatype.</span>
+<span class="kt">char</span> <span class="n">buf</span><span class="p">;</span>
+<span class="n">MPI_Send</span><span class="p">(</span><span class="o">&</span><span class="n">buf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">MPI_CHAR</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">MPI_COMM_WORLD</span><span class="p">);</span>
+
+<span class="c1">// In the following case, the buffer type does not match MPI datatype.</span>
+<span class="kt">int</span> <span class="n">buf</span><span class="p">;</span>
+<span class="n">MPI_Send</span><span class="p">(</span><span class="o">&</span><span class="n">buf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">MPI_CHAR</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">MPI_COMM_WORLD</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="mpi-buffer-deref.html">mpi-buffer-deref</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-avoid-nserror-init.html">objc-avoid-nserror-init</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-nserror-init.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-nserror-init.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-nserror-init.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-nserror-init.html Thu Mar  8 02:24:44 2018
@@ -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 - objc-avoid-nserror-init — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="objc-avoid-spinlock" href="objc-avoid-spinlock.html" />
+    <link rel="prev" title="mpi-type-mismatch" href="mpi-type-mismatch.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - objc-avoid-nserror-init</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="mpi-type-mismatch.html">mpi-type-mismatch</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-avoid-spinlock.html">objc-avoid-spinlock</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="objc-avoid-nserror-init">
+<h1>objc-avoid-nserror-init<a class="headerlink" href="#objc-avoid-nserror-init" title="Permalink to this headline">¶</a></h1>
+<p>Finds improper initialization of <code class="docutils literal"><span class="pre">NSError</span></code> objects.</p>
+<p>According to Apple developer document, we should always use factory method
+<code class="docutils literal"><span class="pre">errorWithDomain:code:userInfo:</span></code> to create new NSError objects instead
+of <code class="docutils literal"><span class="pre">[NSError</span> <span class="pre">alloc]</span> <span class="pre">init]</span></code>. Otherwise it will lead to a warning message
+during runtime.</p>
+<p>The corresponding information about <code class="docutils literal"><span class="pre">NSError</span></code> creation: <a class="reference external" href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html">https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="mpi-type-mismatch.html">mpi-type-mismatch</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-avoid-spinlock.html">objc-avoid-spinlock</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-spinlock.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-spinlock.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-spinlock.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-spinlock.html Thu Mar  8 02:24:44 2018
@@ -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 - objc-avoid-spinlock — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="objc-forbidden-subclassing" href="objc-forbidden-subclassing.html" />
+    <link rel="prev" title="objc-avoid-nserror-init" href="objc-avoid-nserror-init.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - objc-avoid-spinlock</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="objc-avoid-nserror-init.html">objc-avoid-nserror-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-forbidden-subclassing.html">objc-forbidden-subclassing</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="objc-avoid-spinlock">
+<h1>objc-avoid-spinlock<a class="headerlink" href="#objc-avoid-spinlock" title="Permalink to this headline">¶</a></h1>
+<p>Finds usages of <code class="docutils literal"><span class="pre">OSSpinlock</span></code>, which is deprecated due to potential livelock
+problems.</p>
+<p>This check will detect following function invocations:</p>
+<ul class="simple">
+<li><code class="docutils literal"><span class="pre">OSSpinlockLock</span></code></li>
+<li><code class="docutils literal"><span class="pre">OSSpinlockTry</span></code></li>
+<li><code class="docutils literal"><span class="pre">OSSpinlockUnlock</span></code></li>
+</ul>
+<p>The corresponding information about the problem of <code class="docutils literal"><span class="pre">OSSpinlock</span></code>: <a class="reference external" href="https://blog.postmates.com/why-spinlocks-are-bad-on-ios-b69fc5221058">https://blog.postmates.com/why-spinlocks-are-bad-on-ios-b69fc5221058</a></p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="objc-avoid-nserror-init.html">objc-avoid-nserror-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-forbidden-subclassing.html">objc-forbidden-subclassing</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-forbidden-subclassing.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-forbidden-subclassing.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-forbidden-subclassing.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-forbidden-subclassing.html Thu Mar  8 02:24:44 2018
@@ -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 - objc-forbidden-subclassing — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="objc-property-declaration" href="objc-property-declaration.html" />
+    <link rel="prev" title="objc-avoid-spinlock" href="objc-avoid-spinlock.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - objc-forbidden-subclassing</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="objc-avoid-spinlock.html">objc-avoid-spinlock</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-property-declaration.html">objc-property-declaration</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="objc-forbidden-subclassing">
+<h1>objc-forbidden-subclassing<a class="headerlink" href="#objc-forbidden-subclassing" title="Permalink to this headline">¶</a></h1>
+<p>Finds Objective-C classes which are subclasses of classes which are not designed
+to be subclassed.</p>
+<p>By default, includes a list of Objective-C classes which are publicly documented
+as not supporting subclassing.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Instead of using this check, for code under your control, you should add
+<code class="docutils literal"><span class="pre">__attribute__((objc_subclassing_restricted))</span></code> before your <code class="docutils literal"><span class="pre">@interface</span></code>
+declarations to ensure the compiler prevents others from subclassing your
+Objective-C classes.
+See <a class="reference external" href="https://clang.llvm.org/docs/AttributeReference.html#objc-subclassing-restricted">https://clang.llvm.org/docs/AttributeReference.html#objc-subclassing-restricted</a></p>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-forbiddensuperclassnames">
+<code class="descname">ForbiddenSuperClassNames</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-forbiddensuperclassnames" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of names of Objective-C classes which
+do not support subclassing.</p>
+<p>Defaults to <cite>ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="objc-avoid-spinlock.html">objc-avoid-spinlock</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="objc-property-declaration.html">objc-property-declaration</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-property-declaration.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-property-declaration.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-property-declaration.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/objc-property-declaration.html Thu Mar  8 02:24:44 2018
@@ -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 - objc-property-declaration — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-faster-string-find" href="performance-faster-string-find.html" />
+    <link rel="prev" title="objc-forbidden-subclassing" href="objc-forbidden-subclassing.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - objc-property-declaration</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="objc-forbidden-subclassing.html">objc-forbidden-subclassing</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="objc-property-declaration">
+<h1>objc-property-declaration<a class="headerlink" href="#objc-property-declaration" title="Permalink to this headline">¶</a></h1>
+<p>Finds property declarations in Objective-C files that do not follow the pattern
+of property names in Apple’s programming guide. The property name should be
+in the format of Lower Camel Case.</p>
+<p>For code:</p>
+<div class="highlight-objc"><div class="highlight"><pre><span></span>
+</pre></div>
+</div>
+<p>@property(nonatomic, assign) int LowerCamelCase;</p>
+<p>The fix will be:</p>
+<div class="highlight-objc"><div class="highlight"><pre><span></span>
+</pre></div>
+</div>
+<p>@property(nonatomic, assign) int lowerCamelCase;</p>
+<p>The check will only fix ‘CamelCase’ to ‘camelCase’. In some other cases we will
+only provide warning messages since the property name could be complicated.
+Users will need to come up with a proper name by their own.</p>
+<p>This check also accepts special acronyms as prefix. Such prefix will suppress
+the check of Lower Camel Case according to the guide:
+<a class="reference external" href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002931-BBCFHEAB">https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002931-BBCFHEAB</a></p>
+<p>For a full list of well-known acronyms:
+<a class="reference external" href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/APIAbbreviations.html#//apple_ref/doc/uid/20001285-BCIHCGAE">https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/APIAbbreviations.html#//apple_ref/doc/uid/20001285-BCIHCGAE</a></p>
+<p>The corresponding style rule: <a class="reference external" href="https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingIvarsAndTypes.html#//apple_ref/doc/uid/20001284-1001757">https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingIvarsAndTypes.html#//apple_ref/doc/uid/20001284-1001757</a></p>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-acronyms">
+<code class="descname">Acronyms</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-acronyms" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of acronyms that can be used as prefix
+of property names.</p>
+<p>Defaults to <cite>ASCII;PDF;XML;HTML;URL;RTF;HTTP;TIFF;JPG;PNG;GIF;LZW;ROM;RGB;CMYK;MIDI;FTP</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="objc-forbidden-subclassing.html">objc-forbidden-subclassing</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,97 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-for-range-copy" href="performance-for-range-copy.html" />
+    <link rel="prev" title="objc-property-declaration" href="objc-property-declaration.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-faster-string-find</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="objc-property-declaration.html">objc-property-declaration</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 <code class="docutils literal"><span class="pre">std::string::find()</span></code> and friends when the needle passed is
+a single character string literal. The character literal overload is more
+efficient.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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 class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-stringlikeclasses">
+<code class="descname">StringLikeClasses</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-stringlikeclasses" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of names of string-like classes. By default only
+<code class="docutils literal"><span class="pre">std::basic_string</span></code> is considered. The list of methods to consired is
+fixed.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="objc-property-declaration.html">objc-property-declaration</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html Thu Mar  8 02:24:44 2018
@@ -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 - performance-for-range-copy — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-implicit-conversion-in-loop" href="performance-implicit-conversion-in-loop.html" />
+    <link rel="prev" title="performance-faster-string-find" href="performance-faster-string-find.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-for-range-copy</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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-conversion-in-loop.html">performance-implicit-conversion-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 class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-warnonallautocopies">
+<code class="descname">WarnOnAllAutoCopies</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-warnonallautocopies" title="Permalink to this definition">¶</a></dt>
+<dd><p>When non-zero, warns on any use of <cite>auto</cite> as the type of the range-based for
+loop variable. Default is <cite>0</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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-conversion-in-loop.html">performance-implicit-conversion-in-loop</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.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/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,67 @@
+<!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=performance-implicit-conversion-in-loop.html" http-equiv="refresh" />
+
+    <title>clang-tidy - performance-implicit-cast-in-loop — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-implicit-cast-in-loop</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        <a class="uplink" href="../../index.html">Contents</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 check has been renamed to <a class="reference external" href="performance-implicit-conversion-in-loop.html">performance-implicit-conversion-in-loop</a>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        <a class="uplink" href="../../index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-conversion-in-loop.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-conversion-in-loop.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-conversion-in-loop.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-conversion-in-loop.html Thu Mar  8 02:24:44 2018
@@ -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-conversion-in-loop — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-inefficient-algorithm" href="performance-inefficient-algorithm.html" />
+    <link rel="prev" title="performance-for-range-copy" href="performance-for-range-copy.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-implicit-conversion-in-loop</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-for-range-copy.html">performance-for-range-copy</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-inefficient-algorithm.html">performance-inefficient-algorithm</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-implicit-conversion-in-loop">
+<h1>performance-implicit-conversion-in-loop<a class="headerlink" href="#performance-implicit-conversion-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 conversion happens, which can for example
+result in expensive deep copies.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">map</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="n">vector</span><span class="o"><</span><span class="n">string</span><span class="o">>></span> <span class="n">my_map</span><span class="p">;</span>
+<span class="k">for</span> <span class="p">(</span><span class="k">const</span> <span class="n">pair</span><span class="o"><</span><span class="kt">int</span><span class="p">,</span> <span class="n">vector</span><span class="o"><</span><span class="n">string</span><span class="o">>>&</span> <span class="nl">p</span> <span class="p">:</span> <span class="n">my_map</span><span class="p">)</span> <span class="p">{}</span>
+<span class="c1">// The iterator type is in fact pair<const int, vector<string>>, which means</span>
+<span class="c1">// that the compiler added a conversion, resulting in a copy of the vectors.</span>
+</pre></div>
+</div>
+<p>The easiest solution is usually to use <code class="docutils literal"><span class="pre">const</span> <span class="pre">auto&</span></code> instead of writing the
+type manually.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-for-range-copy.html">performance-for-range-copy</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-inefficient-algorithm.html">performance-inefficient-algorithm</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-algorithm.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-algorithm.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-algorithm.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-algorithm.html Thu Mar  8 02:24:44 2018
@@ -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 - performance-inefficient-algorithm — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-inefficient-string-concatenation" href="performance-inefficient-string-concatenation.html" />
+    <link rel="prev" title="performance-implicit-conversion-in-loop" href="performance-implicit-conversion-in-loop.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-inefficient-algorithm</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-implicit-conversion-in-loop.html">performance-implicit-conversion-in-loop</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-inefficient-string-concatenation.html">performance-inefficient-string-concatenation</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-inefficient-algorithm">
+<h1>performance-inefficient-algorithm<a class="headerlink" href="#performance-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 class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">set</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">s</span><span class="p">;</span>
+<span class="k">auto</span> <span class="n">it</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">find</span><span class="p">(</span><span class="n">s</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span> <span class="n">s</span><span class="p">.</span><span class="n">end</span><span class="p">(),</span> <span class="mi">43</span><span class="p">);</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">auto</span> <span class="n">it</span> <span class="o">=</span> <span class="n">s</span><span class="p">.</span><span class="n">find</span><span class="p">(</span><span class="mi">43</span><span class="p">);</span>
+</pre></div>
+</div>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">set</span><span class="o"><</span><span class="kt">int</span><span class="o">></span> <span class="n">s</span><span class="p">;</span>
+<span class="k">auto</span> <span class="n">c</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">count</span><span class="p">(</span><span class="n">s</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span> <span class="n">s</span><span class="p">.</span><span class="n">end</span><span class="p">(),</span> <span class="mi">43</span><span class="p">);</span>
+
+<span class="c1">// becomes</span>
+
+<span class="k">auto</span> <span class="n">c</span> <span class="o">=</span> <span class="n">s</span><span class="p">.</span><span class="n">count</span><span class="p">(</span><span class="mi">43</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-implicit-conversion-in-loop.html">performance-implicit-conversion-in-loop</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-inefficient-string-concatenation.html">performance-inefficient-string-concatenation</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-string-concatenation.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-string-concatenation.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-string-concatenation.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-string-concatenation.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,122 @@
+<!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-inefficient-string-concatenation — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-inefficient-vector-operation" href="performance-inefficient-vector-operation.html" />
+    <link rel="prev" title="performance-inefficient-algorithm" href="performance-inefficient-algorithm.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-inefficient-string-concatenation</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-inefficient-algorithm.html">performance-inefficient-algorithm</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-inefficient-vector-operation.html">performance-inefficient-vector-operation</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-inefficient-string-concatenation">
+<h1>performance-inefficient-string-concatenation<a class="headerlink" href="#performance-inefficient-string-concatenation" title="Permalink to this headline">¶</a></h1>
+<p>This check warns about the performance overhead arising from concatenating
+strings using the <code class="docutils literal"><span class="pre">operator+</span></code>, for instance:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span><span class="p">(</span><span class="s">"Foo"</span><span class="p">),</span> <span class="n">b</span><span class="p">(</span><span class="s">"Bar"</span><span class="p">);</span>
+<span class="n">a</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>Instead of this structure you should use <code class="docutils literal"><span class="pre">operator+=</span></code> or <code class="docutils literal"><span class="pre">std::string</span></code>‘s
+(<code class="docutils literal"><span class="pre">std::basic_string</span></code>) class member function <code class="docutils literal"><span class="pre">append()</span></code>. For instance:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span><span class="p">(</span><span class="s">"Foo"</span><span class="p">),</span> <span class="n">b</span><span class="p">(</span><span class="s">"Baz"</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">20000</span><span class="p">;</span> <span class="o">++</span><span class="n">i</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="o">+</span> <span class="s">"Bar"</span> <span class="o">+</span> <span class="n">b</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Could be rewritten in a greatly more efficient way like:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span><span class="p">(</span><span class="s">"Foo"</span><span class="p">),</span> <span class="n">b</span><span class="p">(</span><span class="s">"Baz"</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">20000</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+    <span class="n">a</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="s">"Bar"</span><span class="p">).</span><span class="n">append</span><span class="p">(</span><span class="n">b</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>And this can be rewritten too:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></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="p">)</span> <span class="p">{}</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span><span class="p">(</span><span class="s">"Foo"</span><span class="p">),</span> <span class="n">b</span><span class="p">(</span><span class="s">"Baz"</span><span class="p">);</span>
+<span class="kt">void</span> <span class="nf">g</span><span class="p">()</span> <span class="p">{</span>
+    <span class="n">f</span><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="s">"Bar"</span> <span class="o">+</span> <span class="n">b</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>In a slightly more efficient way like:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></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="p">)</span> <span class="p">{}</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span><span class="p">(</span><span class="s">"Foo"</span><span class="p">),</span> <span class="n">b</span><span class="p">(</span><span class="s">"Baz"</span><span class="p">);</span>
+<span class="kt">void</span> <span class="nf">g</span><span class="p">()</span> <span class="p">{</span>
+    <span class="n">f</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="p">(</span><span class="n">a</span><span class="p">).</span><span class="n">append</span><span class="p">(</span><span class="s">"Bar"</span><span class="p">).</span><span class="n">append</span><span class="p">(</span><span class="n">b</span><span class="p">));</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-strictmode">
+<code class="descname">StrictMode</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-strictmode" title="Permalink to this definition">¶</a></dt>
+<dd><p>When zero, the check will only check the string usage in <code class="docutils literal"><span class="pre">while</span></code>, <code class="docutils literal"><span class="pre">for</span></code>
+and <code class="docutils literal"><span class="pre">for-range</span></code> statements. Default is <cite>0</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-inefficient-algorithm.html">performance-inefficient-algorithm</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-inefficient-vector-operation.html">performance-inefficient-vector-operation</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.html Thu Mar  8 02:24:44 2018
@@ -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>clang-tidy - performance-inefficient-vector-operation — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-move-const-arg" href="performance-move-const-arg.html" />
+    <link rel="prev" title="performance-inefficient-string-concatenation" href="performance-inefficient-string-concatenation.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-inefficient-vector-operation</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-inefficient-string-concatenation.html">performance-inefficient-string-concatenation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-move-const-arg.html">performance-move-const-arg</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-inefficient-vector-operation">
+<h1>performance-inefficient-vector-operation<a class="headerlink" href="#performance-inefficient-vector-operation" title="Permalink to this headline">¶</a></h1>
+<p>Finds possible inefficient <code class="docutils literal"><span class="pre">std::vector</span></code> operations (e.g. <code class="docutils literal"><span class="pre">push_back</span></code>,
+<code class="docutils literal"><span class="pre">emplace_back</span></code>) that may cause unnecessary memory reallocations.</p>
+<p>Currently, the check only detects following kinds of loops with a single
+statement body:</p>
+<ul class="simple">
+<li>Counter-based for loops start with 0:</li>
+</ul>
+<div class="highlight-c++"><div class="highlight"><pre><span></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">v</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="n">n</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</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">n</span><span class="p">);</span>
+  <span class="c1">// This will trigger the warning since the push_back may cause multiple</span>
+  <span class="c1">// memory reallocations in v. This can be avoid by inserting a 'reserve(n)'</span>
+  <span class="c1">// statement before the for statement.</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li>For-range loops like <code class="docutils literal"><span class="pre">for</span> <span class="pre">(range-declaration</span> <span class="pre">:</span> <span class="pre">range_expression)</span></code>, the type
+of <code class="docutils literal"><span class="pre">range_expression</span></code> can be <code class="docutils literal"><span class="pre">std::vector</span></code>, <code class="docutils literal"><span class="pre">std::array</span></code>,
+<code class="docutils literal"><span class="pre">std::deque</span></code>, <code class="docutils literal"><span class="pre">std::set</span></code>, <code class="docutils literal"><span class="pre">std::unordered_set</span></code>, <code class="docutils literal"><span class="pre">std::map</span></code>,
+<code class="docutils literal"><span class="pre">std::unordered_set</span></code>:</li>
+</ul>
+<div class="highlight-c++"><div class="highlight"><pre><span></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">data</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">v</span><span class="p">;</span>
+
+<span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="nl">element</span> <span class="p">:</span> <span class="n">data</span><span class="p">)</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">element</span><span class="p">);</span>
+  <span class="c1">// This will trigger the warning since the 'push_back' may cause multiple</span>
+  <span class="c1">// memory reallocations in v. This can be avoid by inserting a</span>
+  <span class="c1">// 'reserve(data.size())' statement before the for statement.</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-vectorlikeclasses">
+<code class="descname">VectorLikeClasses</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-vectorlikeclasses" title="Permalink to this definition">¶</a></dt>
+<dd><p>Semicolon-separated list of names of vector-like classes. By default only
+<code class="docutils literal"><span class="pre">::std::vector</span></code> is considered.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-inefficient-string-concatenation.html">performance-inefficient-string-concatenation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-move-const-arg.html">performance-move-const-arg</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-const-arg.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-const-arg.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-const-arg.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-const-arg.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,105 @@
+<!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-move-const-arg — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-move-constructor-init" href="performance-move-constructor-init.html" />
+    <link rel="prev" title="performance-inefficient-vector-operation" href="performance-inefficient-vector-operation.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-move-const-arg</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-inefficient-vector-operation.html">performance-inefficient-vector-operation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-move-constructor-init.html">performance-move-constructor-init</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-move-const-arg">
+<h1>performance-move-const-arg<a class="headerlink" href="#performance-move-const-arg" title="Permalink to this headline">¶</a></h1>
+<p>The check warns</p>
+<ul class="simple">
+<li>if <code class="docutils literal"><span class="pre">std::move()</span></code> is called with a constant argument,</li>
+<li>if <code class="docutils literal"><span class="pre">std::move()</span></code> is called with an argument of a trivially-copyable type,</li>
+<li>if the result of <code class="docutils literal"><span class="pre">std::move()</span></code> is passed as a const reference argument.</li>
+</ul>
+<p>In all three cases, the check will suggest a fix that removes the
+<code class="docutils literal"><span class="pre">std::move()</span></code>.</p>
+<p>Here are examples of each of the three cases:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">const</span> <span class="n">string</span> <span class="n">s</span><span class="p">;</span>
+<span class="k">return</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="c1">// Warning: std::move of the const variable has no effect</span>
+
+<span class="kt">int</span> <span class="n">x</span><span class="p">;</span>
+<span class="k">return</span> <span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">x</span><span class="p">);</span>  <span class="c1">// Warning: std::move of the variable of a trivially-copyable type has no effect</span>
+
+<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="o">&</span><span class="n">s</span><span class="p">);</span>
+<span class="n">string</span> <span class="n">s</span><span class="p">;</span>
+<span class="n">f</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="c1">// Warning: passing result of std::move as a const reference argument; no move will actually happen</span>
+</pre></div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-checktriviallycopyablemove">
+<code class="descname">CheckTriviallyCopyableMove</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-checktriviallycopyablemove" title="Permalink to this definition">¶</a></dt>
+<dd><p>If non-zero, enables detection of trivially copyable types that do not
+have a move constructor. Default is non-zero.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-inefficient-vector-operation.html">performance-inefficient-vector-operation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-move-constructor-init.html">performance-move-constructor-init</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-constructor-init.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-constructor-init.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-constructor-init.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-constructor-init.html Thu Mar  8 02:24:44 2018
@@ -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 - performance-move-constructor-init — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-noexcept-move-constructor" href="performance-noexcept-move-constructor.html" />
+    <link rel="prev" title="performance-move-const-arg" href="performance-move-const-arg.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-move-constructor-init</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-move-const-arg.html">performance-move-const-arg</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-noexcept-move-constructor.html">performance-noexcept-move-constructor</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-move-constructor-init">
+<h1>performance-move-constructor-init<a class="headerlink" href="#performance-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>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-includestyle">
+<code class="descname">IncludeStyle</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-includestyle" title="Permalink to this definition">¶</a></dt>
+<dd><p>A string specifying which include-style is used, <cite>llvm</cite> or <cite>google</cite>. Default
+is <cite>llvm</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-move-const-arg.html">performance-move-const-arg</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-noexcept-move-constructor.html">performance-noexcept-move-constructor</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-noexcept-move-constructor.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-noexcept-move-constructor.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-noexcept-move-constructor.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-noexcept-move-constructor.html Thu Mar  8 02:24:44 2018
@@ -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 - performance-noexcept-move-constructor — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-type-promotion-in-math-fn" href="performance-type-promotion-in-math-fn.html" />
+    <link rel="prev" title="performance-move-constructor-init" href="performance-move-constructor-init.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-noexcept-move-constructor</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-move-constructor-init.html">performance-move-constructor-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-type-promotion-in-math-fn.html">performance-type-promotion-in-math-fn</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="performance-noexcept-move-constructor">
+<h1>performance-noexcept-move-constructor<a class="headerlink" href="#performance-noexcept-move-constructor" title="Permalink to this headline">¶</a></h1>
+<p>The check flags user-defined move constructors and assignment operators not
+marked with <code class="docutils literal"><span class="pre">noexcept</span></code> or marked with <code class="docutils literal"><span class="pre">noexcept(expr)</span></code> where <code class="docutils literal"><span class="pre">expr</span></code>
+evaluates to <code class="docutils literal"><span class="pre">false</span></code> (but is not a <code class="docutils literal"><span class="pre">false</span></code> literal itself).</p>
+<p>Move constructors of all the types used with STL containers, for example,
+need to be declared <code class="docutils literal"><span class="pre">noexcept</span></code>. Otherwise STL will choose copy constructors
+instead. The same is valid for move assignment operations.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-move-constructor-init.html">performance-move-constructor-init</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="performance-type-promotion-in-math-fn.html">performance-type-promotion-in-math-fn</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-type-promotion-in-math-fn.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-type-promotion-in-math-fn.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-type-promotion-in-math-fn.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-type-promotion-in-math-fn.html Thu Mar  8 02:24:44 2018
@@ -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 - performance-type-promotion-in-math-fn — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-unnecessary-copy-initialization" href="performance-unnecessary-copy-initialization.html" />
+    <link rel="prev" title="performance-noexcept-move-constructor" href="performance-noexcept-move-constructor.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-type-promotion-in-math-fn</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-noexcept-move-constructor.html">performance-noexcept-move-constructor</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-type-promotion-in-math-fn">
+<h1>performance-type-promotion-in-math-fn<a class="headerlink" href="#performance-type-promotion-in-math-fn" title="Permalink to this headline">¶</a></h1>
+<p>Finds calls to C math library functions (from <code class="docutils literal"><span class="pre">math.h</span></code> or, in C++, <code class="docutils literal"><span class="pre">cmath</span></code>)
+with implicit <code class="docutils literal"><span class="pre">float</span></code> to <code class="docutils literal"><span class="pre">double</span></code> promotions.</p>
+<p>For example, warns on <code class="docutils literal"><span class="pre">::sin(0.f)</span></code>, because this funciton’s parameter is a
+double. You probably meant to call <code class="docutils literal"><span class="pre">std::sin(0.f)</span></code> (in C++), or <code class="docutils literal"><span class="pre">sinf(0.f)</span></code>
+(in C).</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">float</span> <span class="n">a</span><span class="p">;</span>
+<span class="n">asin</span><span class="p">(</span><span class="n">a</span><span class="p">);</span>
+
+<span class="c1">// becomes</span>
+
+<span class="kt">float</span> <span class="n">a</span><span class="p">;</span>
+<span class="n">std</span><span class="o">::</span><span class="n">asin</span><span class="p">(</span><span class="n">a</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-noexcept-move-constructor.html">performance-noexcept-move-constructor</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,104 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="performance-unnecessary-value-param" href="performance-unnecessary-value-param.html" />
+    <link rel="prev" title="performance-type-promotion-in-math-fn" href="performance-type-promotion-in-math-fn.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-unnecessary-copy-initialization</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="performance-type-promotion-in-math-fn.html">performance-type-promotion-in-math-fn</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></span><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" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="performance-type-promotion-in-math-fn.html">performance-type-promotion-in-math-fn</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,127 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - performance-unnecessary-value-param</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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></span><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></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">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></span><span class="cp">#include</span> <span class="cpf"><utility></span><span class="cp"></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 class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-includestyle">
+<code class="descname">IncludeStyle</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-includestyle" title="Permalink to this definition">¶</a></dt>
+<dd><p>A string specifying which include-style is used, <cite>llvm</cite> or <cite>google</cite>. Default
+is <cite>llvm</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.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/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html Thu Mar  8 02:24:44 2018
@@ -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-avoid-const-params-in-decls — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-avoid-const-params-in-decls</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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
+<code class="docutils literal"><span class="pre">const</span></code>.</p>
+<p><code class="docutils literal"><span class="pre">const</span></code> values in declarations do not affect the signature of a function, so
+they should not be put there.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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="p">);</span>   <span class="c1">// Bad: const is top level.</span>
+<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="o">&</span><span class="p">);</span>  <span class="c1">// Good: const is not top level.</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,104 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-braces-around-statements</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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 <code class="docutils literal"><span class="pre">if</span></code> statements and loops (<code class="docutils literal"><span class="pre">for</span></code>, <code class="docutils literal"><span class="pre">do</span> <span class="pre">while</span></code>, and
+<code class="docutils literal"><span class="pre">while</span></code>) are inside braces.</p>
+<p>Before:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="n">condition</span><span class="p">)</span>
+  <span class="n">statement</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>After:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="n">condition</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">statement</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-shortstatementlines">
+<code class="descname">ShortStatementLines</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-shortstatementlines" title="Permalink to this definition">¶</a></dt>
+<dd><p>Defines 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
+(<code class="docutils literal"><span class="pre">do</span></code>/<code class="docutils literal"><span class="pre">else</span></code>) until the last line of the inner statement. Default value
+<cite>0</cite> means that braces will be added to all statements (not having them
+already).</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-container-size-empty — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-delete-null-pointer" href="readability-delete-null-pointer.html" />
+    <link rel="prev" title="readability-braces-around-statements" href="readability-braces-around-statements.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-container-size-empty</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-braces-around-statements.html">readability-braces-around-statements</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-delete-null-pointer.html">readability-delete-null-pointer</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 <code class="docutils literal"><span class="pre">size()</span></code> method can be replaced with a call to
+<code class="docutils literal"><span class="pre">empty()</span></code>.</p>
+<p>The emptiness of a container should be checked using the <code class="docutils literal"><span class="pre">empty()</span></code> method
+instead of the <code class="docutils literal"><span class="pre">size()</span></code> method. It is not guaranteed that <code class="docutils literal"><span class="pre">size()</span></code> is a
+constant-time function, and it is generally more efficient and also shows
+clearer intent to use <code class="docutils literal"><span class="pre">empty()</span></code>. Furthermore some containers may implement
+the <code class="docutils literal"><span class="pre">empty()</span></code> method but not implement the <code class="docutils literal"><span class="pre">size()</span></code> method. Using
+<code class="docutils literal"><span class="pre">empty()</span></code> whenever possible makes it easier to switch to another container in
+the future.</p>
+<p>The check issues warning if a container has <code class="docutils literal"><span class="pre">size()</span></code> and <code class="docutils literal"><span class="pre">empty()</span></code> methods
+matching following signatures:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">size_type</span> <span class="nf">size</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
+<span class="kt">bool</span> <span class="nf">empty</span><span class="p">()</span> <span class="k">const</span><span class="p">;</span>
+</pre></div>
+</div>
+<p><cite>size_type</cite> can be any kind of integer type.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-braces-around-statements.html">readability-braces-around-statements</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-delete-null-pointer.html">readability-delete-null-pointer</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-delete-null-pointer.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-delete-null-pointer.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-delete-null-pointer.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-delete-null-pointer.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-delete-null-pointer — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-deleted-default" href="readability-deleted-default.html" />
+    <link rel="prev" title="readability-container-size-empty" href="readability-container-size-empty.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-delete-null-pointer</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-container-size-empty.html">readability-container-size-empty</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-delete-null-pointer">
+<h1>readability-delete-null-pointer<a class="headerlink" href="#readability-delete-null-pointer" title="Permalink to this headline">¶</a></h1>
+<p>Checks the <code class="docutils literal"><span class="pre">if</span></code> statements where a pointer’s existence is checked and then deletes the pointer.
+The check is unnecessary as deleting a null pointer has no effect.</p>
+<div class="code c++ highlight-default"><div class="highlight"><pre><span></span><span class="nb">int</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="p">)</span>
+  <span class="n">delete</span> <span class="n">p</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-container-size-empty.html">readability-container-size-empty</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-deleted-default.html">readability-deleted-default</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-deleted-default — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-else-after-return" href="readability-else-after-return.html" />
+    <link rel="prev" title="readability-delete-null-pointer" href="readability-delete-null-pointer.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-deleted-default</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-delete-null-pointer.html">readability-delete-null-pointer</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 <code class="docutils literal"><span class="pre">=</span> <span class="pre">default</span></code> are
+not actually deleted by the compiler.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Example</span> <span class="p">{</span>
+<span class="k">public</span><span class="o">:</span>
+  <span class="c1">// This constructor is deleted because I is missing a default value.</span>
+  <span class="n">Example</span><span class="p">()</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+  <span class="c1">// This is fine.</span>
+  <span class="n">Example</span><span class="p">(</span><span class="k">const</span> <span class="n">Example</span><span class="o">&</span> <span class="n">Other</span><span class="p">)</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+  <span class="c1">// This operator is deleted because I cannot be assigned (it is const).</span>
+  <span class="n">Example</span><span class="o">&</span> <span class="k">operator</span><span class="o">=</span><span class="p">(</span><span class="k">const</span> <span class="n">Example</span><span class="o">&</span> <span class="n">Other</span><span class="p">)</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+
+<span class="k">private</span><span class="o">:</span>
+  <span class="k">const</span> <span class="kt">int</span> <span class="n">I</span><span class="p">;</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-delete-null-pointer.html">readability-delete-null-pointer</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-else-after-return — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-else-after-return</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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><a class="reference external" href="http://llvm.org/docs/CodingStandards.html">LLVM Coding Standards</a> advises to
+reduce indentation where possible and where it makes understanding code easier.
+Early exit is one of the suggested enforcements of that. Please do not use
+<code class="docutils literal"><span class="pre">else</span></code> or <code class="docutils literal"><span class="pre">else</span> <span class="pre">if</span></code> after something that interrupts control flow - like
+<code class="docutils literal"><span class="pre">return</span></code>, <code class="docutils literal"><span class="pre">break</span></code>, <code class="docutils literal"><span class="pre">continue</span></code>, <code class="docutils literal"><span class="pre">throw</span></code>.</p>
+<p>The following piece of code illustrates how the check works. This piece of code:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">Value</span><span class="p">)</span> <span class="p">{</span>
+  <span class="kt">int</span> <span class="n">Local</span> <span class="o">=</span> <span class="mi">0</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">42</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+    <span class="k">if</span> <span class="p">(</span><span class="n">Value</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+      <span class="k">return</span><span class="p">;</span>
+    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+      <span class="n">Local</span><span class="o">++</span><span class="p">;</span>
+    <span class="p">}</span>
+
+    <span class="k">if</span> <span class="p">(</span><span class="n">Value</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span>
+      <span class="k">continue</span><span class="p">;</span>
+    <span class="k">else</span>
+      <span class="n">Local</span><span class="o">++</span><span class="p">;</span>
+
+    <span class="k">if</span> <span class="p">(</span><span class="n">Value</span> <span class="o">==</span> <span class="mi">3</span><span class="p">)</span> <span class="p">{</span>
+      <span class="k">throw</span> <span class="mi">42</span><span class="p">;</span>
+    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+      <span class="n">Local</span><span class="o">++</span><span class="p">;</span>
+    <span class="p">}</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Would be transformed into:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">Value</span><span class="p">)</span> <span class="p">{</span>
+  <span class="kt">int</span> <span class="n">Local</span> <span class="o">=</span> <span class="mi">0</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">42</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+    <span class="k">if</span> <span class="p">(</span><span class="n">Value</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+      <span class="k">return</span><span class="p">;</span>
+    <span class="p">}</span>
+    <span class="n">Local</span><span class="o">++</span><span class="p">;</span>
+
+    <span class="k">if</span> <span class="p">(</span><span class="n">Value</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span>
+      <span class="k">continue</span><span class="p">;</span>
+    <span class="n">Local</span><span class="o">++</span><span class="p">;</span>
+
+    <span class="k">if</span> <span class="p">(</span><span class="n">Value</span> <span class="o">==</span> <span class="mi">3</span><span class="p">)</span> <span class="p">{</span>
+      <span class="k">throw</span> <span class="mi">42</span><span class="p">;</span>
+    <span class="p">}</span>
+    <span class="n">Local</span><span class="o">++</span><span class="p">;</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>This check helps to enforce this <a class="reference external" href="http://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return">LLVM Coding Standards recommendation</a>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-function-size — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-function-size</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-linethreshold">
+<code class="descname">LineThreshold</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-linethreshold" title="Permalink to this definition">¶</a></dt>
+<dd><p>Flag functions exceeding this number of lines. The default is <cite>-1</cite> (ignore
+the number of lines).</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-statementthreshold">
+<code class="descname">StatementThreshold</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-statementthreshold" title="Permalink to this definition">¶</a></dt>
+<dd><p>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>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-branchthreshold">
+<code class="descname">BranchThreshold</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-branchthreshold" title="Permalink to this definition">¶</a></dt>
+<dd><p>Flag functions exceeding this number of control statements. The default is
+<cite>-1</cite> (ignore the number of branches).</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-parameterthreshold">
+<code class="descname">ParameterThreshold</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-parameterthreshold" title="Permalink to this definition">¶</a></dt>
+<dd><p>Flag functions that exceed a specified number of parameters. The default
+is <cite>-1</cite> (ignore the number of parameters).</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-nestingthreshold">
+<code class="descname">NestingThreshold</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-nestingthreshold" title="Permalink to this definition">¶</a></dt>
+<dd><p>Flag compound statements which create next nesting level after
+<cite>NestingThreshold</cite>. This may differ significantly from the expected value
+for macro-heavy code. The default is <cite>-1</cite> (ignore the nesting level).</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,85 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-implicit-bool-conversion" href="readability-implicit-bool-conversion.html" />
+    <link rel="prev" title="readability-function-size" href="readability-function-size.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-identifier-naming</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-function-size.html">readability-function-size</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-implicit-bool-conversion.html">readability-implicit-bool-conversion</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" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-function-size.html">readability-function-size</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-implicit-bool-conversion.html">readability-implicit-bool-conversion</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,67 @@
+<!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-implicit-bool-conversion.html" http-equiv="refresh" />
+
+    <title>clang-tidy - readability-implicit-bool-cast — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-implicit-bool-cast</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        <a class="uplink" href="../../index.html">Contents</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 has been renamed to <a class="reference external" href="readability-implicit-bool-conversion.html">readability-implicit-bool-conversion</a>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        <a class="uplink" href="../../index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-conversion.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-conversion.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-conversion.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-conversion.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,193 @@
+<!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-conversion — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-implicit-bool-conversion</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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-conversion">
+<h1>readability-implicit-bool-conversion<a class="headerlink" href="#readability-implicit-bool-conversion" 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
+<code class="docutils literal"><span class="pre">bool</span></code> conversion:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Foo</span> <span class="p">{</span>
+  <span class="kt">int</span> <span class="n">m_foo</span><span class="p">;</span>
+
+<span class="k">public</span><span class="o">:</span>
+  <span class="kt">void</span> <span class="n">setFoo</span><span class="p">(</span><span class="kt">bool</span> <span class="n">foo</span><span class="p">)</span> <span class="p">{</span> <span class="n">m_foo</span> <span class="o">=</span> <span class="n">foo</span><span class="p">;</span> <span class="p">}</span> <span class="c1">// warning: implicit conversion bool -> int</span>
+  <span class="kt">int</span> <span class="n">getFoo</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="n">m_foo</span><span class="p">;</span> <span class="p">}</span>
+<span class="p">};</span>
+
+<span class="kt">void</span> <span class="nf">use</span><span class="p">(</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="kt">bool</span> <span class="n">value</span> <span class="o">=</span> <span class="n">foo</span><span class="p">.</span><span class="n">getFoo</span><span class="p">();</span> <span class="c1">// warning: implicit conversion int -> bool</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>This code is the result of unsuccessful refactoring, where type of <code class="docutils literal"><span class="pre">m_foo</span></code>
+changed from <code class="docutils literal"><span class="pre">bool</span></code> to <code class="docutils literal"><span class="pre">int</span></code>. The programmer forgot to change all
+occurrences of <code class="docutils literal"><span class="pre">bool</span></code>, and the remaining code is no longer correct, yet it
+still compiles without any visible warnings.</p>
+<p>In addition to issuing warnings, fix-it hints are provided to help solve the
+reported issues. This can be used for improving readability of code, for
+example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">conversionsToBool</span><span class="p">()</span> <span class="p">{</span>
+  <span class="kt">float</span> <span class="n">floating</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="n">boolean</span> <span class="o">=</span> <span class="n">floating</span><span class="p">;</span>
+  <span class="c1">// ^ propose replacement: bool boolean = floating != 0.0f;</span>
+
+  <span class="kt">int</span> <span class="n">integer</span><span class="p">;</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">integer</span><span class="p">)</span> <span class="p">{}</span>
+  <span class="c1">// ^ propose replacement: if (integer != 0) {}</span>
+
+  <span class="kt">int</span><span class="o">*</span> <span class="n">pointer</span><span class="p">;</span>
+  <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">pointer</span><span class="p">)</span> <span class="p">{}</span>
+  <span class="c1">// ^ propose replacement: if (pointer == nullptr) {}</span>
+
+  <span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="p">{}</span>
+  <span class="c1">// ^ propose replacement: while (true) {}</span>
+<span class="p">}</span>
+
+<span class="kt">void</span> <span class="nf">functionTakingInt</span><span class="p">(</span><span class="kt">int</span> <span class="n">param</span><span class="p">);</span>
+
+<span class="kt">void</span> <span class="nf">conversionsFromBool</span><span class="p">()</span> <span class="p">{</span>
+  <span class="kt">bool</span> <span class="n">boolean</span><span class="p">;</span>
+  <span class="n">functionTakingInt</span><span class="p">(</span><span class="n">boolean</span><span class="p">);</span>
+  <span class="c1">// ^ propose replacement: functionTakingInt(static_cast<int>(boolean));</span>
+
+  <span class="n">functionTakingInt</span><span class="p">(</span><span class="nb">true</span><span class="p">);</span>
+  <span class="c1">// ^ propose replacement: functionTakingInt(1);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>In general, the following conversion types are checked:</p>
+<ul class="simple">
+<li>integer expression/literal to boolean,</li>
+<li>floating expression/literal to boolean,</li>
+<li>pointer/pointer to member/<code class="docutils literal"><span class="pre">nullptr</span></code>/<code class="docutils literal"><span class="pre">NULL</span></code> to boolean,</li>
+<li>boolean expression/literal to integer,</li>
+<li>boolean expression/literal to floating.</li>
+</ul>
+<p>The rules for generating fix-it hints are:</p>
+<ul class="simple">
+<li>in case of conversions from other built-in type to bool, an explicit
+comparison is proposed to make it clear what exaclty is being compared:<ul>
+<li><code class="docutils literal"><span class="pre">bool</span> <span class="pre">boolean</span> <span class="pre">=</span> <span class="pre">floating;</span></code> is changed to
+<code 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></code>,</li>
+<li>for other types, appropriate literals are used (<code class="docutils literal"><span class="pre">0</span></code>, <code class="docutils literal"><span class="pre">0u</span></code>, <code class="docutils literal"><span class="pre">0.0f</span></code>,
+<code class="docutils literal"><span class="pre">0.0</span></code>, <code class="docutils literal"><span class="pre">nullptr</span></code>),</li>
+</ul>
+</li>
+<li>in case of negated expressions conversion to bool, the proposed replacement
+with comparison is simplified:<ul>
+<li><code class="docutils literal"><span class="pre">if</span> <span class="pre">(!pointer)</span></code> is changed to <code class="docutils literal"><span class="pre">if</span> <span class="pre">(pointer</span> <span class="pre">==</span> <span class="pre">nullptr)</span></code>,</li>
+</ul>
+</li>
+<li>in case of conversions from bool to other built-in types, an explicit
+<code class="docutils literal"><span class="pre">static_cast</span></code> is proposed to make it clear that a conversion is taking
+place:<ul>
+<li><code class="docutils literal"><span class="pre">int</span> <span class="pre">integer</span> <span class="pre">=</span> <span class="pre">boolean;</span></code> is changed to
+<code 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></code>,</li>
+</ul>
+</li>
+<li>if the conversion is performed on type literals, an equivalent literal is
+proposed, according to what type is actually expected, for example:<ul>
+<li><code class="docutils literal"><span class="pre">functionTakingBool(0);</span></code> is changed to <code class="docutils literal"><span class="pre">functionTakingBool(false);</span></code>,</li>
+<li><code class="docutils literal"><span class="pre">functionTakingInt(true);</span></code> is changed to <code class="docutils literal"><span class="pre">functionTakingInt(1);</span></code>,</li>
+<li>for other types, appropriate literals are used (<code class="docutils literal"><span class="pre">false</span></code>, <code class="docutils literal"><span class="pre">true</span></code>, <code class="docutils literal"><span class="pre">0</span></code>,
+<code class="docutils literal"><span class="pre">1</span></code>, <code class="docutils literal"><span class="pre">0u</span></code>, <code class="docutils literal"><span class="pre">1u</span></code>, <code class="docutils literal"><span class="pre">0.0f</span></code>, <code class="docutils literal"><span class="pre">1.0f</span></code>, <code class="docutils literal"><span class="pre">0.0</span></code>, <code class="docutils literal"><span class="pre">1.0f</span></code>).</li>
+</ul>
+</li>
+</ul>
+<p>Some additional accommodations are made for pre-C++11 dialects:</p>
+<ul class="simple">
+<li><code class="docutils literal"><span class="pre">false</span></code> literal conversion to pointer is detected,</li>
+<li>instead of <code class="docutils literal"><span class="pre">nullptr</span></code> literal, <code class="docutils literal"><span class="pre">0</span></code> is proposed as replacement.</li>
+</ul>
+<p>Occurrences of implicit conversions inside macros and template instantiations
+are deliberately ignored, as it is not clear how to deal with such cases.</p>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-allowintegerconditions">
+<code class="descname">AllowIntegerConditions</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-allowintegerconditions" title="Permalink to this definition">¶</a></dt>
+<dd><p>When non-zero, the check will allow conditional integer conversions. Default
+is <cite>0</cite>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-allowpointerconditions">
+<code class="descname">AllowPointerConditions</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-allowpointerconditions" title="Permalink to this definition">¶</a></dt>
+<dd><p>When non-zero, the check will allow conditional pointer conversions. Default
+is <cite>0</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.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/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,106 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-misleading-indentation" href="readability-misleading-indentation.html" />
+    <link rel="prev" title="readability-implicit-bool-conversion" href="readability-implicit-bool-conversion.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-inconsistent-declaration-parameter-name</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-implicit-bool-conversion.html">readability-implicit-bool-conversion</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-misleading-indentation.html">readability-misleading-indentation</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>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// in foo.hpp:</span>
+<span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">a</span><span class="p">,</span> <span class="kt">int</span> <span class="n">b</span><span class="p">,</span> <span class="kt">int</span> <span class="n">c</span><span class="p">);</span>
+
+<span class="c1">// in foo.cpp:</span>
+<span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">d</span><span class="p">,</span> <span class="kt">int</span> <span class="n">e</span><span class="p">,</span> <span class="kt">int</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// warning</span>
+</pre></div>
+</div>
+<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>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">a</span><span class="p">);</span>
+<span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span><span class="p">);</span> <span class="c1">// no warning</span>
+</pre></div>
+</div>
+<p>To help with refactoring, in some cases fix-it 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>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// warning and fix-it hint (replace "a" to "b")</span>
+<span class="kt">int</span> <span class="nf">foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">b</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="n">b</span> <span class="o">+</span> <span class="mi">2</span><span class="p">;</span> <span class="p">}</span> <span class="c1">// definition with use of "b"</span>
+</pre></div>
+</div>
+<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" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-implicit-bool-conversion.html">readability-implicit-bool-conversion</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-misleading-indentation.html">readability-misleading-indentation</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misleading-indentation.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misleading-indentation.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misleading-indentation.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misleading-indentation.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-misleading-indentation — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-misplaced-array-index" href="readability-misplaced-array-index.html" />
+    <link rel="prev" title="readability-inconsistent-declaration-parameter-name" href="readability-inconsistent-declaration-parameter-name.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-misleading-indentation</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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-misplaced-array-index.html">readability-misplaced-array-index</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-misleading-indentation">
+<h1>readability-misleading-indentation<a class="headerlink" href="#readability-misleading-indentation" title="Permalink to this headline">¶</a></h1>
+<p>Correct indentation helps to understand code. Mismatch of the syntactical
+structure and the indentation of the code may hide serious problems.
+Missing braces can also make it significantly harder to read the code,
+therefore it is important to use braces.</p>
+<p>The way to avoid dangling else is to always check that an <code class="docutils literal"><span class="pre">else</span></code> belongs
+to the <code class="docutils literal"><span class="pre">if</span></code> that begins in the same column.</p>
+<p>You can omit braces when your inner part of e.g. an <code class="docutils literal"><span class="pre">if</span></code> statement has only
+one statement in it. Although in that case you should begin the next statement
+in the same column with the <code class="docutils literal"><span class="pre">if</span></code>.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// Dangling else:</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">cond1</span><span class="p">)</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">cond2</span><span class="p">)</span>
+    <span class="n">foo1</span><span class="p">();</span>
+<span class="k">else</span>
+  <span class="nf">foo2</span><span class="p">();</span>  <span class="c1">// Wrong indentation: else belongs to if(cond2) statement.</span>
+
+<span class="c1">// Missing braces:</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">cond1</span><span class="p">)</span>
+  <span class="n">foo1</span><span class="p">();</span>
+  <span class="n">foo2</span><span class="p">();</span>  <span class="c1">// Not guarded by if(cond1).</span>
+</pre></div>
+</div>
+<div class="section" id="limitations">
+<h2>Limitations<a class="headerlink" href="#limitations" title="Permalink to this headline">¶</a></h2>
+<p>Note that this check only works as expected when the tabs or spaces are used
+consistently and not mixed.</p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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-misplaced-array-index.html">readability-misplaced-array-index</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misplaced-array-index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misplaced-array-index.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misplaced-array-index.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misplaced-array-index.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-misplaced-array-index — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-named-parameter" href="readability-named-parameter.html" />
+    <link rel="prev" title="readability-misleading-indentation" href="readability-misleading-indentation.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-misplaced-array-index</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-misleading-indentation.html">readability-misleading-indentation</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-misplaced-array-index">
+<h1>readability-misplaced-array-index<a class="headerlink" href="#readability-misplaced-array-index" title="Permalink to this headline">¶</a></h1>
+<p>This check warns for unusual array index syntax.</p>
+<p>The following code has unusual array index syntax:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">f</span><span class="p">(</span><span class="kt">int</span> <span class="o">*</span><span class="n">X</span><span class="p">,</span> <span class="kt">int</span> <span class="n">Y</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">Y</span><span class="p">[</span><span class="n">X</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">f</span><span class="p">(</span><span class="kt">int</span> <span class="o">*</span><span class="n">X</span><span class="p">,</span> <span class="kt">int</span> <span class="n">Y</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">X</span><span class="p">[</span><span class="n">Y</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<dl class="docutils">
+<dt>The check warns about such unusual syntax for readability reasons:</dt>
+<dd><ul class="first last simple">
+<li>There are programmers that are not familiar with this unusual syntax.</li>
+<li>It is possible that variables are mixed up.</li>
+</ul>
+</dd>
+</dl>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-misleading-indentation.html">readability-misleading-indentation</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-named-parameter.html">readability-named-parameter</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-named-parameter — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-non-const-parameter" href="readability-non-const-parameter.html" />
+    <link rel="prev" title="readability-misplaced-array-index" href="readability-misplaced-array-index.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-named-parameter</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-misplaced-array-index.html">readability-misplaced-array-index</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-non-const-parameter.html">readability-non-const-parameter</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" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-misplaced-array-index.html">readability-misplaced-array-index</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-non-const-parameter.html">readability-non-const-parameter</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-non-const-parameter.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-non-const-parameter.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-non-const-parameter.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-non-const-parameter.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-non-const-parameter — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-control-flow" href="readability-redundant-control-flow.html" />
+    <link rel="prev" title="readability-named-parameter" href="readability-named-parameter.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-non-const-parameter</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-named-parameter.html">readability-named-parameter</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-non-const-parameter">
+<h1>readability-non-const-parameter<a class="headerlink" href="#readability-non-const-parameter" title="Permalink to this headline">¶</a></h1>
+<p>The check finds function parameters of a pointer type that could be changed to
+point to a constant type instead.</p>
+<p>When <code class="docutils literal"><span class="pre">const</span></code> is used properly, many mistakes can be avoided. Advantages when
+using <code class="docutils literal"><span class="pre">const</span></code> properly:</p>
+<ul class="simple">
+<li>prevent unintentional modification of data;</li>
+<li>get additional warnings such as using uninitialized data;</li>
+<li>make it easier for developers to see possible side effects.</li>
+</ul>
+<p>This check is not strict about constness, it only warns when the constness will
+make the function interface safer.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// warning here; the declaration "const char *p" would make the function</span>
+<span class="c1">// interface safer.</span>
+<span class="kt">char</span> <span class="nf">f1</span><span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="n">p</span><span class="p">)</span> <span class="p">{</span>
+  <span class="k">return</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="c1">// no warning; the declaration could be more const "const int * const p" but</span>
+<span class="c1">// that does not make the function interface safer.</span>
+<span class="kt">int</span> <span class="nf">f2</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="o">*</span><span class="n">p</span><span class="p">)</span> <span class="p">{</span>
+  <span class="k">return</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="c1">// no warning; making x const does not make the function interface safer</span>
+<span class="kt">int</span> <span class="nf">f3</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="k">return</span> <span class="n">x</span><span class="p">;</span>
+<span class="p">}</span>
+
+<span class="c1">// no warning; Technically, *p can be const ("const struct S *p"). But making</span>
+<span class="c1">// *p const could be misleading. People might think that it's safe to pass</span>
+<span class="c1">// const data to this function.</span>
+<span class="k">struct</span> <span class="n">S</span> <span class="p">{</span> <span class="kt">int</span> <span class="o">*</span><span class="n">a</span><span class="p">;</span> <span class="kt">int</span> <span class="o">*</span><span class="n">b</span><span class="p">;</span> <span class="p">};</span>
+<span class="kt">int</span> <span class="nf">f3</span><span class="p">(</span><span class="k">struct</span> <span class="n">S</span> <span class="o">*</span><span class="n">p</span><span class="p">)</span> <span class="p">{</span>
+  <span class="o">*</span><span class="p">(</span><span class="n">p</span><span class="o">-></span><span class="n">a</span><span class="p">)</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-named-parameter.html">readability-named-parameter</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html Thu Mar  8 02:24:44 2018
@@ -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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-declaration" href="readability-redundant-declaration.html" />
+    <link rel="prev" title="readability-non-const-parameter" href="readability-non-const-parameter.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-control-flow</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-non-const-parameter.html">readability-non-const-parameter</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-declaration.html">readability-redundant-declaration</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 <code class="docutils literal"><span class="pre">return</span></code>
+statements at the end of the function. Such <code class="docutils literal"><span class="pre">return</span></code> statements are redundant.</p>
+<p>Loop statements (<code class="docutils literal"><span class="pre">for</span></code>, <code class="docutils literal"><span class="pre">while</span></code>, <code class="docutils literal"><span class="pre">do</span> <span class="pre">while</span></code>) are checked for redundant
+<code class="docutils literal"><span class="pre">continue</span></code> statements at the end of the loop body.</p>
+<p>Examples:</p>
+<p>The following function <cite>f</cite> contains a redundant <code class="docutils literal"><span class="pre">return</span></code> statement:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">extern</span> <span class="kt">void</span> <span class="nf">g</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="n">g</span><span class="p">();</span>
+  <span class="k">return</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">extern</span> <span class="kt">void</span> <span class="nf">g</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="n">g</span><span class="p">();</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The following function <cite>k</cite> contains a redundant <code class="docutils literal"><span class="pre">continue</span></code> statement:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">k</span><span class="p">()</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">10</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+    <span class="k">continue</span><span class="p">;</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">k</span><span class="p">()</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">10</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="p">}</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-non-const-parameter.html">readability-non-const-parameter</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-declaration.html">readability-redundant-declaration</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,105 @@
+<!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-declaration — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-function-ptr-dereference" href="readability-redundant-function-ptr-dereference.html" />
+    <link rel="prev" title="readability-redundant-control-flow" href="readability-redundant-control-flow.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-declaration</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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-function-ptr-dereference.html">readability-redundant-function-ptr-dereference</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-declaration">
+<h1>readability-redundant-declaration<a class="headerlink" href="#readability-redundant-declaration" title="Permalink to this headline">¶</a></h1>
+<p>Finds redundant variable and function declarations.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">extern</span> <span class="kt">int</span> <span class="n">X</span><span class="p">;</span>
+<span class="k">extern</span> <span class="kt">int</span> <span class="n">X</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>becomes</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">extern</span> <span class="kt">int</span> <span class="n">X</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>Such redundant declarations can be removed without changing program behaviour.
+They can for instance be unintentional left overs from previous refactorings
+when code has been moved around. Having redundant declarations could in worst
+case mean that there are typos in the code that cause bugs.</p>
+<p>Normally the code can be automatically fixed, <strong class="program">clang-tidy</strong> can remove
+the second declaration. However there are 2 cases when you need to fix the code
+manually:</p>
+<ul class="simple">
+<li>When the declarations are in different header files;</li>
+<li>When multiple variables are declared together.</li>
+</ul>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-ignoremacros">
+<code class="descname">IgnoreMacros</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-ignoremacros" title="Permalink to this definition">¶</a></dt>
+<dd><p>If set to non-zero, the check will not give warnings inside macros. Default
+is <cite>1</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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-function-ptr-dereference.html">readability-redundant-function-ptr-dereference</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-redundant-function-ptr-dereference — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-member-init" href="readability-redundant-member-init.html" />
+    <link rel="prev" title="readability-redundant-declaration" href="readability-redundant-declaration.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-function-ptr-dereference</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-redundant-declaration.html">readability-redundant-declaration</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-member-init.html">readability-redundant-member-init</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-function-ptr-dereference">
+<h1>readability-redundant-function-ptr-dereference<a class="headerlink" href="#readability-redundant-function-ptr-dereference" title="Permalink to this headline">¶</a></h1>
+<p>Finds redundant dereferences of a function pointer.</p>
+<p>Before:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">f</span><span class="p">(</span><span class="kt">int</span><span class="p">,</span><span class="kt">int</span><span class="p">);</span>
+<span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="p">)(</span><span class="kt">int</span><span class="p">,</span> <span class="kt">int</span><span class="p">)</span> <span class="o">=</span> <span class="o">&</span><span class="n">f</span><span class="p">;</span>
+
+<span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="p">(</span><span class="o">**</span><span class="n">p</span><span class="p">)(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">50</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>After:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="kt">int</span> <span class="nf">f</span><span class="p">(</span><span class="kt">int</span><span class="p">,</span><span class="kt">int</span><span class="p">);</span>
+<span class="kt">int</span> <span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="p">)(</span><span class="kt">int</span><span class="p">,</span> <span class="kt">int</span><span class="p">)</span> <span class="o">=</span> <span class="o">&</span><span class="n">f</span><span class="p">;</span>
+
+<span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="p">(</span><span class="o">*</span><span class="n">p</span><span class="p">)(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">50</span><span class="p">);</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-redundant-declaration.html">readability-redundant-declaration</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-member-init.html">readability-redundant-member-init</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html Thu Mar  8 02:24:44 2018
@@ -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-redundant-member-init — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-smartptr-get" href="readability-redundant-smartptr-get.html" />
+    <link rel="prev" title="readability-redundant-function-ptr-dereference" href="readability-redundant-function-ptr-dereference.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-member-init</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-redundant-function-ptr-dereference.html">readability-redundant-function-ptr-dereference</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-member-init">
+<h1>readability-redundant-member-init<a class="headerlink" href="#readability-redundant-member-init" title="Permalink to this headline">¶</a></h1>
+<p>Finds member initializations that are unnecessary because the same default
+constructor would be called if they were not present.</p>
+<p>Example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// Explicitly initializing the member s is unnecessary.</span>
+<span class="k">class</span> <span class="nc">Foo</span> <span class="p">{</span>
+<span class="k">public</span><span class="o">:</span>
+  <span class="n">Foo</span><span class="p">()</span> <span class="o">:</span> <span class="n">s</span><span class="p">()</span> <span class="p">{}</span>
+
+<span class="k">private</span><span class="o">:</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="p">};</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-redundant-function-ptr-dereference.html">readability-redundant-function-ptr-dereference</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html Thu Mar  8 02:24:44 2018
@@ -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-redundant-smartptr-get — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-string-cstr" href="readability-redundant-string-cstr.html" />
+    <link rel="prev" title="readability-redundant-member-init" href="readability-redundant-member-init.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-smartptr-get</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-redundant-member-init.html">readability-redundant-member-init</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><cite>google-readability-redundant-smartptr-get</cite> redirects here as an alias for this
+check.</p>
+<p>Find and remove redundant calls to smart pointer’s <code class="docutils literal"><span class="pre">.get()</span></code> method.</p>
+<p>Examples:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">ptr</span><span class="p">.</span><span class="n">get</span><span class="p">()</span><span class="o">-></span><span class="n">Foo</span><span class="p">()</span>  <span class="o">==></span>  <span class="n">ptr</span><span class="o">-></span><span class="n">Foo</span><span class="p">()</span>
+<span class="o">*</span><span class="n">ptr</span><span class="p">.</span><span class="n">get</span><span class="p">()</span>  <span class="o">==></span>  <span class="o">*</span><span class="n">ptr</span>
+<span class="o">*</span><span class="n">ptr</span><span class="o">-></span><span class="n">get</span><span class="p">()</span>  <span class="o">==></span>  <span class="o">**</span><span class="n">ptr</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-redundant-member-init.html">readability-redundant-member-init</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html Thu Mar  8 02:24:44 2018
@@ -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-redundant-string-cstr — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-string-cstr</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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 <code class="docutils literal"><span class="pre">std::string::c_str()</span></code> and <code class="docutils literal"><span class="pre">std::string::data()</span></code>.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-redundant-string-init — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-string-init</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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="highlight-c++"><div class="highlight"><pre><span></span><span class="c1">// Initializing string with empty string literal is unnecessary.</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span> <span class="o">=</span> <span class="s">""</span><span class="p">;</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">b</span><span class="p">(</span><span class="s">""</span><span class="p">);</span>
+
+<span class="c1">// becomes</span>
+
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">a</span><span class="p">;</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">b</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,202 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-static-accessed-through-instance" href="readability-static-accessed-through-instance.html" />
+    <link rel="prev" title="readability-redundant-string-init" href="readability-redundant-string-init.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-simplify-boolean-expr</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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-accessed-through-instance.html">readability-static-accessed-through-instance</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><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">==</span> <span class="pre">true)</span></code></td>
+<td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b)</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">==</span> <span class="pre">false)</span></code></td>
+<td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(!b)</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">&&</span> <span class="pre">true)</span></code></td>
+<td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b)</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">&&</span> <span class="pre">false)</span></code></td>
+<td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(false)</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">true)</span></code></td>
+<td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(true)</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">false)</span></code></td>
+<td><code class="docutils literal"><span class="pre">if</span> <span class="pre">(b)</span></code></td>
+</tr>
+<tr class="row-even"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">e</span></code></td>
+</tr>
+<tr class="row-odd"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">!e</span></code></td>
+</tr>
+<tr class="row-even"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">t();</span></code></td>
+</tr>
+<tr class="row-odd"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">f();</span></code></td>
+</tr>
+<tr class="row-even"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">return</span> <span class="pre">e;</span></code></td>
+</tr>
+<tr class="row-odd"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">return</span> <span class="pre">!e;</span></code></td>
+</tr>
+<tr class="row-even"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">b</span> <span class="pre">=</span> <span class="pre">e;</span></code></td>
+</tr>
+<tr class="row-odd"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">b</span> <span class="pre">=</span> <span class="pre">!e;</span></code></td>
+</tr>
+<tr class="row-even"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">return</span> <span class="pre">e;</span></code></td>
+</tr>
+<tr class="row-odd"><td><code 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></code></td>
+<td><code class="docutils literal"><span class="pre">return</span> <span class="pre">!e;</span></code></td>
+</tr>
+</tbody>
+</table>
+<dl class="docutils">
+<dt>The resulting expression <code class="docutils literal"><span class="pre">e</span></code> 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 <code class="docutils literal"><span class="pre">!</span></code> 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
+<code class="docutils literal"><span class="pre">bool</span></code> are replaced with explicit comparisons to <code class="docutils literal"><span class="pre">nullptr</span></code> in C++11
+or <code class="docutils literal"><span class="pre">NULL</span></code> in C++98/03.</li>
+<li>Implicit casts to <code class="docutils literal"><span class="pre">bool</span></code> are replaced with explicit casts to <code class="docutils literal"><span class="pre">bool</span></code>.</li>
+<li>Object expressions with <code class="docutils literal"><span class="pre">explicit</span> <span class="pre">operator</span> <span class="pre">bool</span></code> conversion operators
+are replaced with explicit casts to <code class="docutils literal"><span class="pre">bool</span></code>.</li>
+<li>Implicit conversions of integral types to <code class="docutils literal"><span class="pre">bool</span></code> are replaced with
+explicit comparisons to <code class="docutils literal"><span class="pre">0</span></code>.</li>
+</ol>
+</dd>
+<dt>Examples:</dt>
+<dd><ol class="first last arabic">
+<li><p class="first">The ternary assignment <code 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></code> has redundant
+parentheses and becomes <code 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></code>.</p>
+</li>
+<li><p class="first">The conditional return <code 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></code> has an
+implied double negation and becomes <code class="docutils literal"><span class="pre">return</span> <span class="pre">b;</span></code>.</p>
+</li>
+<li><p class="first">The conditional return <code 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></code> becomes
+<code class="docutils literal"><span class="pre">return</span> <span class="pre">i</span> <span class="pre">>=</span> <span class="pre">0;</span></code>.</p>
+<p>The conditional return <code 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></code> becomes
+<code class="docutils literal"><span class="pre">return</span> <span class="pre">i</span> <span class="pre">==</span> <span class="pre">0;</span></code>.</p>
+</li>
+<li><p class="first">The conditional return <code 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></code> has an
+implicit conversion of a pointer to <code class="docutils literal"><span class="pre">bool</span></code> and becomes
+<code class="docutils literal"><span class="pre">return</span> <span class="pre">p</span> <span class="pre">!=</span> <span class="pre">nullptr;</span></code>.</p>
+<p>The ternary assignment <code 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></code> has an
+implicit conversion of <code class="docutils literal"><span class="pre">i</span> <span class="pre">&</span> <span class="pre">1</span></code> to <code class="docutils literal"><span class="pre">bool</span></code> and becomes
+<code 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></code>.</p>
+</li>
+<li><p class="first">The conditional return <code 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></code> has
+an implicit conversion of an integer quantity <code class="docutils literal"><span class="pre">i</span> <span class="pre">&</span> <span class="pre">1</span></code> to <code class="docutils literal"><span class="pre">bool</span></code> and
+becomes <code 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></code></p>
+</li>
+<li><p class="first">Given <code 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></code>, and an instance <code class="docutils literal"><span class="pre">x</span></code> of
+<code class="docutils literal"><span class="pre">struct</span> <span class="pre">X</span></code>, the conditional return <code 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></code>
+becomes <code class="docutils literal"><span class="pre">return</span> <span class="pre">static_cast<bool>(x);</span></code></p>
+</li>
+</ol>
+</dd>
+</dl>
+<div class="section" id="options">
+<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-arg-chainedconditionalreturn">
+<code class="descname">ChainedConditionalReturn</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-chainedconditionalreturn" title="Permalink to this definition">¶</a></dt>
+<dd><p>If non-zero, conditional boolean return statements at the end of an
+<code class="docutils literal"><span class="pre">if/else</span> <span class="pre">if</span></code> chain will be transformed. Default is <cite>0</cite>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-arg-chainedconditionalassignment">
+<code class="descname">ChainedConditionalAssignment</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-chainedconditionalassignment" title="Permalink to this definition">¶</a></dt>
+<dd><p>If non-zero, conditional boolean assignments at the end of an <code class="docutils literal"><span class="pre">if/else</span>
+<span class="pre">if</span></code> chain will be transformed. Default is <cite>0</cite>.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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-accessed-through-instance.html">readability-static-accessed-through-instance</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html Thu Mar  8 02:24:44 2018
@@ -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-static-accessed-through-instance — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-static-definition-in-anonymous-namespace" href="readability-static-definition-in-anonymous-namespace.html" />
+    <link rel="prev" title="readability-simplify-boolean-expr" href="readability-simplify-boolean-expr.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-static-accessed-through-instance</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</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-static-accessed-through-instance">
+<h1>readability-static-accessed-through-instance<a class="headerlink" href="#readability-static-accessed-through-instance" title="Permalink to this headline">¶</a></h1>
+<p>Checks for member expressions that access static members through instances, and
+replaces them with uses of the appropriate qualified-id.</p>
+<p>Example:</p>
+<p>The following code:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="n">C</span> <span class="p">{</span>
+  <span class="k">static</span> <span class="kt">void</span> <span class="n">foo</span><span class="p">();</span>
+  <span class="k">static</span> <span class="kt">int</span> <span class="n">x</span><span class="p">;</span>
+<span class="p">};</span>
+
+<span class="n">C</span> <span class="o">*</span><span class="n">c1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">C</span><span class="p">();</span>
+<span class="n">c1</span><span class="o">-></span><span class="n">foo</span><span class="p">();</span>
+<span class="n">c1</span><span class="o">-></span><span class="n">x</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>is changed to:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="n">C</span> <span class="o">*</span><span class="n">c1</span> <span class="o">=</span> <span class="k">new</span> <span class="n">C</span><span class="p">();</span>
+<span class="n">C</span><span class="o">::</span><span class="n">foo</span><span class="p">();</span>
+<span class="n">C</span><span class="o">::</span><span class="n">x</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-simplify-boolean-expr.html">readability-simplify-boolean-expr</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.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/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,85 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-uniqueptr-delete-release" href="readability-uniqueptr-delete-release.html" />
+    <link rel="prev" title="readability-static-accessed-through-instance" href="readability-static-accessed-through-instance.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-static-definition-in-anonymous-namespace</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-static-accessed-through-instance.html">readability-static-accessed-through-instance</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, <code class="docutils literal"><span class="pre">static</span></code> is redundant, because anonymous namespace limits the
+visibility of definitions to a single translation unit.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">namespace</span> <span class="p">{</span>
+  <span class="k">static</span> <span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="c1">// Warning.</span>
+  <span class="k">static</span> <span class="k">const</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="c1">// Warning.</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The check will apply a fix by removing the redundant <code class="docutils literal"><span class="pre">static</span></code> qualifier.</p>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-static-accessed-through-instance.html">readability-static-accessed-through-instance</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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html Thu Mar  8 02:24:44 2018
@@ -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 - readability-uniqueptr-delete-release — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-uniqueptr-delete-release</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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 <code class="docutils literal"><span class="pre">delete</span> <span class="pre"><unique_ptr>.release()</span></code> with <code class="docutils literal"><span class="pre"><unique_ptr></span> <span class="pre">=</span> <span class="pre">nullptr</span></code>.
+The latter is shorter, simpler and does not require use of raw pointer APIs.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></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">P</span><span class="p">;</span>
+<span class="k">delete</span> <span class="n">P</span><span class="p">.</span><span class="n">release</span><span class="p">();</span>
+
+<span class="c1">// becomes</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">P</span><span class="p">;</span>
+<span class="n">P</span> <span class="o">=</span> <span class="k">nullptr</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,755 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Clang-Tidy Checks" href="checks/list.html" />
+    <link rel="prev" title="Extra Clang Tools 6.0.0 Release Notes" href="../ReleaseNotes.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Clang-Tidy</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="../ReleaseNotes.html">Extra Clang Tools 6.0.0 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="#id2">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="id2">Clang-Tidy</a><ul>
+<li><a class="reference internal" href="#using-clang-tidy" id="id3">Using clang-tidy</a></li>
+<li><a class="reference internal" href="#getting-involved" id="id4">Getting Involved</a><ul>
+<li><a class="reference internal" href="#choosing-the-right-place-for-your-check" id="id5">Choosing the Right Place for your Check</a></li>
+<li><a class="reference internal" href="#preparing-your-workspace" id="id6">Preparing your Workspace</a></li>
+<li><a class="reference internal" href="#the-directory-structure" id="id7">The Directory Structure</a></li>
+<li><a class="reference internal" href="#writing-a-clang-tidy-check" id="id8">Writing a clang-tidy Check</a></li>
+<li><a class="reference internal" href="#registering-your-check" id="id9">Registering your Check</a></li>
+<li><a class="reference internal" href="#configuring-checks" id="id10">Configuring Checks</a></li>
+<li><a class="reference internal" href="#testing-checks" id="id11">Testing Checks</a></li>
+<li><a class="reference internal" href="#running-clang-tidy-on-llvm" id="id12">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="#id3">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 <code class="docutils literal"><span class="pre">--</span></code>:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><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
+<code class="docutils literal"><span class="pre">-checks=</span></code> option, which specifies a comma-separated list of positive and
+negative (prefixed with <code class="docutils literal"><span class="pre">-</span></code>) globs. Positive globs add subsets of checks,
+negative globs remove them. For example,</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> clang-tidy test.cpp -checks<span class="o">=</span>-*,clang-analyzer-*,-clang-analyzer-cplusplus*
+</pre></div>
+</div>
+<p>will disable all default checks (<code class="docutils literal"><span class="pre">-*</span></code>) and enable all <code class="docutils literal"><span class="pre">clang-analyzer-*</span></code>
+checks except for <code class="docutils literal"><span class="pre">clang-analyzer-cplusplus*</span></code> ones.</p>
+<p>The <code class="docutils literal"><span class="pre">-list-checks</span></code> option lists all the enabled checks. When used without
+<code class="docutils literal"><span class="pre">-checks=</span></code>, it shows checks enabled by default. Use <code class="docutils literal"><span class="pre">-checks=*</span></code> to see all
+available checks or with any other value of <code class="docutils literal"><span class="pre">-checks=</span></code> to see which checks are
+enabled by this value.</p>
+<p id="checks-groups-table">There are currently the following groups of checks:</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="28%" />
+<col width="72%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name prefix</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">android-</span></code></td>
+<td>Checks related to Android.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">boost-</span></code></td>
+<td>Checks related to Boost library.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">bugprone-</span></code></td>
+<td>Checks that target bugprone code constructs.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">cert-</span></code></td>
+<td>Checks related to CERT Secure Coding Guidelines.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">cppcoreguidelines-</span></code></td>
+<td>Checks related to C++ Core Guidelines.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">clang-analyzer-</span></code></td>
+<td>Clang Static Analyzer checks.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">fuchsia-</span></code></td>
+<td>Checks related to Fuchsia coding conventions.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">google-</span></code></td>
+<td>Checks related to Google coding conventions.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">hicpp-</span></code></td>
+<td>Checks related to High Integrity C++ Coding Standard.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">llvm-</span></code></td>
+<td>Checks related to the LLVM coding conventions.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">misc-</span></code></td>
+<td>Checks that we didn’t have a better category for.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">modernize-</span></code></td>
+<td>Checks that advocate usage of modern (currently “modern”
+means “C++11”) language constructs.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">mpi-</span></code></td>
+<td>Checks related to MPI (Message Passing Interface).</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">objc-</span></code></td>
+<td>Checks related to Objective-C coding conventions.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal"><span class="pre">performance-</span></code></td>
+<td>Checks that target performance-related issues.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal"><span class="pre">readability-</span></code></td>
+<td>Checks that target readability-related issues that don’t
+relate to any particular coding style.</td>
+</tr>
+</tbody>
+</table>
+<p>Clang diagnostics are treated in a similar way as check diagnostics. Clang
+diagnostics are displayed by <strong class="program">clang-tidy</strong> and can be filtered out using
+<code class="docutils literal"><span class="pre">-checks=</span></code> option. However, the <code class="docutils literal"><span class="pre">-checks=</span></code> option does not affect
+compilation arguments, so it can not turn on Clang warnings which are not
+already turned on in build configuration. The <code class="docutils literal"><span class="pre">-warnings-as-errors=</span></code> option
+upgrades any warnings emitted under the <code class="docutils literal"><span class="pre">-checks=</span></code> flag to errors (but it
+does not enable any checks itself).</p>
+<p>Clang diagnostics have check names starting with <code class="docutils literal"><span class="pre">clang-diagnostic-</span></code>.
+Diagnostics which have a corresponding warning option, are named
+<code class="docutils literal"><span class="pre">clang-diagnostic-<warning-option></span></code>, e.g. Clang warning controlled by
+<code class="docutils literal"><span class="pre">-Wliteral-conversion</span></code> will be reported with check name
+<code class="docutils literal"><span class="pre">clang-diagnostic-literal-conversion</span></code>.</p>
+<p>The <code class="docutils literal"><span class="pre">-fix</span></code> 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></span><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">  -explain-config              -</span>
+<span class="go">                                 For each enabled check explains, where it is</span>
+<span class="go">                                 enabled, i.e. in clang-tidy binary, command</span>
+<span class="go">                                 line or a specific configuration file.</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 source</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">  -format-style=<string>       -</span>
+<span class="go">                                 Style for formatting code around applied fixes:</span>
+<span class="go">                                   - 'none' (default) turns off formatting</span>
+<span class="go">                                   - 'file' (literally 'file', not a placeholder)</span>
+<span class="go">                                     uses .clang-format file in the closest parent</span>
+<span class="go">                                     directory</span>
+<span class="go">                                   - '{ <json> }' specifies options inline, e.g.</span>
+<span class="go">                                     -format-style='{BasedOnStyle: llvm, IndentWidth: 8}'</span>
+<span class="go">                                   - 'llvm', 'google', 'webkit', 'mozilla'</span>
+<span class="go">                                 See clang-format documentation for the up-to-date</span>
+<span class="go">                                 information about formatting styles and options.</span>
+<span class="go">                                 This option overrides the 'FormatStyle` option in</span>
+<span class="go">                                 .clang-tidy file, if any.</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">  -quiet                       -</span>
+<span class="go">                                 Run clang-tidy in quiet mode. This suppresses</span>
+<span class="go">                                 printing statistics about ignored warnings and</span>
+<span class="go">                                 warnings treated as errors if the respective</span>
+<span class="go">                                 options are specified.</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="gp">    $</span> clang-tidy -dump-config
+<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">    FormatStyle:     none</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>
+<p><strong class="program">clang-tidy</strong> diagnostics are intended to call out code that does
+not adhere to a coding standard, or is otherwise problematic in some way.
+However, if it is known that the code is correct, the check-specific ways
+to silence the diagnostics could be used, if they are available (e.g.
+bugprone-use-after-move can be silenced by re-initializing the variable after
+it has been moved out, misc-string-integer-assignment can be suppressed by
+explicitly casting the integer to char, readability-implicit-bool-conversion
+can also be suppressed by using explicit casts, etc.). If they are not
+available or if changing the semantics of the code is not desired,
+the <code class="docutils literal"><span class="pre">NOLINT</span></code> or <code class="docutils literal"><span class="pre">NOLINTNEXTLINE</span></code> comments can be used instead. For example:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Foo</span>
+<span class="p">{</span>
+  <span class="c1">// Silent all the diagnostics for the line</span>
+  <span class="n">Foo</span><span class="p">(</span><span class="kt">int</span> <span class="n">param</span><span class="p">);</span> <span class="c1">// NOLINT</span>
+
+  <span class="c1">// Silent only the specified checks for the line</span>
+  <span class="n">Foo</span><span class="p">(</span><span class="kt">double</span> <span class="n">param</span><span class="p">);</span> <span class="c1">// NOLINT(google-explicit-constructor, google-runtime-int)</span>
+
+  <span class="c1">// Silent only the specified diagnostics for the next line</span>
+  <span class="c1">// NOLINTNEXTLINE(google-explicit-constructor, google-runtime-int)</span>
+  <span class="n">Foo</span><span class="p">(</span><span class="kt">bool</span> <span class="n">param</span><span class="p">);</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<p>The formal syntax of <code class="docutils literal"><span class="pre">NOLINT</span></code>/<code class="docutils literal"><span class="pre">NOLINTNEXTLINE</span></code> is the following:</p>
+<pre class="literal-block">
+lint-comment:
+  lint-command
+  lint-command lint-args
+
+lint-args:
+  <strong>(</strong> check-name-list <strong>)</strong>
+
+check-name-list:
+  <em>check-name</em>
+  check-name-list <strong>,</strong> <em>check-name</em>
+
+lint-command:
+  <strong>NOLINT</strong>
+  <strong>NOLINTNEXTLINE</strong>
+</pre>
+<p>Note that whitespaces between <code class="docutils literal"><span class="pre">NOLINT</span></code>/<code class="docutils literal"><span class="pre">NOLINTNEXTLINE</span></code> and the opening
+parenthesis are not allowed (in this case the comment will be treated just as
+<code class="docutils literal"><span class="pre">NOLINT</span></code>/<code class="docutils literal"><span class="pre">NOLINTNEXTLINE</span></code>), whereas in check names list (inside
+the parenthesis) whitespaces can be used and will be ignored.</p>
+</div>
+<div class="section" id="getting-involved">
+<h2><a class="toc-backref" href="#id4">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 <strong class="program">clang-tidy</strong>.</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 <strong class="program">clang-tidy</strong> 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><code class="docutils literal"><span class="pre">add_new_check.py</span></code> 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><code class="docutils literal"><span class="pre">rename_check.py</span></code> does what the script name suggests, renames an existing
+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 <code class="docutils literal"><span class="pre">-ast-dump</span></code> (and optionally <code class="docutils literal"><span class="pre">-ast-dump-filter</span></code>)
+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="#id5">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="#id6">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 <code class="docutils literal"><span class="pre">llvm/tools/clang/tools/extra</span></code> directory, and
+let’s start!</p>
+</div>
+<div class="section" id="the-directory-structure">
+<h3><a class="toc-backref" href="#id7">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
+<code class="docutils literal"><span class="pre">llvm/tools/clang/tools/extra</span></code> directory and is structured as follows:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">clang</span><span class="o">-</span><span class="n">tidy</span><span class="o">/</span>                       <span class="c1"># Clang-tidy core.</span>
+<span class="o">|--</span> <span class="n">ClangTidy</span><span class="o">.</span><span class="n">h</span>                   <span class="c1"># Interfaces for users and checks.</span>
+<span class="o">|--</span> <span class="n">ClangTidyModule</span><span class="o">.</span><span class="n">h</span>             <span class="c1"># Interface for clang-tidy modules.</span>
+<span class="o">|--</span> <span class="n">ClangTidyModuleRegistry</span><span class="o">.</span><span class="n">h</span>     <span class="c1"># Interface for registering of modules.</span>
+   <span class="o">...</span>
+<span class="o">|--</span> <span class="n">google</span><span class="o">/</span>                       <span class="c1"># Google clang-tidy module.</span>
+<span class="o">|-+</span>
+  <span class="o">|--</span> <span class="n">GoogleTidyModule</span><span class="o">.</span><span class="n">cpp</span>
+  <span class="o">|--</span> <span class="n">GoogleTidyModule</span><span class="o">.</span><span class="n">h</span>
+        <span class="o">...</span>
+<span class="o">|--</span> <span class="n">llvm</span><span class="o">/</span>                         <span class="c1"># LLVM clang-tidy module.</span>
+<span class="o">|-+</span>
+  <span class="o">|--</span> <span class="n">LLVMTidyModule</span><span class="o">.</span><span class="n">cpp</span>
+  <span class="o">|--</span> <span class="n">LLVMTidyModule</span><span class="o">.</span><span class="n">h</span>
+        <span class="o">...</span>
+<span class="o">|--</span> <span class="n">objc</span><span class="o">/</span>                         <span class="c1"># Objective-C clang-tidy module.</span>
+<span class="o">|-+</span>
+  <span class="o">|--</span> <span class="n">ObjCTidyModule</span><span class="o">.</span><span class="n">cpp</span>
+  <span class="o">|--</span> <span class="n">ObjCTidyModule</span><span class="o">.</span><span class="n">h</span>
+        <span class="o">...</span>
+<span class="o">|--</span> <span class="n">tool</span><span class="o">/</span>                         <span class="c1"># Sources of the clang-tidy binary.</span>
+        <span class="o">...</span>
+<span class="n">test</span><span class="o">/</span><span class="n">clang</span><span class="o">-</span><span class="n">tidy</span><span class="o">/</span>                  <span class="c1"># Integration tests.</span>
+    <span class="o">...</span>
+<span class="n">unittests</span><span class="o">/</span><span class="n">clang</span><span class="o">-</span><span class="n">tidy</span><span class="o">/</span>             <span class="c1"># Unit tests.</span>
+<span class="o">|--</span> <span class="n">ClangTidyTest</span><span class="o">.</span><span class="n">h</span>
+<span class="o">|--</span> <span class="n">GoogleModuleTest</span><span class="o">.</span><span class="n">cpp</span>
+<span class="o">|--</span> <span class="n">LLVMModuleTest</span><span class="o">.</span><span class="n">cpp</span>
+<span class="o">|--</span> <span class="n">ObjCModuleTest</span><span class="o">.</span><span class="n">cpp</span>
+    <span class="o">...</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="writing-a-clang-tidy-check">
+<h3><a class="toc-backref" href="#id8">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. Modules
+are located in subdirectories of <a class="reference external" href="http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/">clang-tidy/</a>
+and contain checks targeting a certain aspect of code quality (performance,
+readability, etc.), certain coding style or standard (Google, LLVM, CERT, etc.)
+or a widely used API (e.g. MPI). Their names are same as user-facing check
+groups names described <a class="reference internal" href="#checks-groups-table"><span class="std std-ref">above</span></a>.</p>
+<p>After choosing the module and the name for the check, run the
+<code class="docutils literal"><span class="pre">clang-tidy/add_new_check.py</span></code> script to create the skeleton of the check and
+plug it to <strong class="program">clang-tidy</strong>. It’s the recommended way of adding new checks.</p>
+<p>If we want to create a <cite>readability-awesome-function-names</cite>, we would run:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> clang-tidy/add_new_check.py readability awesome-function-names
+</pre></div>
+</div>
+<dl class="docutils">
+<dt>The <code class="docutils literal"><span class="pre">add_new_check.py</span></code> script will:</dt>
+<dd><ul class="first last simple">
+<li>create the class for your check inside the specified module’s directory and
+register it in the module and in the build system;</li>
+<li>create a lit test file in the <code class="docutils literal"><span class="pre">test/clang-tidy/</span></code> directory;</li>
+<li>create a documentation file and include it into the
+<code class="docutils literal"><span class="pre">docs/clang-tidy/checks/list.rst</span></code>.</li>
+</ul>
+</dd>
+</dl>
+<p>Let’s see in more detail at the check class definition:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><span class="p">...</span>
+
+<span class="cp">#include</span> <span class="cpf">"../ClangTidy.h"</span><span class="cp"></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">readability</span> <span class="p">{</span>
+
+<span class="p">...</span>
+<span class="k">class</span> <span class="nc">AwesomeFunctionNamesCheck</span> <span class="o">:</span> <span class="k">public</span> <span class="n">ClangTidyCheck</span> <span class="p">{</span>
+<span class="k">public</span><span class="o">:</span>
+  <span class="n">AwesomeFunctionNamesCheck</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="k">override</span><span class="p">;</span>
+  <span class="kt">void</span> <span class="nf">check</span><span class="p">(</span><span class="k">const</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="k">override</span><span class="p">;</span>
+<span class="p">};</span>
+
+<span class="p">}</span> <span class="c1">// namespace readability</span>
+<span class="p">}</span> <span class="c1">// namespace tidy</span>
+<span class="p">}</span> <span class="c1">// namespace clang</span>
+
+<span class="p">...</span>
+</pre></div>
+</div>
+<p>Constructor of the check receives the <code class="docutils literal"><span class="pre">Name</span></code> and <code class="docutils literal"><span class="pre">Context</span></code> parameters, and
+must forward them to the <code class="docutils literal"><span class="pre">ClangTidyCheck</span></code> constructor.</p>
+<p>In our case the check needs to operate on the AST level and it overrides the
+<code class="docutils literal"><span class="pre">registerMatchers</span></code> and <code class="docutils literal"><span class="pre">check</span></code> methods. If we wanted to analyze code on the
+preprocessor level, we’d need instead to override the <code class="docutils literal"><span class="pre">registerPPCallbacks</span></code>
+method.</p>
+<p>In the <code class="docutils literal"><span class="pre">registerMatchers</span></code> 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 <code class="docutils literal"><span class="pre">check</span></code> method, which
+can further inspect them and report diagnostics.</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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">AwesomeFunctionNamesCheck</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">functionDecl</span><span class="p">().</span><span class="n">bind</span><span class="p">(</span><span class="s">"x"</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">AwesomeFunctionNamesCheck</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">MatchedDecl</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">FunctionDecl</span><span class="o">></span><span class="p">(</span><span class="s">"x"</span><span class="p">);</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">MatchedDecl</span><span class="o">-></span><span class="n">getName</span><span class="p">().</span><span class="n">startswith</span><span class="p">(</span><span class="s">"awesome_"</span><span class="p">))</span>
+    <span class="k">return</span><span class="p">;</span>
+  <span class="n">diag</span><span class="p">(</span><span class="n">MatchedDecl</span><span class="o">-></span><span class="n">getLocation</span><span class="p">(),</span> <span class="s">"function %0 is insufficiently awesome"</span><span class="p">)</span>
+      <span class="o"><<</span> <span class="n">MatchedDecl</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">MatchedDecl</span><span class="o">-></span><span class="n">getLocation</span><span class="p">(),</span> <span class="s">"awesome_"</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>(If you want to see an example of a useful check, look at
+<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="#id9">Registering your Check</a><a class="headerlink" href="#registering-your-check" title="Permalink to this headline">¶</a></h3>
+<p>(The <code class="docutils literal"><span class="pre">add_new_check.py</span></code> takes care of registering the check in an existing
+module. If you want to create a new module or know the details, read on.)</p>
+<p>The check should be registered in the corresponding module with a distinct name:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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="k">public</span><span class="o">:</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="k">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 <code class="docutils literal"><span class="pre">ClangTidyModuleRegistry</span></code> using a
+statically initialized variable:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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 <strong class="program">clang-tidy</strong> binary:</p>
+<p>Add this near the <code class="docutils literal"><span class="pre">ClangTidyModuleRegistry::Add<MyModule></span></code> variable:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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 <strong class="program">clang-tidy</strong> binary (or
+the binary you link the <code class="docutils literal"><span class="pre">clang-tidy</span></code> library in)
+<code class="docutils literal"><span class="pre">clang-tidy/tool/ClangTidyMain.cpp</span></code>:</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></span><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="#id10">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 <code class="docutils literal"><span class="pre">Options.get<Type>("SomeOption",</span> <span class="pre">DefaultValue)</span></code> call in the check
+constructor. In this case the check should also override the
+<code class="docutils literal"><span class="pre">ClangTidyCheck::storeOptions</span></code> 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
+<code class="docutils literal"><span class="pre">-dump-config</span></code> command line option).</p>
+<div class="highlight-c++"><div class="highlight"><pre><span></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="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="k">public</span><span class="o">:</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="k">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 <code class="docutils literal"><span class="pre">.clang-tidy</span></code> file in the following way:</p>
+<div class="highlight-yaml"><div class="highlight"><pre><span></span><span class="l l-Scalar l-Scalar-Plain">CheckOptions</span><span class="p p-Indicator">:</span>
+  <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">key</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">my-check.SomeOption1</span>
+    <span class="l l-Scalar l-Scalar-Plain">value</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">123</span>
+  <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">key</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">my-check.SomeOption2</span>
+    <span class="l l-Scalar l-Scalar-Plain">value</span><span class="p 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-console"><div class="highlight"><pre><span></span><span class="gp">$</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="#id11">Testing Checks</a><a class="headerlink" href="#testing-checks" title="Permalink to this headline">¶</a></h3>
+<p>To run tests for <strong class="program">clang-tidy</strong> use the command:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> ninja check-clang-tools
+</pre></div>
+</div>
+<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 <code class="docutils literal"><span class="pre">check_clang_tidy.py</span></code> script provides an easy way to test both
+diagnostic messages and fix-its. It filters out <code class="docutils literal"><span class="pre">CHECK</span></code> 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: once with FileCheck’s directive
+prefix set to <code class="docutils literal"><span class="pre">CHECK-MESSAGES</span></code>, validating the diagnostic messages,
+and once with the directive prefix set to <code class="docutils literal"><span class="pre">CHECK-FIXES</span></code>, running
+against the fixed code (i.e., the code after generated fix-its are
+applied). In particular, <code class="docutils literal"><span class="pre">CHECK-FIXES:</span></code> can be used to check
+that code was not modified by fix-its, by checking that it is present
+unchanged in the fixed code. The full set of <a class="reference external" href="http://llvm.org/docs/CommandGuide/FileCheck.html">FileCheck</a> directives
+is available (e.g., <code class="docutils literal"><span class="pre">CHECK-MESSAGES-SAME:</span></code>, <code class="docutils literal"><span class="pre">CHECK-MESSAGES-NOT:</span></code>), though
+typically the basic <code class="docutils literal"><span class="pre">CHECK</span></code> forms (<code class="docutils literal"><span class="pre">CHECK-MESSAGES</span></code> and <code class="docutils literal"><span class="pre">CHECK-FIXES</span></code>)
+are sufficient for clang-tidy tests. Note that the <a class="reference external" href="http://llvm.org/docs/CommandGuide/FileCheck.html">FileCheck</a>
+documentation mostly assumes the default prefix (<code class="docutils literal"><span class="pre">CHECK</span></code>), and hence
+describes the directive as <code class="docutils literal"><span class="pre">CHECK:</span></code>, <code class="docutils literal"><span class="pre">CHECK-SAME:</span></code>, <code class="docutils literal"><span class="pre">CHECK-NOT:</span></code>, etc.
+Replace <code class="docutils literal"><span class="pre">CHECK</span></code> by either <code class="docutils literal"><span class="pre">CHECK-FIXES</span></code> or <code class="docutils literal"><span class="pre">CHECK-MESSAGES</span></code> for
+clang-tidy tests.</p>
+<p>An additional check enabled by <code class="docutils literal"><span class="pre">check_clang_tidy.py</span></code> ensures that
+if <cite>CHECK-MESSAGES:</cite> is used in a file then every warning or error
+must have an associated CHECK in that file.</p>
+<p>To use the <code class="docutils literal"><span class="pre">check_clang_tidy.py</span></code> script, put a .cpp file with the
+appropriate <code class="docutils literal"><span class="pre">RUN</span></code> line in the <code class="docutils literal"><span class="pre">test/clang-tidy</span></code> directory. Use
+<code class="docutils literal"><span class="pre">CHECK-MESSAGES:</span></code> and <code class="docutils literal"><span class="pre">CHECK-FIXES:</span></code> 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 <code class="docutils literal"><span class="pre">[[@LINE+X]]</span></code>/<code class="docutils literal"><span class="pre">[[@LINE-X]]</span></code>
+substitutions and distinct function and variable names in the test code.</p>
+<p>Here’s an example of a test using the <code class="docutils literal"><span class="pre">check_clang_tidy.py</span></code> 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-c++"><div class="highlight"><pre><span></span><span class="c1">// RUN: %check_clang_tidy %s google-readability-casting %t</span>
+
+<span class="kt">void</span> <span class="nf">f</span><span class="p">(</span><span class="kt">int</span> <span class="n">a</span><span class="p">)</span> <span class="p">{</span>
+  <span class="kt">int</span> <span class="n">b</span> <span class="o">=</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">a</span><span class="p">;</span>
+  <span class="c1">// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: redundant cast to the same type [google-readability-casting]</span>
+  <span class="c1">// CHECK-FIXES: int b = a;</span>
+<span class="p">}</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 fix-it 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 multiple times; <strong class="program">clang-tidy</strong> 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="#id12">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 <code class="docutils literal"><span class="pre">compile_commands.json</span></code> is in place and
+a working version of <strong class="program">clang-tidy</strong> is in <code class="docutils literal"><span class="pre">PATH</span></code> the entire code base
+can be analyzed with <code class="docutils literal"><span class="pre">clang-tidy/tool/run-clang-tidy.py</span></code>. 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 <code class="docutils literal"><span class="pre">-checks</span></code> argument,
+taking the identical format as <strong class="program">clang-tidy</strong> does. For example
+<code class="docutils literal"><span class="pre">-checks=-*,modernize-use-override</span></code> will run the <code class="docutils literal"><span class="pre">modernize-use-override</span></code>
+check only.</li>
+<li>To restrict the files examined you can provide one or more regex arguments
+that the file names are matched against.
+<code class="docutils literal"><span class="pre">run-clang-tidy.py</span> <span class="pre">clang-tidy/.*Check\.cpp</span></code> will only analyze clang-tidy
+checks. It may also be necessary to restrict the header files warnings are
+displayed from using the <code class="docutils literal"><span class="pre">-header-filter</span></code> flag. It has the same behavior
+as the corresponding <strong class="program">clang-tidy</strong> flag.</li>
+<li>To apply suggested fixes <code class="docutils literal"><span class="pre">-fix</span></code> can be passed as an argument. This gathers
+all changes in a temporary directory and applies them. Passing <code class="docutils literal"><span class="pre">-format</span></code>
+will run clang-format over changed lines.</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="../ReleaseNotes.html">Extra Clang Tools 6.0.0 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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clangd.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clangd.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clangd.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/clangd.html Thu Mar  8 02:24:44 2018
@@ -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>Clangd — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="prev" title="Clang-Rename" href="clang-rename.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Clangd</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="clang-rename.html">Clang-Rename</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="clangd">
+<h1><a class="toc-backref" href="#id2">Clangd</a><a class="headerlink" href="#clangd" 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="#clangd" id="id2">Clangd</a><ul>
+<li><a class="reference internal" href="#using-clangd" id="id3">Using Clangd</a></li>
+<li><a class="reference internal" href="#installing-clangd" id="id4">Installing Clangd</a></li>
+<li><a class="reference internal" href="#building-clangd" id="id5">Building Clangd</a></li>
+<li><a class="reference internal" href="#current-status" id="id6">Current Status</a></li>
+<li><a class="reference internal" href="#getting-involved" id="id7">Getting Involved</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="toctree-wrapper compound">
+</div>
+<p><strong class="program">Clangd</strong> is an implementation of the <a class="reference external" href="https://github.com/Microsoft/language-server-protocol">Language Server Protocol</a> leveraging Clang.
+Clangd’s goal is to provide language “smartness” features like code completion,
+find references, etc. for clients such as C/C++ Editors.</p>
+<div class="section" id="using-clangd">
+<h2><a class="toc-backref" href="#id3">Using Clangd</a><a class="headerlink" href="#using-clangd" title="Permalink to this headline">¶</a></h2>
+<p><strong class="program">Clangd</strong> is not meant to be used by C/C++ developers directly but
+rather from a client implementing the protocol. A client would be typically
+implemented in an IDE or an editor.</p>
+<p>At the moment, <a class="reference external" href="https://code.visualstudio.com/">Visual Studio Code</a> is mainly
+used in order to test <strong class="program">Clangd</strong> but more clients are likely to make
+use of <strong class="program">Clangd</strong> in the future as it matures and becomes a production
+quality tool. If you are interested in trying <strong class="program">Clangd</strong> in combination
+with Visual Studio Code, you can start by <a class="reference internal" href="#installing-clangd">installing Clangd</a> or
+<a class="reference internal" href="#building-clangd">building Clangd</a>, then open Visual Studio Code in the clangd-vscode folder and
+launch the extension.</p>
+</div>
+<div class="section" id="installing-clangd">
+<h2><a class="toc-backref" href="#id4">Installing Clangd</a><a class="headerlink" href="#installing-clangd" title="Permalink to this headline">¶</a></h2>
+<p>Packages are available for debian-based distributions, see the <a class="reference external" href="http://apt.llvm.org/">LLVM packages
+page</a>. <strong class="program">Clangd</strong> is included in the
+<cite>clang-tools</cite> package.
+However, it is a good idea to check your distribution’s packaging system first
+as it might already be available.</p>
+<p>Otherwise, you can install <strong class="program">Clangd</strong> by <a class="reference internal" href="#building-clangd">building Clangd</a> first.</p>
+</div>
+<div class="section" id="building-clangd">
+<h2><a class="toc-backref" href="#id5">Building Clangd</a><a class="headerlink" href="#building-clangd" title="Permalink to this headline">¶</a></h2>
+<p>You can follow the instructions for <a class="reference external" href="https://clang.llvm.org/get_started.html">building Clang</a> but “extra Clang tools” is <strong>not</strong>
+optional.</p>
+</div>
+<div class="section" id="current-status">
+<h2><a class="toc-backref" href="#id6">Current Status</a><a class="headerlink" href="#current-status" title="Permalink to this headline">¶</a></h2>
+<p>Many features could be implemented in <strong class="program">Clangd</strong>.
+Here is a list of features that could be useful with the status of whether or
+not they are already implemented in <strong class="program">Clangd</strong> and specified in the
+Language Server Protocol. Note that for some of the features, it is not clear
+whether or not they should be part of the Language Server Protocol, so those
+features might be eventually developed outside <strong class="program">Clangd</strong> or as an
+extension to the protocol.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="63%" />
+<col width="20%" />
+<col width="17%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">C/C++ Editor feature</th>
+<th class="head">LSP</th>
+<th class="head">Clangd</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Formatting</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-odd"><td>Completion</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-even"><td>Diagnostics</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-odd"><td>Fix-its</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-even"><td>Go to Definition</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-odd"><td>Signature Help</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-even"><td>Document Highlights</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-odd"><td>Rename</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-even"><td>Source hover</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Find References</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Code Lens</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Document Symbols</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Workspace Symbols</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Syntax and Semantic Coloring</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Code folding</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Call hierarchy</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Type hierarchy</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Organize Includes</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Quick Assist</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Extract Local Variable</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Extract Function/Method</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Hide Method</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Implement Method</td>
+<td>No</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Gen. Getters/Setters</td>
+<td>No</td>
+<td>No</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="getting-involved">
+<h2><a class="toc-backref" href="#id7">Getting Involved</a><a class="headerlink" href="#getting-involved" title="Permalink to this headline">¶</a></h2>
+<p>A good place for interested contributors is the <a class="reference external" href="http://lists.llvm.org/mailman/listinfo/cfe-dev">Clang developer mailing list</a>.
+If you’re also interested in contributing patches to <strong class="program">Clangd</strong>, take a
+look at the <a class="reference external" href="http://llvm.org/docs/DeveloperPolicy.html">LLVM Developer Policy</a> and <a class="reference external" href="http://llvm.org/docs/Phabricator.html">Code Reviews</a> page. Contributions of new features
+to the <a class="reference external" href="https://github.com/Microsoft/language-server-protocol">Language Server Protocol</a> itself would also be
+very useful, so that <strong class="program">Clangd</strong> can eventually implement them in a
+conforming way.</p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="clang-rename.html">Clang-Rename</a>
+          ::  
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,64 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span><no title></span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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"><span class="doc">Clang-Tidy</span></a>
+(see the <code class="docutils literal"><span class="pre">modernize</span></code> module).</p>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/genindex.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/genindex.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/genindex.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/genindex.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,925 @@
+
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="#" />
+    <link rel="search" title="Search" href="search.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Index</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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="#A"><strong>A</strong></a>
+ | <a href="#B"><strong>B</strong></a>
+ | <a href="#C"><strong>C</strong></a>
+ | <a href="#D"><strong>D</strong></a>
+ | <a href="#F"><strong>F</strong></a>
+ | <a href="#G"><strong>G</strong></a>
+ | <a href="#H"><strong>H</strong></a>
+ | <a href="#I"><strong>I</strong></a>
+ | <a href="#L"><strong>L</strong></a>
+ | <a href="#M"><strong>M</strong></a>
+ | <a href="#N"><strong>N</strong></a>
+ | <a href="#P"><strong>P</strong></a>
+ | <a href="#R"><strong>R</strong></a>
+ | <a href="#S"><strong>S</strong></a>
+ | <a href="#T"><strong>T</strong></a>
+ | <a href="#U"><strong>U</strong></a>
+ | <a href="#V"><strong>V</strong></a>
+ | <a href="#W"><strong>W</strong></a>
+ 
+</div>
+<h2 id="Symbols">Symbols</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    -block-check-header-list-only
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-block-check-header-list-only">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -coverage-check-only
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-coverage-check-only">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -display-file-lists
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-display-file-lists">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -ignore <callback-name-list>
+
+      <ul>
+        <li><a href="pp-trace.html#cmdoption-ignore">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -module-map-path=<module-map-path>
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-module-map-path">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    -no-coverage-check
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-no-coverage-check">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -output <output-file>
+
+      <ul>
+        <li><a href="pp-trace.html#cmdoption-output">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -prefix=<header-path>
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-prefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -problem-files-list=<problem-files-list-file-name>
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-problem-files-list">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -root-module=<root-name>
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-root-module">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="A">A</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    Acronyms
+
+      <ul>
+        <li><a href="clang-tidy/checks/objc-property-declaration.html#cmdoption-arg-acronyms">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Allocations
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-no-malloc.html#cmdoption-arg-allocations">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AllowIntegerConditions
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-implicit-bool-conversion.html#cmdoption-arg-allowintegerconditions">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AllowMissingMoveFunctions
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-special-member-functions.html#cmdoption-arg-allowmissingmovefunctions">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    AllowPointerConditions
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-implicit-bool-conversion.html#cmdoption-arg-allowpointerconditions">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AllowSoleDefaultDtor
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-special-member-functions.html#cmdoption-arg-allowsoledefaultdtor">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AssertMacros
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-assert-side-effect.html#cmdoption-arg-assertmacros">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="B">B</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    BranchThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-branchthreshold">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="C">C</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    ChainedConditionalAssignment
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-simplify-boolean-expr.html#cmdoption-arg-chainedconditionalassignment">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ChainedConditionalReturn
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-simplify-boolean-expr.html#cmdoption-arg-chainedconditionalreturn">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CheckFunctionCalls
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-assert-side-effect.html#cmdoption-arg-checkfunctioncalls">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CheckImplicitCasts
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-misplaced-widening-cast.html#cmdoption-arg-checkimplicitcasts">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CheckThrowTemporaries
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-throw-by-value-catch-by-reference.html#cmdoption-arg-checkthrowtemporaries">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CheckTriviallyCopyableMove
+
+      <ul>
+        <li><a href="clang-tidy/checks/performance-move-const-arg.html#cmdoption-arg-checktriviallycopyablemove">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    command line option
+
+      <ul>
+        <li><a href="ModularizeUsage.html#cmdoption-block-check-header-list-only">-block-check-header-list-only</a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-coverage-check-only">-coverage-check-only</a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-display-file-lists">-display-file-lists</a>
+</li>
+        <li><a href="pp-trace.html#cmdoption-ignore">-ignore <callback-name-list></a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-module-map-path">-module-map-path=<module-map-path></a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-no-coverage-check">-no-coverage-check</a>
+</li>
+        <li><a href="pp-trace.html#cmdoption-output">-output <output-file></a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-prefix">-prefix=<header-path></a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-problem-files-list">-problem-files-list=<problem-files-list-file-name></a>
+</li>
+        <li><a href="ModularizeUsage.html#cmdoption-root-module">-root-module=<root-name></a>
+</li>
+        <li><a href="clang-tidy/checks/objc-property-declaration.html#cmdoption-arg-acronyms">Acronyms</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-no-malloc.html#cmdoption-arg-allocations">Allocations</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-implicit-bool-conversion.html#cmdoption-arg-allowintegerconditions">AllowIntegerConditions</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-special-member-functions.html#cmdoption-arg-allowmissingmovefunctions">AllowMissingMoveFunctions</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-implicit-bool-conversion.html#cmdoption-arg-allowpointerconditions">AllowPointerConditions</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-special-member-functions.html#cmdoption-arg-allowsoledefaultdtor">AllowSoleDefaultDtor</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-assert-side-effect.html#cmdoption-arg-assertmacros">AssertMacros</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-branchthreshold">BranchThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-simplify-boolean-expr.html#cmdoption-arg-chainedconditionalassignment">ChainedConditionalAssignment</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-simplify-boolean-expr.html#cmdoption-arg-chainedconditionalreturn">ChainedConditionalReturn</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-assert-side-effect.html#cmdoption-arg-checkfunctioncalls">CheckFunctionCalls</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-misplaced-widening-cast.html#cmdoption-arg-checkimplicitcasts">CheckImplicitCasts</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-throw-by-value-catch-by-reference.html#cmdoption-arg-checkthrowtemporaries">CheckThrowTemporaries</a>
+</li>
+        <li><a href="clang-tidy/checks/performance-move-const-arg.html#cmdoption-arg-checktriviallycopyablemove">CheckTriviallyCopyableMove</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-containerswithpushback">ContainersWithPushBack</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-no-malloc.html#cmdoption-arg-deallocations">Deallocations</a>
+</li>
+        <li><a href="clang-tidy/checks/objc-forbidden-subclassing.html#cmdoption-arg-forbiddensuperclassnames">ForbiddenSuperClassNames</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html#cmdoption-arg-gslheader">GslHeader</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-dangling-handle.html#cmdoption-arg-handleclasses">HandleClasses</a>
+</li>
+        <li><a href="clang-tidy/checks/google-build-namespaces.html#cmdoption-arg-headerfileextensions">HeaderFileExtensions</a>, <a href="clang-tidy/checks/google-global-names-in-headers.html#cmdoption-arg-headerfileextensions">[1]</a>, <a href="clang-tidy/checks/llvm-header-guard.html#cmdoption-arg-headerfileextensions">[2]</a>, <a href="clang-tidy/checks/misc-definitions-in-headers.html#cmdoption-arg-headerfileextensions">[3]</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-type-member-init.html#cmdoption-arg-ignorearrays">IgnoreArrays</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-ignoreimplicitconstructors">IgnoreImplicitConstructors</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-ignoremacros">IgnoreMacros</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-ignoremacros">[1]</a>, <a href="clang-tidy/checks/modernize-use-bool-literals.html#cmdoption-arg-ignoremacros">[2]</a>, <a href="clang-tidy/checks/modernize-use-default-member-init.html#cmdoption-arg-ignoremacros">[3]</a>, <a href="clang-tidy/checks/modernize-use-equals-default.html#cmdoption-arg-ignoremacros">[4]</a>, <a href="clang-tidy/checks/modernize-use-using.html#cmdoption-arg-ignoremacros">[5]</a>, <a href="clang-tidy/checks/readability-redundant-declaration.html#cmdoption-arg-ignoremacros">[6]</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html#cmdoption-arg-includestyle">IncludeStyle</a>, <a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-includestyle">[1]</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-includestyle">[2]</a>, <a href="clang-tidy/checks/modernize-pass-by-value.html#cmdoption-arg-includestyle">[3]</a>, <a href="clang-tidy/checks/modernize-replace-auto-ptr.html#cmdoption-arg-includestyle">[4]</a>, <a href="clang-tidy/checks/performance-move-constructor-init.html#cmdoption-arg-includestyle">[5]</a>, <a href="clang-tidy/checks/performance-unnecessary-value-param.html#cmdoption-arg-includestyle">[6]</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-string-constructor.html#cmdoption-arg-largelengththreshold">LargeLengthThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-owning-memory.html#cmdoption-arg-legacyresourceconsumers">LegacyResourceConsumers</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-owning-memory.html#cmdoption-arg-legacyresourceproducers">LegacyResourceProducers</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-linethreshold">LineThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-makesmartptrfunction">MakeSmartPtrFunction</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-makesmartptrfunction">[1]</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-makesmartptrfunctionheader">MakeSmartPtrFunctionHeader</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-makesmartptrfunctionheader">[1]</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-suspicious-missing-comma.html#cmdoption-arg-maxconcatenatedtokens">MaxConcatenatedTokens</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-nestingthreshold">NestingThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-nullptr.html#cmdoption-arg-nullmacros">NullMacros</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-parameterthreshold">ParameterThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-suspicious-missing-comma.html#cmdoption-arg-ratiothreshold">RatioThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-no-malloc.html#cmdoption-arg-reallocations">Reallocations</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-auto.html#cmdoption-arg-removestars">RemoveStars</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-noexcept.html#cmdoption-arg-replacementstring">ReplacementString</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-transparent-functors.html#cmdoption-arg-safemode">SafeMode</a>
+</li>
+        <li><a href="clang-tidy/checks/llvm-namespace-comment.html#cmdoption-arg-shortnamespacelines">ShortNamespaceLines</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-braces-around-statements.html#cmdoption-arg-shortstatementlines">ShortStatementLines</a>
+</li>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-signedtypeprefix">SignedTypePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-suspicious-missing-comma.html#cmdoption-arg-sizethreshold">SizeThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-smartpointers">SmartPointers</a>
+</li>
+        <li><a href="clang-tidy/checks/llvm-namespace-comment.html#cmdoption-arg-spacesbeforecomments">SpacesBeforeComments</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-statementthreshold">StatementThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-strictmode">StrictMode</a>, <a href="clang-tidy/checks/misc-suspicious-enum-usage.html#cmdoption-arg-strictmode">[1]</a>, <a href="clang-tidy/checks/performance-inefficient-string-concatenation.html#cmdoption-arg-strictmode">[2]</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-suspicious-string-compare.html#cmdoption-arg-stringcomparelikefunctions">StringCompareLikeFunctions</a>
+</li>
+        <li><a href="clang-tidy/checks/performance-faster-string-find.html#cmdoption-arg-stringlikeclasses">StringLikeClasses</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-tuplemakefunctions">TupleMakeFunctions</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-tupletypes">TupleTypes</a>
+</li>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-typesuffix">TypeSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-unsignedtypeprefix">UnsignedTypePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-default-member-init.html#cmdoption-arg-useassignment">UseAssignment</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-definitions-in-headers.html#cmdoption-arg-useheaderfileextension">UseHeaderFileExtension</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-noexcept.html#cmdoption-arg-usenoexceptfalse">UseNoexceptFalse</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-pass-by-value.html#cmdoption-arg-valuesonly">ValuesOnly</a>
+</li>
+        <li><a href="clang-tidy/checks/performance-inefficient-vector-operation.html#cmdoption-arg-vectorlikeclasses">VectorLikeClasses</a>
+</li>
+        <li><a href="clang-tidy/checks/performance-for-range-copy.html#cmdoption-arg-warnonallautocopies">WarnOnAllAutoCopies</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-suspicious-string-compare.html#cmdoption-arg-warnonimplicitcomparison">WarnOnImplicitComparison</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-string-constructor.html#cmdoption-arg-warnonlargelength">WarnOnLargeLength</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-suspicious-string-compare.html#cmdoption-arg-warnonlogicalnotcomparison">WarnOnLogicalNotComparison</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-sizeof-expression.html#cmdoption-arg-warnonsizeofcomparetoconstant">WarnOnSizeOfCompareToConstant</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-sizeof-expression.html#cmdoption-arg-warnonsizeofconstant">WarnOnSizeOfConstant</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-sizeof-expression.html#cmdoption-arg-warnonsizeofthis">WarnOnSizeOfThis</a>
+</li>
+        <li><a href="clang-tidy/checks/google-runtime-references.html#cmdoption-arg-whitelisttypes">WhiteListTypes</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    ContainersWithPushBack
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-containerswithpushback">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="D">D</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    Deallocations
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-no-malloc.html#cmdoption-arg-deallocations">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="F">F</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    ForbiddenSuperClassNames
+
+      <ul>
+        <li><a href="clang-tidy/checks/objc-forbidden-subclassing.html#cmdoption-arg-forbiddensuperclassnames">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="G">G</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    GslHeader
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html#cmdoption-arg-gslheader">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="H">H</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    HandleClasses
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-dangling-handle.html#cmdoption-arg-handleclasses">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    HeaderFileExtensions
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-build-namespaces.html#cmdoption-arg-headerfileextensions">command line option</a>, <a href="clang-tidy/checks/google-global-names-in-headers.html#cmdoption-arg-headerfileextensions">[1]</a>, <a href="clang-tidy/checks/llvm-header-guard.html#cmdoption-arg-headerfileextensions">[2]</a>, <a href="clang-tidy/checks/misc-definitions-in-headers.html#cmdoption-arg-headerfileextensions">[3]</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="I">I</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    IgnoreArrays
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-type-member-init.html#cmdoption-arg-ignorearrays">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IgnoreImplicitConstructors
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-ignoreimplicitconstructors">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    IgnoreMacros
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-ignoremacros">command line option</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-ignoremacros">[1]</a>, <a href="clang-tidy/checks/modernize-use-bool-literals.html#cmdoption-arg-ignoremacros">[2]</a>, <a href="clang-tidy/checks/modernize-use-default-member-init.html#cmdoption-arg-ignoremacros">[3]</a>, <a href="clang-tidy/checks/modernize-use-equals-default.html#cmdoption-arg-ignoremacros">[4]</a>, <a href="clang-tidy/checks/modernize-use-using.html#cmdoption-arg-ignoremacros">[5]</a>, <a href="clang-tidy/checks/readability-redundant-declaration.html#cmdoption-arg-ignoremacros">[6]</a>
+</li>
+      </ul></li>
+      <li>
+    IncludeStyle
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html#cmdoption-arg-includestyle">command line option</a>, <a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-includestyle">[1]</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-includestyle">[2]</a>, <a href="clang-tidy/checks/modernize-pass-by-value.html#cmdoption-arg-includestyle">[3]</a>, <a href="clang-tidy/checks/modernize-replace-auto-ptr.html#cmdoption-arg-includestyle">[4]</a>, <a href="clang-tidy/checks/performance-move-constructor-init.html#cmdoption-arg-includestyle">[5]</a>, <a href="clang-tidy/checks/performance-unnecessary-value-param.html#cmdoption-arg-includestyle">[6]</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="L">L</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    LargeLengthThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-string-constructor.html#cmdoption-arg-largelengththreshold">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LegacyResourceConsumers
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-owning-memory.html#cmdoption-arg-legacyresourceconsumers">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    LegacyResourceProducers
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-owning-memory.html#cmdoption-arg-legacyresourceproducers">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LineThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-linethreshold">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="M">M</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    MakeSmartPtrFunction
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-makesmartptrfunction">command line option</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-makesmartptrfunction">[1]</a>
+</li>
+      </ul></li>
+      <li>
+    MakeSmartPtrFunctionHeader
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-makesmartptrfunctionheader">command line option</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-makesmartptrfunctionheader">[1]</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    MaxConcatenatedTokens
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-suspicious-missing-comma.html#cmdoption-arg-maxconcatenatedtokens">command line option</a>
+</li>
+      </ul></li>
+      <li><a href="modularize.html#index-0">modularize</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="N">N</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    NestingThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-nestingthreshold">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    NullMacros
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-nullptr.html#cmdoption-arg-nullmacros">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="P">P</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    ParameterThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-parameterthreshold">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="pp-trace.html#index-0">pp-trace</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="R">R</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    RatioThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-suspicious-missing-comma.html#cmdoption-arg-ratiothreshold">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Reallocations
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-no-malloc.html#cmdoption-arg-reallocations">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    RemoveStars
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-auto.html#cmdoption-arg-removestars">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ReplacementString
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-noexcept.html#cmdoption-arg-replacementstring">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="S">S</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    SafeMode
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-transparent-functors.html#cmdoption-arg-safemode">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ShortNamespaceLines
+
+      <ul>
+        <li><a href="clang-tidy/checks/llvm-namespace-comment.html#cmdoption-arg-shortnamespacelines">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ShortStatementLines
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-braces-around-statements.html#cmdoption-arg-shortstatementlines">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    SignedTypePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-signedtypeprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    SizeThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-suspicious-missing-comma.html#cmdoption-arg-sizethreshold">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    SmartPointers
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-smartpointers">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    SpacesBeforeComments
+
+      <ul>
+        <li><a href="clang-tidy/checks/llvm-namespace-comment.html#cmdoption-arg-spacesbeforecomments">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StatementThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-statementthreshold">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StrictMode
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-strictmode">command line option</a>, <a href="clang-tidy/checks/misc-suspicious-enum-usage.html#cmdoption-arg-strictmode">[1]</a>, <a href="clang-tidy/checks/performance-inefficient-string-concatenation.html#cmdoption-arg-strictmode">[2]</a>
+</li>
+      </ul></li>
+      <li>
+    StringCompareLikeFunctions
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-suspicious-string-compare.html#cmdoption-arg-stringcomparelikefunctions">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StringLikeClasses
+
+      <ul>
+        <li><a href="clang-tidy/checks/performance-faster-string-find.html#cmdoption-arg-stringlikeclasses">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="T">T</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    TupleMakeFunctions
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-tuplemakefunctions">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TupleTypes
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-emplace.html#cmdoption-arg-tupletypes">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    TypeSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-typesuffix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="U">U</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    UnsignedTypePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-unsignedtypeprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    UseAssignment
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-default-member-init.html#cmdoption-arg-useassignment">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    UseHeaderFileExtension
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-definitions-in-headers.html#cmdoption-arg-useheaderfileextension">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    UseNoexceptFalse
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-noexcept.html#cmdoption-arg-usenoexceptfalse">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="V">V</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    ValuesOnly
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-pass-by-value.html#cmdoption-arg-valuesonly">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    VectorLikeClasses
+
+      <ul>
+        <li><a href="clang-tidy/checks/performance-inefficient-vector-operation.html#cmdoption-arg-vectorlikeclasses">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="W">W</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    WarnOnAllAutoCopies
+
+      <ul>
+        <li><a href="clang-tidy/checks/performance-for-range-copy.html#cmdoption-arg-warnonallautocopies">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnImplicitComparison
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-suspicious-string-compare.html#cmdoption-arg-warnonimplicitcomparison">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnLargeLength
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-string-constructor.html#cmdoption-arg-warnonlargelength">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnLogicalNotComparison
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-suspicious-string-compare.html#cmdoption-arg-warnonlogicalnotcomparison">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    WarnOnSizeOfCompareToConstant
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-sizeof-expression.html#cmdoption-arg-warnonsizeofcomparetoconstant">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnSizeOfConstant
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-sizeof-expression.html#cmdoption-arg-warnonsizeofconstant">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnSizeOfThis
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-sizeof-expression.html#cmdoption-arg-warnonsizeofthis">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WhiteListTypes
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-runtime-references.html#cmdoption-arg-whitelisttypes">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/include-fixer.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/include-fixer.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/include-fixer.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/include-fixer.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,218 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.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 role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Clang-Include-Fixer</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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>
+<li><a class="reference internal" href="#integrate-with-emacs" id="id5">Integrate with Emacs</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#how-it-works" id="id6">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 <code class="docutils literal"><span class="pre">#include</span></code> directives in any file.
+<strong class="program">clang-include-fixer</strong> addresses one aspect of this problem by providing
+an automated way of adding <code class="docutils literal"><span class="pre">#include</span></code> directives for missing symbols in one
+translation unit.</p>
+<p>While inserting missing <code class="docutils literal"><span class="pre">#include</span></code>, <strong class="program">clang-include-fixer</strong> adds
+missing namespace qualifiers to all instances of an unidentified symbol if
+the symbol is missing some prefix namespace qualifiers.</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 (<code class="docutils literal"><span class="pre">compile_commands.json</span></code> and
+<code class="docutils literal"><span class="pre">find_all_symbols_db.yaml</span></code>) 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
+<code class="docutils literal"><span class="pre">compile_commands.json</span></code> 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></span><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="c1"># 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="c1"># 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="c1"># 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 <code class="docutils literal"><span class="pre">.vimrc</span></code>:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="go">noremap <leader>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
+<cite><leader>cf</cite> to another binding if you need clang-include-fixer on a different
+key. The <a class="reference external" href="http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_3)#Map_leader"><leader> key</a>
+is a reference to a specific key defined by the mapleader variable and is bound
+to backslash by default.</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 <code class="docutils literal"><span class="pre">g:clang_include_fixer_path</span></code> in vimrc: <code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_path=path/to/clang-include-fixer</span></code></li>
+</ul>
+<p>You can customize the number of headers being shown by setting
+<code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_maximum_suggested_headers=5</span></code></p>
+<p>Customized settings in <cite>.vimrc</cite>:</p>
+<ul>
+<li><p class="first"><code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_path</span> <span class="pre">=</span> <span class="pre">"clang-include-fixer"</span></code></p>
+<p>Set clang-include-fixer binary file path.</p>
+</li>
+<li><p class="first"><code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_maximum_suggested_headers</span> <span class="pre">=</span> <span class="pre">3</span></code></p>
+<p>Set the maximum number of <code class="docutils literal"><span class="pre">#includes</span></code> to show. Default is 3.</p>
+</li>
+<li><p class="first"><code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_increment_num</span> <span class="pre">=</span> <span class="pre">5</span></code></p>
+<p>Set the increment number of #includes to show every time when pressing <code class="docutils literal"><span class="pre">m</span></code>.
+Default is 5.</p>
+</li>
+<li><p class="first"><code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_jump_to_include</span> <span class="pre">=</span> <span class="pre">0</span></code></p>
+<p>Set to 1 if you want to jump to the new inserted <code class="docutils literal"><span class="pre">#include</span></code> line. Default is
+0.</p>
+</li>
+<li><p class="first"><code class="docutils literal"><span class="pre">let</span> <span class="pre">g:clang_include_fixer_query_mode</span> <span class="pre">=</span> <span class="pre">0</span></code></p>
+<p>Set to 1 if you want to insert <code class="docutils literal"><span class="pre">#include</span></code> for the symbol under the cursor.
+Default is 0. Compared to normal mode, this mode won’t parse the source file
+and only search the sysmbol from database, which is faster than normal mode.</p>
+</li>
+</ul>
+<p>See <code class="docutils literal"><span class="pre">clang-include-fixer.py</span></code> for more details.</p>
+</div>
+<div class="section" id="integrate-with-emacs">
+<h3><a class="toc-backref" href="#id5">Integrate with Emacs</a><a class="headerlink" href="#integrate-with-emacs" title="Permalink to this headline">¶</a></h3>
+<p>To run <cite>clang-include-fixer</cite> on a potentially unsaved buffer in Emacs.
+Ensure that Emacs finds <code class="docutils literal"><span class="pre">clang-include-fixer.el</span></code> by adding the directory
+containing the file to the <code class="docutils literal"><span class="pre">load-path</span></code> and requiring the <cite>clang-include-fixer</cite>
+in your <code class="docutils literal"><span class="pre">.emacs</span></code>:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="go">(add-to-list 'load-path "path/to/llvm/source/tools/clang/tools/extra/include-fixer/tool/"</span>
+<span class="go">(require 'clang-include-fixer)</span>
+</pre></div>
+</div>
+<p>Within Emacs the tool can be invoked with the command
+<code class="docutils literal"><span class="pre">M-x</span> <span class="pre">clang-include-fixer</span></code>. This will insert the header that defines the
+first undefined symbol; if there is more than one header that would define the
+symbol, the user is prompted to select one.</p>
+<p>To include the header that defines the symbol at point, run
+<code class="docutils literal"><span class="pre">M-x</span> <span class="pre">clang-include-fixer-at-point</span></code>.</p>
+<p>Make sure Emacs can find <strong class="program">clang-include-fixer</strong>:</p>
+<ul class="simple">
+<li>Either add the parent directory of <strong class="program">clang-include-fixer</strong> to the PATH
+environment variable, or customize the Emacs user option
+<code class="docutils literal"><span class="pre">clang-include-fixer-executable</span></code> to point to the file name of the program.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="how-it-works">
+<h2><a class="toc-backref" href="#id6">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" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/index.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/index.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/index.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,146 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Extra Clang Tools 6.0.0 Release Notes" href="ReleaseNotes.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="#">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Welcome to Extra Clang Tools’s documentation!</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        <a class="uplink" href="#">Contents</a>
+          ::  
+        <a href="ReleaseNotes.html">Extra Clang Tools 6.0.0 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 6.0.0 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#vim-integration">Vim Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clang-rename.html#emacs-integration">Emacs Integration</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="clangd.html">Clangd</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clangd.html#using-clangd">Using Clangd</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd.html#installing-clangd">Installing Clangd</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd.html#building-clangd">Building Clangd</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd.html#current-status">Current Status</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd.html#getting-involved">Getting Involved</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div class="section" id="doxygen-documentation">
+<h1>Doxygen Documentation<a class="headerlink" href="#doxygen-documentation" title="Permalink to this headline">¶</a></h1>
+<p>The Doxygen documentation describes the <strong>internal</strong> software that makes up the
+tools of clang-tools-extra, not the <strong>external</strong> use of these tools. The Doxygen
+documentation contains no instructions about how to use the tools, only the APIs
+that make up the software. For usage instructions, please see the user’s guide
+or reference manual for each tool.</p>
+<ul class="simple">
+<li><a class="reference external" href="doxygen/annotated.html">Doxygen documentation</a></li>
+</ul>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">This documentation is generated directly from the source code with doxygen.
+Since the tools of clang-tools-extra are constantly under active
+development, what you’re about to read is out of date!</p>
+</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"><span class="std std-ref">Index</span></a></li>
+<li><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></li>
+</ul>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        <a class="uplink" href="#">Contents</a>
+          ::  
+        <a href="ReleaseNotes.html">Extra Clang Tools 6.0.0 Release Notes</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/modularize.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/modularize.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/modularize.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/modularize.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,311 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Modularize Usage" href="ModularizeUsage.html" />
+    <link rel="prev" title="Clang-Include-Fixer" href="include-fixer.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Modularize User’s Manual</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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 <code class="docutils literal"><span class="pre">modularize</span></code> 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"><span class="doc">Modularize Usage</span></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-default"><div class="highlight"><pre><span></span><span class="n">error</span><span class="p">:</span> <span class="s1">'(symbol)'</span> <span class="n">defined</span> <span class="n">at</span> <span class="n">multiple</span> <span class="n">locations</span><span class="p">:</span>
+   <span class="p">(</span><span class="n">file</span><span class="p">):(</span><span class="n">row</span><span class="p">):(</span><span class="n">column</span><span class="p">)</span>
+   <span class="p">(</span><span class="n">file</span><span class="p">):(</span><span class="n">row</span><span class="p">):(</span><span class="n">column</span><span class="p">)</span>
+
+<span class="n">error</span><span class="p">:</span> <span class="n">header</span> <span class="s1">'(file)'</span> <span class="n">has</span> <span class="n">different</span> <span class="n">contents</span> <span class="n">depending</span> <span class="n">on</span> <span class="n">how</span> <span class="n">it</span> <span class="n">was</span> <span class="n">included</span>
+</pre></div>
+</div>
+<p>The latter might be followed by messages like the following:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">note</span><span class="p">:</span> <span class="s1">'(symbol)'</span> <span class="ow">in</span> <span class="p">(</span><span class="n">file</span><span class="p">)</span> <span class="n">at</span> <span class="p">(</span><span class="n">row</span><span class="p">):(</span><span class="n">column</span><span class="p">)</span> <span class="ow">not</span> <span class="n">always</span> <span class="n">provided</span>
+</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-default"><div class="highlight"><pre><span></span> <span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">SubHeader</span><span class="o">.</span><span class="n">h</span><span class="p">:</span><span class="mi">11</span><span class="p">:</span><span class="mi">5</span><span class="p">:</span>
+<span class="c1">#if SYMBOL == 1</span>
+    <span class="o">^</span>
+<span class="n">error</span><span class="p">:</span> <span class="n">Macro</span> <span class="n">instance</span> <span class="s1">'SYMBOL'</span> <span class="n">has</span> <span class="n">different</span> <span class="n">values</span> <span class="ow">in</span> <span class="n">this</span> <span class="n">header</span><span class="p">,</span>
+       <span class="n">depending</span> <span class="n">on</span> <span class="n">how</span> <span class="n">it</span> <span class="n">was</span> <span class="n">included</span><span class="o">.</span>
+  <span class="s1">'SYMBOL'</span> <span class="n">expanded</span> <span class="n">to</span><span class="p">:</span> <span class="s1">'1'</span> <span class="k">with</span> <span class="n">respect</span> <span class="n">to</span> <span class="n">these</span> <span class="n">inclusion</span> <span class="n">paths</span><span class="p">:</span>
+    <span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">Header1</span><span class="o">.</span><span class="n">h</span>
+      <span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">SubHeader</span><span class="o">.</span><span class="n">h</span>
+<span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">SubHeader</span><span class="o">.</span><span class="n">h</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span><span class="mi">9</span><span class="p">:</span>
+<span class="c1">#define SYMBOL 1</span>
+        <span class="o">^</span>
+<span class="n">Macro</span> <span class="n">defined</span> <span class="n">here</span><span class="o">.</span>
+  <span class="s1">'SYMBOL'</span> <span class="n">expanded</span> <span class="n">to</span><span class="p">:</span> <span class="s1">'2'</span> <span class="k">with</span> <span class="n">respect</span> <span class="n">to</span> <span class="n">these</span> <span class="n">inclusion</span> <span class="n">paths</span><span class="p">:</span>
+    <span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">Header2</span><span class="o">.</span><span class="n">h</span>
+        <span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">SubHeader</span><span class="o">.</span><span class="n">h</span>
+<span class="p">(</span><span class="o">...</span><span class="p">)</span><span class="o">/</span><span class="n">SubHeader</span><span class="o">.</span><span class="n">h</span><span class="p">:</span><span class="mi">7</span><span class="p">:</span><span class="mi">9</span><span class="p">:</span>
+<span class="c1">#define SYMBOL 2</span>
+        <span class="o">^</span>
+<span class="n">Macro</span> <span class="n">defined</span> <span class="n">here</span><span class="o">.</span>
+</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-default"><div class="highlight"><pre><span></span><span class="n">IncludeInExtern</span><span class="o">.</span><span class="n">h</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="c1">#include "Empty.h"</span>
+<span class="o">^</span>
+<span class="n">error</span><span class="p">:</span> <span class="n">Include</span> <span class="n">directive</span> <span class="n">within</span> <span class="n">extern</span> <span class="s2">"C"</span> <span class="p">{}</span><span class="o">.</span>
+<span class="n">IncludeInExtern</span><span class="o">.</span><span class="n">h</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span><span class="mi">1</span><span class="p">:</span>
+<span class="n">extern</span> <span class="s2">"C"</span> <span class="p">{</span>
+<span class="o">^</span>
+<span class="n">The</span> <span class="s2">"extern "</span><span class="n">C</span><span class="s2">" </span><span class="si">{}</span><span class="s2">"</span> <span class="n">block</span> <span class="ow">is</span> <span class="n">here</span><span class="o">.</span>
+</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 <code class="docutils literal"><span class="pre">-coverage-check-only</span> <span class="pre">option</span></code>.</p>
+<p>For example:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">modularize</span> <span class="o">-</span><span class="n">coverage</span><span class="o">-</span><span class="n">check</span><span class="o">-</span><span class="n">only</span> <span class="n">module</span><span class="o">.</span><span class="n">modulemap</span>
+</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 <code class="docutils literal"><span class="pre">-module-map-path=<module</span> <span class="pre">map</span> <span class="pre">file></span></code>,
+<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-default"><div class="highlight"><pre><span></span><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-default"><div class="highlight"><pre><span></span><span class="o">//</span> <span class="n">Output</span><span class="o">/</span><span class="n">NoProblemsAssistant</span><span class="o">.</span><span class="n">txt</span>
+<span class="o">//</span> <span class="n">Generated</span> <span class="n">by</span><span class="p">:</span> <span class="n">modularize</span> <span class="o">-</span><span class="n">module</span><span class="o">-</span><span class="nb">map</span><span class="o">-</span><span class="n">path</span><span class="o">=</span><span class="n">Output</span><span class="o">/</span><span class="n">NoProblemsAssistant</span><span class="o">.</span><span class="n">txt</span> \
+     <span class="o">-</span><span class="n">root</span><span class="o">-</span><span class="n">module</span><span class="o">=</span><span class="n">Root</span> <span class="n">NoProblemsAssistant</span><span class="o">.</span><span class="n">modularize</span>
+
+<span class="n">module</span> <span class="n">SomeTypes</span> <span class="p">{</span>
+  <span class="n">header</span> <span class="s2">"SomeTypes.h"</span>
+  <span class="n">export</span> <span class="o">*</span>
+<span class="p">}</span>
+<span class="n">module</span> <span class="n">SomeDecls</span> <span class="p">{</span>
+  <span class="n">header</span> <span class="s2">"SomeDecls.h"</span>
+  <span class="n">export</span> <span class="o">*</span>
+<span class="p">}</span>
+<span class="n">module</span> <span class="n">SubModule1</span> <span class="p">{</span>
+  <span class="n">module</span> <span class="n">Header1</span> <span class="p">{</span>
+    <span class="n">header</span> <span class="s2">"SubModule1/Header1.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+  <span class="n">module</span> <span class="n">Header2</span> <span class="p">{</span>
+    <span class="n">header</span> <span class="s2">"SubModule1/Header2.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+<span class="n">module</span> <span class="n">SubModule2</span> <span class="p">{</span>
+  <span class="n">module</span> <span class="n">Header3</span> <span class="p">{</span>
+    <span class="n">header</span> <span class="s2">"SubModule2/Header3.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+  <span class="n">module</span> <span class="n">Header4</span> <span class="p">{</span>
+    <span class="n">header</span> <span class="s2">"SubModule2/Header4.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+  <span class="n">header</span> <span class="s2">"SubModule2.h"</span>
+  <span class="n">export</span> <span class="o">*</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>An optional <code class="docutils literal"><span class="pre">-root-module=<root-name></span></code> option can be used to cause a root module
+to be created which encloses all the modules.</p>
+<p>An optional <code class="docutils literal"><span class="pre">-problem-files-list=<problem-file-name></span></code> 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-default"><div class="highlight"><pre><span></span><span class="o">//</span> <span class="n">Output</span><span class="o">/</span><span class="n">NoProblemsAssistant</span><span class="o">.</span><span class="n">txt</span>
+<span class="o">//</span> <span class="n">Generated</span> <span class="n">by</span><span class="p">:</span> <span class="n">modularize</span> <span class="o">-</span><span class="n">module</span><span class="o">-</span><span class="nb">map</span><span class="o">-</span><span class="n">path</span><span class="o">=</span><span class="n">Output</span><span class="o">/</span><span class="n">NoProblemsAssistant</span><span class="o">.</span><span class="n">txt</span> \
+     <span class="o">-</span><span class="n">root</span><span class="o">-</span><span class="n">module</span><span class="o">=</span><span class="n">Root</span> <span class="n">NoProblemsAssistant</span><span class="o">.</span><span class="n">modularize</span>
+
+<span class="n">module</span> <span class="n">Root</span> <span class="p">{</span>
+  <span class="n">module</span> <span class="n">SomeTypes</span> <span class="p">{</span>
+    <span class="n">header</span> <span class="s2">"SomeTypes.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+  <span class="n">module</span> <span class="n">SomeDecls</span> <span class="p">{</span>
+    <span class="n">header</span> <span class="s2">"SomeDecls.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+  <span class="n">module</span> <span class="n">SubModule1</span> <span class="p">{</span>
+    <span class="n">module</span> <span class="n">Header1</span> <span class="p">{</span>
+      <span class="n">header</span> <span class="s2">"SubModule1/Header1.h"</span>
+      <span class="n">export</span> <span class="o">*</span>
+    <span class="p">}</span>
+    <span class="n">module</span> <span class="n">Header2</span> <span class="p">{</span>
+      <span class="n">header</span> <span class="s2">"SubModule1/Header2.h"</span>
+      <span class="n">export</span> <span class="o">*</span>
+    <span class="p">}</span>
+  <span class="p">}</span>
+  <span class="n">module</span> <span class="n">SubModule2</span> <span class="p">{</span>
+    <span class="n">module</span> <span class="n">Header3</span> <span class="p">{</span>
+      <span class="n">header</span> <span class="s2">"SubModule2/Header3.h"</span>
+      <span class="n">export</span> <span class="o">*</span>
+    <span class="p">}</span>
+    <span class="n">module</span> <span class="n">Header4</span> <span class="p">{</span>
+      <span class="n">header</span> <span class="s2">"SubModule2/Header4.h"</span>
+      <span class="n">export</span> <span class="o">*</span>
+    <span class="p">}</span>
+    <span class="n">header</span> <span class="s2">"SubModule2.h"</span>
+    <span class="n">export</span> <span class="o">*</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</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 <code class="docutils literal"><span class="pre">header.h</span></code>,
+because <code class="docutils literal"><span class="pre">header</span></code> is a keyword, the module name will be <code class="docutils literal"><span class="pre">_header</span></code>.
+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" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/objects.inv
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/objects.inv?rev=326992&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/objects.inv
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/pp-trace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/pp-trace.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/pp-trace.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/pp-trace.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,1514 @@
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Clang-Rename" href="clang-rename.html" />
+    <link rel="prev" title="Modularize Usage" href="ModularizeUsage.html" /> 
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>pp-trace User’s Manual</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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"><span class="std std-ref">pp-trace Output Format</span></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><code 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></code></p>
+<p><code class="docutils literal"><span class="pre"><pp-trace-options></span></code> is a place-holder for options
+specific to pp-trace, which are described below in
+<a class="reference internal" href="#commandlineoptions"><span class="std std-ref">Command Line Options</span></a>.</p>
+<p><code class="docutils literal"><span class="pre"><source-file></span></code> specifies the source file to run through the preprocessor.</p>
+<p><code class="docutils literal"><span class="pre"><front-end-options></span></code> 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">
+<code class="descname">-ignore</code><code class="descclassname"> <callback-name-list></code><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">
+<code class="descname">-output</code><code class="descclassname"> <output-file></code><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-default"><div class="highlight"><pre><span></span><span class="o">---</span>
+<span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Name</span>
+  <span class="n">Argument1</span><span class="p">:</span> <span class="n">Value1</span>
+  <span class="n">Argument2</span><span class="p">:</span> <span class="n">Value2</span>
+<span class="p">(</span><span class="n">etc</span><span class="o">.</span><span class="p">)</span>
+<span class="o">...</span>
+</pre></div>
+</div>
+<p>With real data::</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">---</span>
+<span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">FileChanged</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"c:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:1:1"</span>
+  <span class="n">Reason</span><span class="p">:</span> <span class="n">EnterFile</span>
+  <span class="n">FileType</span><span class="p">:</span> <span class="n">C_User</span>
+  <span class="n">PrevFID</span><span class="p">:</span> <span class="p">(</span><span class="n">invalid</span><span class="p">)</span>
+  <span class="p">(</span><span class="n">etc</span><span class="o">.</span><span class="p">)</span>
+<span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">FileChanged</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:5:1"</span>
+  <span class="n">Reason</span><span class="p">:</span> <span class="n">ExitFile</span>
+  <span class="n">FileType</span><span class="p">:</span> <span class="n">C_User</span>
+  <span class="n">PrevFID</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/Input/Level1B.h"</span>
+<span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">EndOfMainFile</span>
+<span class="o">...</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">FileChanged</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:1:1"</span>
+  <span class="n">Reason</span><span class="p">:</span> <span class="n">EnterFile</span>
+  <span class="n">FileType</span><span class="p">:</span> <span class="n">C_User</span>
+  <span class="n">PrevFID</span><span class="p">:</span> <span class="p">(</span><span class="n">invalid</span><span class="p">)</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">FileSkipped</span>
+  <span class="n">ParentFile</span><span class="p">:</span> <span class="s2">"/path/filename.h"</span>
+  <span class="n">FilenameTok</span><span class="p">:</span> <span class="s2">"filename.h"</span>
+  <span class="n">FileType</span><span class="p">:</span> <span class="n">C_User</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">FileNotFound</span>
+  <span class="n">FileName</span><span class="p">:</span> <span class="s2">"/path/filename.h"</span>
+  <span class="n">RecoveryPath</span><span class="p">:</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">InclusionDirective</span>
+  <span class="n">IncludeTok</span><span class="p">:</span> <span class="n">include</span>
+  <span class="n">FileName</span><span class="p">:</span> <span class="s2">"Input/Level1B.h"</span>
+  <span class="n">IsAngled</span><span class="p">:</span> <span class="n">false</span>
+  <span class="n">FilenameRange</span><span class="p">:</span> <span class="s2">"Input/Level1B.h"</span>
+  <span class="n">File</span><span class="p">:</span> <span class="s2">"D:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/Input/Level1B.h"</span>
+  <span class="n">SearchPath</span><span class="p">:</span> <span class="s2">"D:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace"</span>
+  <span class="n">RelativePath</span><span class="p">:</span> <span class="s2">"Input/Level1B.h"</span>
+  <span class="n">Imported</span><span class="p">:</span> <span class="p">(</span><span class="n">null</span><span class="p">)</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">moduleImport</span>
+  <span class="n">ImportLoc</span><span class="p">:</span> <span class="s2">"d:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:2"</span>
+  <span class="n">Path</span><span class="p">:</span> <span class="p">[{</span><span class="n">Name</span><span class="p">:</span> <span class="n">Level1B</span><span class="p">,</span> <span class="n">Loc</span><span class="p">:</span> <span class="s2">"d:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:9"</span><span class="p">},</span> <span class="p">{</span><span class="n">Name</span><span class="p">:</span> <span class="n">Level2B</span><span class="p">,</span> <span class="n">Loc</span><span class="p">:</span> <span class="s2">"d:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:17"</span><span class="p">}]</span>
+  <span class="n">Imported</span><span class="p">:</span> <span class="n">Level2B</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">EndOfMainFile</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Ident</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-ident.cpp:3:1"</span>
+  <span class="nb">str</span><span class="p">:</span> <span class="s2">"$Id$"</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaDirective</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Introducer</span><span class="p">:</span> <span class="n">PIK_HashPragma</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaComment</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Kind</span><span class="p">:</span> <span class="n">library</span>
+  <span class="n">Str</span><span class="p">:</span> <span class="n">kernel32</span><span class="o">.</span><span class="n">lib</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaDetectMismatch</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Name</span><span class="p">:</span> <span class="n">name</span>
+  <span class="n">Value</span><span class="p">:</span> <span class="n">value</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaDebug</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">DebugType</span><span class="p">:</span> <span class="n">warning</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaMessage</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Namespace</span><span class="p">:</span> <span class="s2">"GCC"</span>
+  <span class="n">Kind</span><span class="p">:</span> <span class="n">PMK_Message</span>
+  <span class="n">Str</span><span class="p">:</span> <span class="n">The</span> <span class="n">message</span> <span class="n">text</span><span class="o">.</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaDiagnosticPush</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Namespace</span><span class="p">:</span> <span class="s2">"GCC"</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaDiagnosticPop</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Namespace</span><span class="p">:</span> <span class="s2">"GCC"</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaDiagnostic</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Namespace</span><span class="p">:</span> <span class="s2">"GCC"</span>
+  <span class="n">mapping</span><span class="p">:</span> <span class="n">MAP_WARNING</span>
+  <span class="n">Str</span><span class="p">:</span> <span class="n">WarningName</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaOpenCLExtension</span>
+  <span class="n">NameLoc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:10"</span>
+  <span class="n">Name</span><span class="p">:</span> <span class="n">Name</span>
+  <span class="n">StateLoc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:18"</span>
+  <span class="n">State</span><span class="p">:</span> <span class="mi">1</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaWarning</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">WarningSpec</span><span class="p">:</span> <span class="n">disable</span>
+  <span class="n">Ids</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>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaWarningPush</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+  <span class="n">Level</span><span class="p">:</span> <span class="mi">1</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">PragmaWarningPop</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">MacroExpands</span>
+  <span class="n">MacroNameTok</span><span class="p">:</span> <span class="n">X_IMPL</span>
+  <span class="n">MacroDirective</span><span class="p">:</span> <span class="n">MD_Define</span>
+  <span class="n">Range</span><span class="p">:</span> <span class="p">[(</span><span class="n">nonfile</span><span class="p">),</span> <span class="p">(</span><span class="n">nonfile</span><span class="p">)]</span>
+  <span class="n">Args</span><span class="p">:</span> <span class="p">[</span><span class="n">a</span> <span class="o"><</span><span class="n">plus</span><span class="o">></span> <span class="n">y</span><span class="p">,</span> <span class="n">b</span><span class="p">]</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">MacroDefined</span>
+  <span class="n">MacroNameTok</span><span class="p">:</span> <span class="n">X_IMPL</span>
+  <span class="n">MacroDirective</span><span class="p">:</span> <span class="n">MD_Define</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">MacroUndefined</span>
+  <span class="n">MacroNameTok</span><span class="p">:</span> <span class="n">X_IMPL</span>
+  <span class="n">MacroDirective</span><span class="p">:</span> <span class="n">MD_Define</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Defined</span>
+  <span class="n">MacroNameTok</span><span class="p">:</span> <span class="n">MACRO</span>
+  <span class="n">MacroDirective</span><span class="p">:</span> <span class="p">(</span><span class="n">null</span><span class="p">)</span>
+  <span class="n">Range</span><span class="p">:</span> <span class="p">[</span><span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:5"</span><span class="p">,</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:19"</span><span class="p">]</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">SourceRangeSkipped</span>
+  <span class="n">Range</span><span class="p">:</span> <span class="p">[</span><span class="s2">":/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"</span><span class="p">,</span> <span class="s2">":/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:9:2"</span><span class="p">]</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">If</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"</span>
+  <span class="n">ConditionRange</span><span class="p">:</span> <span class="p">[</span><span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:4"</span><span class="p">,</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:9:1"</span><span class="p">]</span>
+  <span class="n">ConditionValue</span><span class="p">:</span> <span class="n">false</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Elif</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"</span>
+  <span class="n">ConditionRange</span><span class="p">:</span> <span class="p">[</span><span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:4"</span><span class="p">,</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:11:1"</span><span class="p">]</span>
+  <span class="n">ConditionValue</span><span class="p">:</span> <span class="n">false</span>
+  <span class="n">IfLoc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Ifdef</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp:3:1"</span>
+  <span class="n">MacroNameTok</span><span class="p">:</span> <span class="n">MACRO</span>
+  <span class="n">MacroDirective</span><span class="p">:</span> <span class="n">MD_Define</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Ifndef</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp:3:1"</span>
+  <span class="n">MacroNameTok</span><span class="p">:</span> <span class="n">MACRO</span>
+  <span class="n">MacroDirective</span><span class="p">:</span> <span class="n">MD_Define</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Else</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"</span>
+  <span class="n">IfLoc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"</span>
+</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-default"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">Callback</span><span class="p">:</span> <span class="n">Endif</span>
+  <span class="n">Loc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"</span>
+  <span class="n">IfLoc</span><span class="p">:</span> <span class="s2">"D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"</span>
+</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 <code class="docutils literal"><span class="pre">pp-trace</span></code> target to build
+just the pp-trace tool and its dependencies.</li>
+</ul>
+</li>
+</ol>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <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" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/search.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/search.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/search.html (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/search.html Thu Mar  8 02:24:44 2018
@@ -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>Search — Extra Clang Tools 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <script type="text/javascript" src="_static/searchtools.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="#" />
+  <script type="text/javascript">
+    jQuery(function() { Search.loadIndex("searchindex.js"); });
+  </script>
+  
+  <script type="text/javascript" id="searchindexloader"></script>
+   
+
+  </head>
+  <body role="document">
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 6 documentation</span></a></h1>
+        <h2 class="heading"><span>Search</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <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" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        <a class="uplink" href="index.html">Contents</a>
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2018, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/searchindex.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/searchindex.js?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/searchindex.js (added)
+++ www-releases/trunk/6.0.0/tools/clang/tools/extra/docs/searchindex.js Thu Mar  8 02:24:44 2018
@@ -0,0 +1 @@
+Search.setIndex({docnames:["ModularizeUsage","ReleaseNotes","clang-modernize","clang-rename","clang-tidy","clang-tidy/checks/android-cloexec-accept","clang-tidy/checks/android-cloexec-accept4","clang-tidy/checks/android-cloexec-creat","clang-tidy/checks/android-cloexec-dup","clang-tidy/checks/android-cloexec-epoll-create","clang-tidy/checks/android-cloexec-epoll-create1","clang-tidy/checks/android-cloexec-fopen","clang-tidy/checks/android-cloexec-inotify-init","clang-tidy/checks/android-cloexec-inotify-init1","clang-tidy/checks/android-cloexec-memfd-create","clang-tidy/checks/android-cloexec-open","clang-tidy/checks/android-cloexec-socket","clang-tidy/checks/boost-use-to-string","clang-tidy/checks/bugprone-argument-comment","clang-tidy/checks/bugprone-assert-side-effect","clang-tidy/checks/bugprone-bool-pointer-implicit-conversion","clang-tidy/checks/bugprone-copy-constructor-init","clang-tidy/checks/bugprone-dangling-handle","clang-tidy/checks/bugprone-fold-init-type","clang-tidy/checks/bugprone-forward-declaration-namespace","clang-tidy/checks/bugprone-inaccurate-erase","clang-tidy/checks/bugprone-integer-division","clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc","clang-tidy/checks/bugprone-move-forwarding-reference","clang-tidy/checks/bugprone-multiple-statement-macro","clang-tidy/checks/bugprone-string-constructor","clang-tidy/checks/bugprone-suspicious-memset-usage","clang-tidy/checks/bugprone-undefined-memory-manipulation","clang-tidy/checks/bugprone-use-after-move","clang-tidy/checks/bugprone-virtual-near-miss","clang-tidy/checks/cert-dcl03-c","clang-tidy/checks/cert-dcl21-cpp","clang-tidy/checks/cert-dcl50-cpp","clang-tidy/checks/cert-dcl54-cpp","clang-tidy/checks/cert-dcl58-cpp","clang-tidy/checks/cert-dcl59-cpp","clang-tidy/checks/cert-env33-c","clang-tidy/checks/cert-err09-cpp","clang-tidy/checks/cert-err34-c","clang-tidy/checks/cert-err52-cpp","clang-tidy/checks/cert-err58-cpp","clang-tidy/checks/cert-err60-cpp","clang-tidy/checks/cert-err61-cpp","clang-tidy/checks/cert-fio38-c","clang-tidy/checks/cert-flp30-c","clang-tidy/checks/cert-msc30-c","clang-tidy/checks/cert-msc50-cpp","clang-tidy/checks/cert-oop11-cpp","clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature","clang-tidy/checks/cppcoreguidelines-interfaces-global-init","clang-tidy/checks/cppcoreguidelines-no-malloc","clang-tidy/checks/cppcoreguidelines-owning-memory","clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay","clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index","clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic","clang-tidy/checks/cppcoreguidelines-pro-type-const-cast","clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast","clang-tidy/checks/cppcoreguidelines-pro-type-member-init","clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast","clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast","clang-tidy/checks/cppcoreguidelines-pro-type-union-access","clang-tidy/checks/cppcoreguidelines-pro-type-vararg","clang-tidy/checks/cppcoreguidelines-slicing","clang-tidy/checks/cppcoreguidelines-special-member-functions","clang-tidy/checks/fuchsia-default-arguments","clang-tidy/checks/fuchsia-overloaded-operator","clang-tidy/checks/fuchsia-virtual-inheritance","clang-tidy/checks/google-build-explicit-make-pair","clang-tidy/checks/google-build-namespaces","clang-tidy/checks/google-build-using-namespace","clang-tidy/checks/google-default-arguments","clang-tidy/checks/google-explicit-constructor","clang-tidy/checks/google-global-names-in-headers","clang-tidy/checks/google-objc-avoid-throwing-exception","clang-tidy/checks/google-objc-global-variable-declaration","clang-tidy/checks/google-readability-braces-around-statements","clang-tidy/checks/google-readability-casting","clang-tidy/checks/google-readability-function-size","clang-tidy/checks/google-readability-namespace-comments","clang-tidy/checks/google-readability-redundant-smartptr-get","clang-tidy/checks/google-readability-todo","clang-tidy/checks/google-runtime-int","clang-tidy/checks/google-runtime-member-string-references","clang-tidy/checks/google-runtime-operator","clang-tidy/checks/google-runtime-references","clang-tidy/checks/hicpp-braces-around-statements","clang-tidy/checks/hicpp-deprecated-headers","clang-tidy/checks/hicpp-exception-baseclass","clang-tidy/checks/hicpp-explicit-conversions","clang-tidy/checks/hicpp-function-size","clang-tidy/checks/hicpp-invalid-access-moved","clang-tidy/checks/hicpp-member-init","clang-tidy/checks/hicpp-move-const-arg","clang-tidy/checks/hicpp-named-parameter","clang-tidy/checks/hicpp-new-delete-operators","clang-tidy/checks/hicpp-no-array-decay","clang-tidy/checks/hicpp-no-assembler","clang-tidy/checks/hicpp-no-malloc","clang-tidy/checks/hicpp-noexcept-move","clang-tidy/checks/hicpp-signed-bitwise","clang-tidy/checks/hicpp-special-member-functions","clang-tidy/checks/hicpp-static-assert","clang-tidy/checks/hicpp-undelegated-constructor","clang-tidy/checks/hicpp-use-auto","clang-tidy/checks/hicpp-use-emplace","clang-tidy/checks/hicpp-use-equals-default","clang-tidy/checks/hicpp-use-equals-delete","clang-tidy/checks/hicpp-use-noexcept","clang-tidy/checks/hicpp-use-nullptr","clang-tidy/checks/hicpp-use-override","clang-tidy/checks/hicpp-vararg","clang-tidy/checks/list","clang-tidy/checks/llvm-header-guard","clang-tidy/checks/llvm-include-order","clang-tidy/checks/llvm-namespace-comment","clang-tidy/checks/llvm-twine-local","clang-tidy/checks/misc-definitions-in-headers","clang-tidy/checks/misc-forwarding-reference-overload","clang-tidy/checks/misc-incorrect-roundings","clang-tidy/checks/misc-lambda-function-name","clang-tidy/checks/misc-macro-parentheses","clang-tidy/checks/misc-macro-repeated-side-effects","clang-tidy/checks/misc-misplaced-const","clang-tidy/checks/misc-misplaced-widening-cast","clang-tidy/checks/misc-new-delete-overloads","clang-tidy/checks/misc-non-copyable-objects","clang-tidy/checks/misc-redundant-expression","clang-tidy/checks/misc-sizeof-container","clang-tidy/checks/misc-sizeof-expression","clang-tidy/checks/misc-static-assert","clang-tidy/checks/misc-string-compare","clang-tidy/checks/misc-string-integer-assignment","clang-tidy/checks/misc-string-literal-with-embedded-nul","clang-tidy/checks/misc-suspicious-enum-usage","clang-tidy/checks/misc-suspicious-missing-comma","clang-tidy/checks/misc-suspicious-semicolon","clang-tidy/checks/misc-suspicious-string-compare","clang-tidy/checks/misc-swapped-arguments","clang-tidy/checks/misc-throw-by-value-catch-by-reference","clang-tidy/checks/misc-unconventional-assign-operator","clang-tidy/checks/misc-undelegated-constructor","clang-tidy/checks/misc-uniqueptr-reset-release","clang-tidy/checks/misc-unused-alias-decls","clang-tidy/checks/misc-unused-parameters","clang-tidy/checks/misc-unused-raii","clang-tidy/checks/misc-unused-using-decls","clang-tidy/checks/modernize-avoid-bind","clang-tidy/checks/modernize-deprecated-headers","clang-tidy/checks/modernize-loop-convert","clang-tidy/checks/modernize-make-shared","clang-tidy/checks/modernize-make-unique","clang-tidy/checks/modernize-pass-by-value","clang-tidy/checks/modernize-raw-string-literal","clang-tidy/checks/modernize-redundant-void-arg","clang-tidy/checks/modernize-replace-auto-ptr","clang-tidy/checks/modernize-replace-random-shuffle","clang-tidy/checks/modernize-return-braced-init-list","clang-tidy/checks/modernize-shrink-to-fit","clang-tidy/checks/modernize-unary-static-assert","clang-tidy/checks/modernize-use-auto","clang-tidy/checks/modernize-use-bool-literals","clang-tidy/checks/modernize-use-default","clang-tidy/checks/modernize-use-default-member-init","clang-tidy/checks/modernize-use-emplace","clang-tidy/checks/modernize-use-equals-default","clang-tidy/checks/modernize-use-equals-delete","clang-tidy/checks/modernize-use-noexcept","clang-tidy/checks/modernize-use-nullptr","clang-tidy/checks/modernize-use-override","clang-tidy/checks/modernize-use-transparent-functors","clang-tidy/checks/modernize-use-using","clang-tidy/checks/mpi-buffer-deref","clang-tidy/checks/mpi-type-mismatch","clang-tidy/checks/objc-avoid-nserror-init","clang-tidy/checks/objc-avoid-spinlock","clang-tidy/checks/objc-forbidden-subclassing","clang-tidy/checks/objc-property-declaration","clang-tidy/checks/performance-faster-string-find","clang-tidy/checks/performance-for-range-copy","clang-tidy/checks/performance-implicit-cast-in-loop","clang-tidy/checks/performance-implicit-conversion-in-loop","clang-tidy/checks/performance-inefficient-algorithm","clang-tidy/checks/performance-inefficient-string-concatenation","clang-tidy/checks/performance-inefficient-vector-operation","clang-tidy/checks/performance-move-const-arg","clang-tidy/checks/performance-move-constructor-init","clang-tidy/checks/performance-noexcept-move-constructor","clang-tidy/checks/performance-type-promotion-in-math-fn","clang-tidy/checks/performance-unnecessary-copy-initialization","clang-tidy/checks/performance-unnecessary-value-param","clang-tidy/checks/readability-avoid-const-params-in-decls","clang-tidy/checks/readability-braces-around-statements","clang-tidy/checks/readability-container-size-empty","clang-tidy/checks/readability-delete-null-pointer","clang-tidy/checks/readability-deleted-default","clang-tidy/checks/readability-else-after-return","clang-tidy/checks/readability-function-size","clang-tidy/checks/readability-identifier-naming","clang-tidy/checks/readability-implicit-bool-cast","clang-tidy/checks/readability-implicit-bool-conversion","clang-tidy/checks/readability-inconsistent-declaration-parameter-name","clang-tidy/checks/readability-misleading-indentation","clang-tidy/checks/readability-misplaced-array-index","clang-tidy/checks/readability-named-parameter","clang-tidy/checks/readability-non-const-parameter","clang-tidy/checks/readability-redundant-control-flow","clang-tidy/checks/readability-redundant-declaration","clang-tidy/checks/readability-redundant-function-ptr-dereference","clang-tidy/checks/readability-redundant-member-init","clang-tidy/checks/readability-redundant-smartptr-get","clang-tidy/checks/readability-redundant-string-cstr","clang-tidy/checks/readability-redundant-string-init","clang-tidy/checks/readability-simplify-boolean-expr","clang-tidy/checks/readability-static-accessed-through-instance","clang-tidy/checks/readability-static-definition-in-anonymous-namespace","clang-tidy/checks/readability-uniqueptr-delete-release","clang-tidy/index","clangd","cpp11-migrate","include-fixer","index","modularize","pp-trace"],envversion:50,filenames:["ModularizeUsage.rst","ReleaseNotes.rst","clang-modernize.rst","clang-rename.rst","clang-tidy.rst","clang-tidy/checks/android-cloexec-accept.rst","clang-tidy/checks/android-cloexec-accept4.rst","clang-tidy/checks/android-cloexec-creat.rst","clang-tidy/checks/android-cloexec-dup.rst","clang-tidy/checks/android-cloexec-epoll-create.rst","clang-tidy/checks/android-cloexec-epoll-create1.rst","clang-tidy/checks/android-cloexec-fopen.rst","clang-tidy/checks/android-cloexec-inotify-init.rst","clang-tidy/checks/android-cloexec-inotify-init1.rst","clang-tidy/checks/android-cloexec-memfd-create.rst","clang-tidy/checks/android-cloexec-open.rst","clang-tidy/checks/android-cloexec-socket.rst","clang-tidy/checks/boost-use-to-string.rst","clang-tidy/checks/bugprone-argument-comment.rst","clang-tidy/checks/bugprone-assert-side-effect.rst","clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst","clang-tidy/checks/bugprone-copy-constructor-init.rst","clang-tidy/checks/bugprone-dangling-handle.rst","clang-tidy/checks/bugprone-fold-init-type.rst","clang-tidy/checks/bugprone-forward-declaration-namespace.rst","clang-tidy/checks/bugprone-inaccurate-erase.rst","clang-tidy/checks/bugprone-integer-division.rst","clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst","clang-tidy/checks/bugprone-move-forwarding-reference.rst","clang-tidy/checks/bugprone-multiple-statement-macro.rst","clang-tidy/checks/bugprone-string-constructor.rst","clang-tidy/checks/bugprone-suspicious-memset-usage.rst","clang-tidy/checks/bugprone-undefined-memory-manipulation.rst","clang-tidy/checks/bugprone-use-after-move.rst","clang-tidy/checks/bugprone-virtual-near-miss.rst","clang-tidy/checks/cert-dcl03-c.rst","clang-tidy/checks/cert-dcl21-cpp.rst","clang-tidy/checks/cert-dcl50-cpp.rst","clang-tidy/checks/cert-dcl54-cpp.rst","clang-tidy/checks/cert-dcl58-cpp.rst","clang-tidy/checks/cert-dcl59-cpp.rst","clang-tidy/checks/cert-env33-c.rst","clang-tidy/checks/cert-err09-cpp.rst","clang-tidy/checks/cert-err34-c.rst","clang-tidy/checks/cert-err52-cpp.rst","clang-tidy/checks/cert-err58-cpp.rst","clang-tidy/checks/cert-err60-cpp.rst","clang-tidy/checks/cert-err61-cpp.rst","clang-tidy/checks/cert-fio38-c.rst","clang-tidy/checks/cert-flp30-c.rst","clang-tidy/checks/cert-msc30-c.rst","clang-tidy/checks/cert-msc50-cpp.rst","clang-tidy/checks/cert-oop11-cpp.rst","clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst","clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst","clang-tidy/checks/cppcoreguidelines-no-malloc.rst","clang-tidy/checks/cppcoreguidelines-owning-memory.rst","clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst","clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.rst","clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.rst","clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst","clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.rst","clang-tidy/checks/cppcoreguidelines-pro-type-member-init.rst","clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.rst","clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.rst","clang-tidy/checks/cppcoreguidelines-pro-type-union-access.rst","clang-tidy/checks/cppcoreguidelines-pro-type-vararg.rst","clang-tidy/checks/cppcoreguidelines-slicing.rst","clang-tidy/checks/cppcoreguidelines-special-member-functions.rst","clang-tidy/checks/fuchsia-default-arguments.rst","clang-tidy/checks/fuchsia-overloaded-operator.rst","clang-tidy/checks/fuchsia-virtual-inheritance.rst","clang-tidy/checks/google-build-explicit-make-pair.rst","clang-tidy/checks/google-build-namespaces.rst","clang-tidy/checks/google-build-using-namespace.rst","clang-tidy/checks/google-default-arguments.rst","clang-tidy/checks/google-explicit-constructor.rst","clang-tidy/checks/google-global-names-in-headers.rst","clang-tidy/checks/google-objc-avoid-throwing-exception.rst","clang-tidy/checks/google-objc-global-variable-declaration.rst","clang-tidy/checks/google-readability-braces-around-statements.rst","clang-tidy/checks/google-readability-casting.rst","clang-tidy/checks/google-readability-function-size.rst","clang-tidy/checks/google-readability-namespace-comments.rst","clang-tidy/checks/google-readability-redundant-smartptr-get.rst","clang-tidy/checks/google-readability-todo.rst","clang-tidy/checks/google-runtime-int.rst","clang-tidy/checks/google-runtime-member-string-references.rst","clang-tidy/checks/google-runtime-operator.rst","clang-tidy/checks/google-runtime-references.rst","clang-tidy/checks/hicpp-braces-around-statements.rst","clang-tidy/checks/hicpp-deprecated-headers.rst","clang-tidy/checks/hicpp-exception-baseclass.rst","clang-tidy/checks/hicpp-explicit-conversions.rst","clang-tidy/checks/hicpp-function-size.rst","clang-tidy/checks/hicpp-invalid-access-moved.rst","clang-tidy/checks/hicpp-member-init.rst","clang-tidy/checks/hicpp-move-const-arg.rst","clang-tidy/checks/hicpp-named-parameter.rst","clang-tidy/checks/hicpp-new-delete-operators.rst","clang-tidy/checks/hicpp-no-array-decay.rst","clang-tidy/checks/hicpp-no-assembler.rst","clang-tidy/checks/hicpp-no-malloc.rst","clang-tidy/checks/hicpp-noexcept-move.rst","clang-tidy/checks/hicpp-signed-bitwise.rst","clang-tidy/checks/hicpp-special-member-functions.rst","clang-tidy/checks/hicpp-static-assert.rst","clang-tidy/checks/hicpp-undelegated-constructor.rst","clang-tidy/checks/hicpp-use-auto.rst","clang-tidy/checks/hicpp-use-emplace.rst","clang-tidy/checks/hicpp-use-equals-default.rst","clang-tidy/checks/hicpp-use-equals-delete.rst","clang-tidy/checks/hicpp-use-noexcept.rst","clang-tidy/checks/hicpp-use-nullptr.rst","clang-tidy/checks/hicpp-use-override.rst","clang-tidy/checks/hicpp-vararg.rst","clang-tidy/checks/list.rst","clang-tidy/checks/llvm-header-guard.rst","clang-tidy/checks/llvm-include-order.rst","clang-tidy/checks/llvm-namespace-comment.rst","clang-tidy/checks/llvm-twine-local.rst","clang-tidy/checks/misc-definitions-in-headers.rst","clang-tidy/checks/misc-forwarding-reference-overload.rst","clang-tidy/checks/misc-incorrect-roundings.rst","clang-tidy/checks/misc-lambda-function-name.rst","clang-tidy/checks/misc-macro-parentheses.rst","clang-tidy/checks/misc-macro-repeated-side-effects.rst","clang-tidy/checks/misc-misplaced-const.rst","clang-tidy/checks/misc-misplaced-widening-cast.rst","clang-tidy/checks/misc-new-delete-overloads.rst","clang-tidy/checks/misc-non-copyable-objects.rst","clang-tidy/checks/misc-redundant-expression.rst","clang-tidy/checks/misc-sizeof-container.rst","clang-tidy/checks/misc-sizeof-expression.rst","clang-tidy/checks/misc-static-assert.rst","clang-tidy/checks/misc-string-compare.rst","clang-tidy/checks/misc-string-integer-assignment.rst","clang-tidy/checks/misc-string-literal-with-embedded-nul.rst","clang-tidy/checks/misc-suspicious-enum-usage.rst","clang-tidy/checks/misc-suspicious-missing-comma.rst","clang-tidy/checks/misc-suspicious-semicolon.rst","clang-tidy/checks/misc-suspicious-string-compare.rst","clang-tidy/checks/misc-swapped-arguments.rst","clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst","clang-tidy/checks/misc-unconventional-assign-operator.rst","clang-tidy/checks/misc-undelegated-constructor.rst","clang-tidy/checks/misc-uniqueptr-reset-release.rst","clang-tidy/checks/misc-unused-alias-decls.rst","clang-tidy/checks/misc-unused-parameters.rst","clang-tidy/checks/misc-unused-raii.rst","clang-tidy/checks/misc-unused-using-decls.rst","clang-tidy/checks/modernize-avoid-bind.rst","clang-tidy/checks/modernize-deprecated-headers.rst","clang-tidy/checks/modernize-loop-convert.rst","clang-tidy/checks/modernize-make-shared.rst","clang-tidy/checks/modernize-make-unique.rst","clang-tidy/checks/modernize-pass-by-value.rst","clang-tidy/checks/modernize-raw-string-literal.rst","clang-tidy/checks/modernize-redundant-void-arg.rst","clang-tidy/checks/modernize-replace-auto-ptr.rst","clang-tidy/checks/modernize-replace-random-shuffle.rst","clang-tidy/checks/modernize-return-braced-init-list.rst","clang-tidy/checks/modernize-shrink-to-fit.rst","clang-tidy/checks/modernize-unary-static-assert.rst","clang-tidy/checks/modernize-use-auto.rst","clang-tidy/checks/modernize-use-bool-literals.rst","clang-tidy/checks/modernize-use-default.rst","clang-tidy/checks/modernize-use-default-member-init.rst","clang-tidy/checks/modernize-use-emplace.rst","clang-tidy/checks/modernize-use-equals-default.rst","clang-tidy/checks/modernize-use-equals-delete.rst","clang-tidy/checks/modernize-use-noexcept.rst","clang-tidy/checks/modernize-use-nullptr.rst","clang-tidy/checks/modernize-use-override.rst","clang-tidy/checks/modernize-use-transparent-functors.rst","clang-tidy/checks/modernize-use-using.rst","clang-tidy/checks/mpi-buffer-deref.rst","clang-tidy/checks/mpi-type-mismatch.rst","clang-tidy/checks/objc-avoid-nserror-init.rst","clang-tidy/checks/objc-avoid-spinlock.rst","clang-tidy/checks/objc-forbidden-subclassing.rst","clang-tidy/checks/objc-property-declaration.rst","clang-tidy/checks/performance-faster-string-find.rst","clang-tidy/checks/performance-for-range-copy.rst","clang-tidy/checks/performance-implicit-cast-in-loop.rst","clang-tidy/checks/performance-implicit-conversion-in-loop.rst","clang-tidy/checks/performance-inefficient-algorithm.rst","clang-tidy/checks/performance-inefficient-string-concatenation.rst","clang-tidy/checks/performance-inefficient-vector-operation.rst","clang-tidy/checks/performance-move-const-arg.rst","clang-tidy/checks/performance-move-constructor-init.rst","clang-tidy/checks/performance-noexcept-move-constructor.rst","clang-tidy/checks/performance-type-promotion-in-math-fn.rst","clang-tidy/checks/performance-unnecessary-copy-initialization.rst","clang-tidy/checks/performance-unnecessary-value-param.rst","clang-tidy/checks/readability-avoid-const-params-in-decls.rst","clang-tidy/checks/readability-braces-around-statements.rst","clang-tidy/checks/readability-container-size-empty.rst","clang-tidy/checks/readability-delete-null-pointer.rst","clang-tidy/checks/readability-deleted-default.rst","clang-tidy/checks/readability-else-after-return.rst","clang-tidy/checks/readability-function-size.rst","clang-tidy/checks/readability-identifier-naming.rst","clang-tidy/checks/readability-implicit-bool-cast.rst","clang-tidy/checks/readability-implicit-bool-conversion.rst","clang-tidy/checks/readability-inconsistent-declaration-parameter-name.rst","clang-tidy/checks/readability-misleading-indentation.rst","clang-tidy/checks/readability-misplaced-array-index.rst","clang-tidy/checks/readability-named-parameter.rst","clang-tidy/checks/readability-non-const-parameter.rst","clang-tidy/checks/readability-redundant-control-flow.rst","clang-tidy/checks/readability-redundant-declaration.rst","clang-tidy/checks/readability-redundant-function-ptr-dereference.rst","clang-tidy/checks/readability-redundant-member-init.rst","clang-tidy/checks/readability-redundant-smartptr-get.rst","clang-tidy/checks/readability-redundant-string-cstr.rst","clang-tidy/checks/readability-redundant-string-init.rst","clang-tidy/checks/readability-simplify-boolean-expr.rst","clang-tidy/checks/readability-static-accessed-through-instance.rst","clang-tidy/checks/readability-static-definition-in-anonymous-namespace.rst","clang-tidy/checks/readability-uniqueptr-delete-release.rst","clang-tidy/index.rst","clangd.rst","cpp11-migrate.rst","include-fixer.rst","index.rst","modularize.rst","pp-trace.rst"],objects:{"":{"-block-check-header-list-only":[0,0,1,"cmdoption-block-check-header-list-only"],"-coverage-check-only":[0,0,1,"cmdoption-coverage-check-only"],"-display-file-lists":[0,0,1,"cmdoption-display-file-lists"],"-ignore":[227,0,1,"cmdoption-ignore"],"-module-map-path":[0,0,1,"cmdoption-module-map-path"],"-no-coverage-check":[0,0,1,"cmdoption-no-coverage-check"],"-output":[227,0,1,"cmdoption-output"],"-prefix":[0,0,1,"cmdoption-prefix"],"-problem-files-list":[0,0,1,"cmdoption-problem-files-list"],"-root-module":[0,0,1,"cmdoption-root-module"],Acronyms:[181,0,1,"cmdoption-arg-acronyms"],Allocations:[55,0,1,"cmdoption-arg-allocations"],AllowIntegerConditions:[204,0,1,"cmdoption-arg-allowintegerconditions"],AllowMissingMoveFunctions:[68,0,1,"cmdoption-arg-allowmissingmovefunctions"],AllowPointerConditions:[204,0,1,"cmdoption-arg-allowpointerconditions"],AllowSoleDefaultDtor:[68,0,1,"cmdoption-arg-allowsoledefaultdtor"],AssertMacros:[19,0,1,"cmdoption-arg-assertmacros"],BranchThreshold:[201,0,1,"cmdoption-arg-branchthreshold"],ChainedConditionalAssignment:[217,0,1,"cmdoption-arg-chainedconditionalassignment"],ChainedConditionalReturn:[217,0,1,"cmdoption-arg-chainedconditionalreturn"],CheckFunctionCalls:[19,0,1,"cmdoption-arg-checkfunctioncalls"],CheckImplicitCasts:[128,0,1,"cmdoption-arg-checkimplicitcasts"],CheckThrowTemporaries:[143,0,1,"cmdoption-arg-checkthrowtemporaries"],CheckTriviallyCopyableMove:[189,0,1,"cmdoption-arg-checktriviallycopyablemove"],ContainersWithPushBack:[168,0,1,"cmdoption-arg-containerswithpushback"],Deallocations:[55,0,1,"cmdoption-arg-deallocations"],ForbiddenSuperClassNames:[180,0,1,"cmdoption-arg-forbiddensuperclassnames"],GslHeader:[58,0,1,"cmdoption-arg-gslheader"],HandleClasses:[22,0,1,"cmdoption-arg-handleclasses"],HeaderFileExtensions:[121,0,1,"cmdoption-arg-headerfileextensions"],IgnoreArrays:[62,0,1,"cmdoption-arg-ignorearrays"],IgnoreImplicitConstructors:[168,0,1,"cmdoption-arg-ignoreimplicitconstructors"],IgnoreMacros:[211,0,1,"cmdoption-arg-ignoremacros"],IncludeStyle:[194,0,1,"cmdoption-arg-includestyle"],LargeLengthThreshold:[30,0,1,"cmdoption-arg-largelengththreshold"],LegacyResourceConsumers:[56,0,1,"cmdoption-arg-legacyresourceconsumers"],LegacyResourceProducers:[56,0,1,"cmdoption-arg-legacyresourceproducers"],LineThreshold:[201,0,1,"cmdoption-arg-linethreshold"],MakeSmartPtrFunction:[155,0,1,"cmdoption-arg-makesmartptrfunction"],MakeSmartPtrFunctionHeader:[155,0,1,"cmdoption-arg-makesmartptrfunctionheader"],MaxConcatenatedTokens:[139,0,1,"cmdoption-arg-maxconcatenatedtokens"],NestingThreshold:[201,0,1,"cmdoption-arg-nestingthreshold"],NullMacros:[172,0,1,"cmdoption-arg-nullmacros"],ParameterThreshold:[201,0,1,"cmdoption-arg-parameterthreshold"],RatioThreshold:[139,0,1,"cmdoption-arg-ratiothreshold"],Reallocations:[55,0,1,"cmdoption-arg-reallocations"],RemoveStars:[164,0,1,"cmdoption-arg-removestars"],ReplacementString:[171,0,1,"cmdoption-arg-replacementstring"],SafeMode:[174,0,1,"cmdoption-arg-safemode"],ShortNamespaceLines:[119,0,1,"cmdoption-arg-shortnamespacelines"],ShortStatementLines:[196,0,1,"cmdoption-arg-shortstatementlines"],SignedTypePrefix:[86,0,1,"cmdoption-arg-signedtypeprefix"],SizeThreshold:[139,0,1,"cmdoption-arg-sizethreshold"],SmartPointers:[168,0,1,"cmdoption-arg-smartpointers"],SpacesBeforeComments:[119,0,1,"cmdoption-arg-spacesbeforecomments"],StatementThreshold:[201,0,1,"cmdoption-arg-statementthreshold"],StrictMode:[187,0,1,"cmdoption-arg-strictmode"],StringCompareLikeFunctions:[141,0,1,"cmdoption-arg-stringcomparelikefunctions"],StringLikeClasses:[182,0,1,"cmdoption-arg-stringlikeclasses"],TupleMakeFunctions:[168,0,1,"cmdoption-arg-tuplemakefunctions"],TupleTypes:[168,0,1,"cmdoption-arg-tupletypes"],TypeSuffix:[86,0,1,"cmdoption-arg-typesuffix"],UnsignedTypePrefix:[86,0,1,"cmdoption-arg-unsignedtypeprefix"],UseAssignment:[167,0,1,"cmdoption-arg-useassignment"],UseHeaderFileExtension:[121,0,1,"cmdoption-arg-useheaderfileextension"],UseNoexceptFalse:[171,0,1,"cmdoption-arg-usenoexceptfalse"],ValuesOnly:[156,0,1,"cmdoption-arg-valuesonly"],VectorLikeClasses:[188,0,1,"cmdoption-arg-vectorlikeclasses"],WarnOnAllAutoCopies:[183,0,1,"cmdoption-arg-warnonallautocopies"],WarnOnImplicitComparison:[141,0,1,"cmdoption-arg-warnonimplicitcomparison"],WarnOnLargeLength:[30,0,1,"cmdoption-arg-warnonlargelength"],WarnOnLogicalNotComparison:[141,0,1,"cmdoption-arg-warnonlogicalnotcomparison"],WarnOnSizeOfCompareToConstant:[133,0,1,"cmdoption-arg-warnonsizeofcomparetoconstant"],WarnOnSizeOfConstant:[133,0,1,"cmdoption-arg-warnonsizeofconstant"],WarnOnSizeOfThis:[133,0,1,"cmdoption-arg-warnonsizeofthis"],WhiteListTypes:[89,0,1,"cmdoption-arg-whitelisttypes"]}},objnames:{"0":["std","cmdoption","program option"]},objtypes:{"0":"std:cmdoption"},terms:{"0abc":137,"0def":137,"0x00":[31,137],"0x01":137,"0x02":137,"0x12":137,"0x42":137,"0x8000":133,"0x800000":30,"0xabcd":31,"0xff":137,"2137ll":17,"21l":168,"2line3":139,"37l":168,"3rd":159,"65536ll":23,"boolean":[116,204],"break":[152,200,221],"byte":[31,133,137],"case":[1,18,21,26,27,31,33,56,64,72,81,121,122,128,133,137,138,139,140,143,153,157,164,168,174,177,181,189,193,202,204,205,206,211,219,221,226,227],"catch":[42,47,56,116],"char":[22,27,31,43,55,87,116,121,136,137,139,143,157,168,172,174,176,177,209,221,227],"class":[1,3,21,22,33,34,56,62,64,68,71,92,96,121,122,129,132,133,137,144,145,150,156,159,167,168,175,180,182,187,188,190,199,204,213,221,227],"const":[1,19,21,33,36,43,56,68,70,76,79,87,93,116,121,122,132,133,137,139,153,156,157,159,170,174,175,183,185,187,193,194,197,199,219,221,227],"default":[0,1,3,18,19,21,22,23,30,55,56,58,62,68,73,77,86,89,111,116,117,119,121,122,128,133,138,139,141,143,154,155,156,159,164,165,168,171,172,174,175,180,181,182,183,187,188,189,190,194,196,201,204,211,213,217,221,224,227],"enum":[116,153,167,227],"export":[3,221,226],"float":[1,17,23,26,49,116,123,152,192,204],"function":[1,3,15,19,27,28,31,32,33,34,37,43,51,54,55,56,66,67,69,76,89,110,111,114,116,121,127,129,133,135,136,141,143,145,151,152,153,154,155,156,159,160,161,164,168,169,170,176,177,179,183,187,192,193,194,195,197,205,208,209,210,211,219,221,222,226,227],"import":[62,206,227],"int":[7,8,17,23,26,31,33,39,43,55,56,67,69,70,76,92,107,116,121,122,123,127,128,132,133,136,148,151,153,158,159,160,163,164,167,168,171,172,174,175,177,181,185,186,187,188,189,198,199,200,204,205,207,209,210,211,212,218,219,220,221,227],"long":[86,119,128,139,164],"new":[3,27,38,56,116,140,153,154,155,159,167,168,172,178,218,221,222,224],"null":[41,116,138,140,172,177,204,217,226,227],"public":[21,56,71,92,121,122,156,199,204,213,221],"return":[22,23,25,27,36,51,56,69,76,78,116,121,128,132,133,135,137,141,144,149,151,153,159,160,164,172,185,189,204,205,209,210,217,221,224,226],"short":[86,138,156,176],"static":[1,35,45,56,58,79,93,116,120,121,148,153,221],"switch":197,"throw":[1,42,45,46,47,92,116,168,171,200],"true":[18,28,76,131,137,138,153,165,171,204,217,227],"try":[121,202,221,222,227],"void":[18,27,28,31,33,34,43,56,67,78,92,116,119,121,122,124,127,133,148,151,156,159,163,171,172,175,176,187,189,193,194,195,200,204,205,207,210,218,221],"while":[3,133,140,153,159,164,187,196,204,210,224],Added:[1,224],And:[157,187,221],But:209,For:[0,1,3,33,58,62,69,70,71,73,77,78,79,117,121,122,127,129,139,140,152,153,156,164,167,168,181,187,188,192,221,224,225,226],IDE:222,Ids:227,Its:[3,221],NOT:221,Not:206,One:[133,157,160,224],Such:[181,210,211],That:3,The:[0,1,3,5,7,8,9,12,18,19,21,23,24,27,28,30,31,33,35,38,40,42,47,48,50,51,52,53,56,58,62,68,74,76,77,78,79,80,81,82,83,84,85,86,89,90,91,93,97,100,102,104,106,108,109,112,113,115,119,122,123,124,127,128,129,130,132,133,134,135,136,137,138,139,140,141,144,145,149,151,152,153,156,157,159,160,162,163,164,167,168,169,172,174,175,178,179,181,182,183,185,186,189,190,191,193,194,196,197,198,200,201,204,206,207,208,209,210,217,218,219,220,224,225,226,227],Their:221,Then:[128,151,224],There:[55,133,153,207,221],These:[0,22,25,92,133,152,157,221,226],Use:[0,61,63,64,116,135,136,173,221,227],Used:93,Useful:94,Using:[56,133,153,197,225],Will:[17,30,153,194],With:[68,156,205,226,227],YES:78,Yes:222,__anotherstr:79,__attribute__:180,__builtin_memcmp:141,__builtin_strcasecmp:141,__builtin_strcmp:141,__builtin_strncasecmp:141,__builtin_strncmp:141,__debug:227,__func__:124,__function__:124,__gnu_cxx:164,__normal_iter:164,_header:226,_identical_:221,_mbscmp:141,_mbscmp_l:141,_mbsicmp:141,_mbsicmp_l:141,_mbsnbcmp:141,_mbsnbcmp_l:141,_mbsnbicmp:141,_mbsnbicmp_l:141,_mbsncmp:141,_mbsncmp_l:141,_mbsnicmp:141,_mbsnicmp_l:141,_memicmp:141,_memicmp_l:141,_popen:41,_stricmp:141,_stricmp_l:141,_strnicmp:141,_strnicmp_l:141,_val:56,_wcsicmp:141,_wcsicmp_l:141,_wcsnicmp:141,_wcsnicmp_l:141,abc:[137,168],abil:[1,221],abl:[33,79,168,202],abnewpersonviewcontrol:180,about:[1,3,33,55,62,116,167,178,179,187,207,209,221,225,227],abov:[27,28,135,140,153,221,226],abpeoplepickernavigationcontrol:180,abpersonviewcontrol:180,absolut:[0,221],abunknownpersonviewcontrol:180,accept4:[1,5,116],accept:[1,3,116,181],access:[1,54,57,59,61,63,64,67,116,143,153,221],accommod:204,accord:[104,105,178,181,204],accordingli:56,account:[18,33,62,205,226],accumul:23,acronym:181,across:[5,6,8,10,13,14,15,16],action:3,activ:[159,225,227],actual:[25,41,61,63,64,150,189,199,204,227],add:[27,30,33,62,138,141,151,153,156,159,168,180,221,224],add_new_check:221,addcheckfactori:221,added:[1,27,33,146,153,156,185,196,224],adding:[221,224],addit:[0,3,27,33,164,168,204,209,221,224,227],addition:[138,141],addmatch:221,addr:[5,6],address:[221,224],addrlen:[5,6],adher:[117,221],advanatag:186,advantag:209,advis:[68,200,221],advoc:221,affect:[3,153,195,221],after:[1,3,22,28,30,58,87,95,116,120,137,139,153,159,168,175,196,201,212,221,226],again:33,against:[55,221,226],aggreg:133,aim:3,alexandrescu:143,algorithm:[1,25,51,116],alia:[35,38,40,42,47,48,50,52,53,56,73,80,82,83,84,90,91,93,94,95,96,97,98,99,100,102,103,105,106,107,108,109,110,111,112,113,114,115,116,119,129,130,134,143,190,196,201,214],alias:[1,56],align:205,aligned_alloc:56,all:[1,2,3,22,24,25,33,37,44,45,46,56,57,58,59,60,61,62,63,64,65,66,68,74,79,107,128,132,135,138,152,164,170,177,189,191,196,204,208,221,223,224,226,227],alloc:[1,55,56,116,129,153,178],alloca:[1,27],allow:[9,31,56,66,121,143,156,159,164,167,204,205,221],allowconditionalintegercast:1,allowconditionalpointercast:1,allowintegercondit:[1,204],allowmissingmovefunct:68,allowpointercondit:[1,204],allowsoledefaultdtor:68,almost:124,almostbitmask:138,along:[172,221],alphabet:79,alreadi:[1,146,156,196,221,222,224],alright:56,also:[0,1,3,21,22,23,33,36,62,121,122,125,128,129,135,146,153,154,155,160,164,168,181,197,202,206,221,222,224,226,227],alter:140,altern:[3,57,152],although:[3,121,143,206],alwai:[1,28,33,124,131,137,144,174,178,205,206,221,226],analysi:[1,56,153,221,224],analyz:[33,56,140,221],analyzetemporarydtor:221,anchor:221,android:[1,116,221],angl:227,ani:[3,24,25,33,62,68,72,122,140,153,157,163,168,172,183,197,204,221,224,226,227],annot:56,anonym:[73,116,143],anoth:[0,24,56,65,79,138,145,160,197,202,224],another_fil:56,api:[220,221,225],apiabbrevi:181,appear:[152,153,185,221],append:[3,187,202,221],appl:[1,178,181],apple_ref:181,appli:[127,149,153,158,170,183,193,194,219,221],applic:[23,157,163,173,217],appropri:[1,55,136,171,204,217,218,221],area:31,aren:[62,159],arg1:151,arg:[1,3,116,221,227],argument1:227,argument2:227,argument:[0,1,3,6,10,13,14,15,16,27,28,31,41,56,66,72,76,116,125,126,138,144,156,158,163,164,168,183,189,193,194,208,221,226,227],aris:187,arithmet:116,around:[0,87,116,211,217,221],arr:153,arrai:[1,22,59,62,116,132,139,153,164,176,188,221],arrang:227,array_of_str:132,arrayindex:58,arrayref:227,arrays:133,articl:181,ascii:[31,157,181],asin:192,aspect:[221,224],assembl:116,assert:[1,35,116,152],assertmacro:19,assign:[1,33,56,62,68,70,103,116,156,159,167,169,172,181,191,194,199,217,221],assist:[0,222,226],associ:[153,168,186,221],assum:[0,33,65,66,122,140,156,221],assumpt:205,ast:[221,224],ast_match:221,atoi:43,attach:221,attempt:[41,55,124,140,221],attributerefer:180,auto:[1,17,23,56,116,151,153,154,155,168,183,185,186,188,221],auto_ptr:[159,168],autom:[18,81,221,224],automat:[55,62,211,221,224,226,227],avail:[3,74,160,162,202,221,222,224],avoid:[0,1,3,6,10,13,14,16,33,76,116,120,128,135,156,168,170,188,206,209,221,224,227],awar:[122,153,160,221],awesom:221,awesome_:221,awesomefunctionnamescheck:221,b69fc5221058:179,back:202,background:116,backslash:[3,224],bad:[56,179,195],bad_malloc:27,bad_new:27,bad_template_funct:56,badfil:56,badli:72,bah:120,bail:221,ban:61,bar1:3,bar2:3,bar:[3,18,28,156,161,171,187,193],bark:120,base:[1,3,20,21,34,56,62,64,67,116,145,156,168,183,185,188,190,201,221,222,224,226],baseclass:[1,116],basedonstyl:221,basic:221,basic_str:[33,136,182,187],basic_string_view:22,baz:[161,187],bbcfheab:181,bcihcga:181,becaus:[0,1,17,19,28,59,65,66,122,127,133,138,140,159,168,169,192,199,213,219,226],becom:[5,6,7,8,9,10,11,12,13,14,15,16,28,76,119,120,125,148,154,155,157,164,167,169,170,182,186,192,194,207,210,211,216,217,220,222],been:[28,33,56,58,153,166,184,203,211,221,227],befor:[3,18,31,33,45,56,76,119,125,149,152,156,160,168,175,180,188,196,212,221,226],begin:[0,23,45,153,160,164,186,206],behav:[164,226],behavior:[19,28,32,33,39,60,123,149,221],behaviour:[1,17,104,125,153,211],behind:204,being:[28,143,153,157,164,204,221,224,227],bell:157,belong:[206,221],below:[0,33,56,123,138,153,160,164,227],benefici:156,best:[156,221],better:[3,5,7,8,9,12,43,56,122,160,221],between:[68,133,135,138,139,204,221],beyond:62,bigger:[30,128],binari:[1,125,151,221,224],bind:[116,159,168,221,224],bit:[160,168],bitmask:138,bitset:132,bitwis:[1,116,138],blob:[54,57,58,59,60,61,62,63,64,65,66,67,68],block:[0,143,226],blog:179,bodi:[62,119,140,153,169,188,196,205,210,221],bool:[1,18,26,76,78,116,153,168,197,217,221,227],boost:[116,164,168,221],both:[3,27,33,56,67,87,122,123,138,160,221,224,227],bound:[3,100,116,224],brace:[116,119,164,206],bracket:227,branch:[33,201],branchthreshold:201,broken:159,buf:[133,176,177],buff:43,buffer:[3,116,177,224],buflen:133,bug:[3,15,56,85,204,211,221],bugpron:[1,95,116,221],bugtrack:3,build:[3,19,40,116,221,224,225,226],built:[167,204,224,225,226],builtin:[62,164],byte_count:31,c145:67,c21:68,c_externcsystem:227,c_str:215,c_system:227,c_user:227,calcul:[125,128],call:[1,3,17,21,26,27,28,30,31,32,33,41,43,44,54,56,65,66,67,69,87,107,122,124,140,141,145,149,153,154,155,156,159,161,162,164,168,182,183,189,192,193,194,197,213,214,215,221,222,224,227],callabl:76,callback:[224,226],caller:28,calloc:[1,27,55,56],camel:181,camelback:202,camelcas:[181,202],can:[0,3,8,19,22,23,24,33,39,51,54,55,58,61,63,64,67,68,79,87,93,121,122,125,128,133,135,136,137,140,143,146,148,151,152,153,156,157,159,164,167,168,171,176,181,185,186,187,188,197,204,205,206,209,211,221,222,224,226,227],cannot:[56,65,66,153,174,199],canon:149,capac:162,captur:151,care:[156,221],cast:[1,26,93,116,133,136,141,165,168,217,221],categori:221,caught:[56,143,224],caus:[1,19,23,26,33,39,61,63,64,69,121,157,164,168,188,211,226],cert:[73,116,129,130,134,143,190,221],certain:[121,153,221],chain:217,chainedconditionalassign:217,chainedconditionalreturn:217,chang:[1,3,17,149,153,159,160,204,205,209,211,217,218,221,224,227],charact:[30,31,79,133,136,137,143,157,182,227],characteristickind:227,charsourcerang:227,chart:136,cheap:156,check:[0,1,17,18,19,20,21,23,24,25,27,30,31,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,72,73,74,75,76,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,118,119,121,122,123,124,126,127,128,129,130,132,133,134,135,136,138,139,140,141,143,149,151,152,153,154,155,156,157,159,160,163,164,165,166,167,168,169,170,171,172,174,175,176,177,179,180,181,183,184,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,214,218,219,222,225,227],check_clang_tidi:221,checker:138,checkfactori:221,checkfunctioncal:19,checkimplicitcast:128,checkopt:221,checkthrowtemporari:143,checktriviallycopyablemov:189,choic:[138,221],choos:[156,191],chosen:221,circumst:226,circumv:153,clang:[0,2,4,56,58,139,156,180,211,222,223,225,226,227],clang_include_fixer_increment_num:224,clang_include_fixer_jump_to_includ:224,clang_include_fixer_maximum_suggested_head:224,clang_include_fixer_path:224,clang_include_fixer_query_mod:224,clangd:225,clangtidi:221,clangtidycheck:221,clangtidycheckfactori:221,clangtidycontext:221,clangtidymain:221,clangtidymodul:221,clangtidymoduleregistri:221,clangtidyopt:221,clangtidytest:221,clear:[33,204,222],clearer:197,click:227,client:[159,222,227],clj:151,cloexec:[1,116],close:[8,9,119],closest:221,cmake:[221,224,226,227],cmath:192,cmyk:181,cocoa:[178,181],code:[1,15,23,27,28,31,33,36,37,39,41,43,44,45,46,49,56,60,62,63,76,78,79,92,101,119,127,128,129,130,133,135,139,140,143,149,152,153,156,157,158,159,160,163,164,167,168,171,174,178,180,181,200,201,202,204,206,207,211,218,221,222,224,225,226,227],codebas:152,codingguidelin:181,codingstandard:[118,119],col:227,collaps:28,collect:226,colon:0,color:222,column:[3,206,226],com:[54,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,178,179,181],combin:[0,222],come:[138,159,181],comma:[19,73,77,116,117,121,141,172,221,227],command:[3,41,221,224,226],comment:[1,85,116,221,227],common:[3,15,30,128,133,135,137,138,139,141,157,164],compact:221,compar:[18,116,204,205,224,226],comparearrai:133,comparison:[76,135,141,204,217],compil:[0,3,28,68,122,134,139,156,159,169,176,180,185,199,204,221,226,227],compile_command:[221,224],complet:[125,171,222,226],complex:[94,152,153,221],complic:[68,181],compon:226,compound:[149,201],comput:133,concaten:[116,139],concept:56,conceptu:[56,178,181],cond1:206,cond2:206,condit:[19,20,29,33,56,134,138,140,164,196,204,217,226,227],condition:33,conditionrang:227,conditionvalu:227,confid:153,config:221,configur:[55,202],conform:222,confus:[1,122,227],confusingli:227,consid:[22,28,30,31,33,43,56,68,76,87,122,132,139,153,160,164,168,182,188,226],consir:182,consist:[140,205,206,226],const_cast:[60,61,164],const_iter:164,const_reverse_iter:164,constant:[27,79,89,116,131,133,138,141,172,177,189,197,209,217],constantli:225,constcast:60,constexpr:[54,121],constmethd:194,constrefer:193,construct:[22,46,56,62,103,127,156,159,164,168,221],constructor:[1,33,52,62,68,87,93,116,122,137,154,155,159,161,164,167,168,169,183,189,193,194,199,213,221],consum:33,contain:[0,1,25,31,33,55,58,62,77,116,139,157,162,164,168,186,191,210,221,224,225,227],containerswithpushback:168,content:[153,178,181,226],context:[1,26,140,141,156,221],continu:[200,210,226],contribut:[156,222],contributor:222,control:[33,116,180,200,201,221],conveni:221,convent:[205,221],convers:[1,17,43,76,116,128,133,136,142,153,164,174,184,203,217,221],conversionsfrombool:204,conversionstobool:204,convert:[31,43,64,76,116,157,167,168,172,175,202],copi:[1,46,67,68,70,76,116,122,130,131,153,156,159,162,185,190,191,194],copyabl:[21,48,116,183,189,193,194],core:[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,221],corner:221,correclti:56,correct:[56,66,99,105,118,135,204,205,206,221,224],correctli:[56,133],correspond:[31,36,37,39,41,43,44,45,46,49,62,68,72,73,74,78,79,81,85,86,87,88,89,129,130,154,155,156,168,178,179,181,208,221,224,227],correspondig:86,could:[24,54,56,59,122,164,168,181,187,209,211,221,222],count:[31,149,186,196],counter:[49,188],counterexampl:78,cours:177,cout:[33,153],cover:[31,226],coverag:[0,225],cplusplu:221,cpp:[3,50,73,116,129,143,190,205,221,224,227],cppcoreguidelin:[1,93,96,100,102,105,115,116,221],cppguid:[73,75,76,77,78,81,85,86,88,89,119,208],cpplint:[31,72,73,74,81,85,86,87,88,208],crash:3,creat:[1,22,30,56,87,116,178,201,202,221,226],create1:[1,116],createcustomizenserror:178,createinsert:221,creation:[30,145,154,155,178],criteria:153,critic:[62,160],critical_sect:149,cstr:116,cstyle:[93,116],cstylecast:61,ctor:[107,122,190],ctype:152,current:[3,33,54,56,128,152,156,188,221,224,225],cursor:[3,224],custom:[168,171,177,221,224],custom_except:92,customari:31,cxx:[69,70,71],danger:128,dangl:[1,87,116,206],dark:221,data:[15,59,121,188,209,215,227],databas:[3,221],datatyp:177,date:[205,221,225],dcl03:[116,134],dcl21:116,dcl50:116,dcl54:[116,129],dcl58:116,dcl59:[73,116],dcmake_export_compile_command:221,deal:204,dealloc:[55,129],debian:222,debug:[19,227],debugtyp:227,decai:[1,116],decid:[122,221],decl:[116,138],declar:[1,36,37,45,56,60,69,76,77,114,116,121,130,132,133,139,144,147,150,152,153,156,159,163,164,167,169,180,188,191,193,194,195,208,209,227],decrement:36,dedic:153,deduc:[28,72,164,221],deduct:[28,56],dedupl:221,deep:185,def:137,default_argu:75,defaultvalu:221,defin:[1,3,29,33,37,62,68,71,104,121,129,133,164,172,177,190,191,196,224,226],definit:[3,24,37,56,62,68,116,119,132,144,161,205,221,222,226,227],delai:116,deleg:[107,145],delet:[38,56,68,116,122,144,149,153,171],delete_own:56,deliber:[26,204],demonstr:56,depend:[0,131,135,204,221,226,227],depr:152,deprec:[1,116,159,171,179],dequ:[33,164,168,188],deref:116,derefer:[116,130,153],dereferenc:[33,176],deriv:[1,34,64,67,156,168,227],describ:[0,1,164,221,225,227],descript:[0,122,221,227],descriptor:[5,6,10,11,13,14,16],design:[1,180],desir:[3,31,73,77,117,121,221,224],despit:[17,143],destin:31,destroi:[22,87],destructor:[65,68,149,171,183,194,221],detail:[1,67,122,152,221,224],detect:[1,18,22,27,29,33,43,128,131,138,141,143,179,188,189,202,204,226],detect_mismatch:227,determin:[0,140,153],develop:[3,33,127,178,181,209,221,222,225],devic:160,diag:[221,227],diagnos:[56,69,127,138,163,174,221],diagnost:[27,58,221,222],dialect:204,dianost:227,did:[34,107,132],didn:221,differ:[0,19,81,133,138,149,153,201,202,205,211,221,224,226],difficult:221,direct:[62,74,77,156,159,164,221,224,226,227],directli:[3,153,156,164,205,217,222,225],directori:[0,224,226],disabl:[19,122,156,171,221,227],disallow:[69,70,71,127],discard:67,disciplin:[65,66],discover:221,disjoint:138,displai:[0,3,221,226,227],dist:160,distinct:221,distinguish:121,distribut:222,divid:133,divis:[1,116],dmy_defin:[3,221],do_incr:29,doc:[69,70,71,118,119,180,181,221],document:[1,4,164,178,180,181,221,222,226,227],doe:[0,18,33,41,43,54,56,127,129,140,174,177,185,209,220,221,224,226],doesn:[3,17,21,56,68,132,149,152,159,164,168,226],doing:[137,140],domain:[5,6,8,10,13,14,15,16],don:[0,1,21,152,221],done:[139,143,159,168,221],dont:67,doubl:[26,123,128,167,176,192,217,221],double_express:123,down:121,downcast:[61,93,116],download:1,doxygen:227,driver:0,dst:133,dtor:221,due:[1,25,125,131,135,151,153,179,204],dump:221,dup:[1,116],duplic:[161,226],durat:62,dure:[62,153,178],dyn_cast:164,dynam:[56,171],dynamic_cast:[64,164],each:[0,55,153,183,189,194,221,225,226,227],earli:[3,135,200],easi:[33,59,221],easier:[3,174,197,200,209,221],easiest:185,easili:[3,55,87,133,205,221],edit:3,editor:[3,222],effect:[1,116,122,152,162,168,189,198,209,221],effici:[3,134,168,182,187,197],either:[0,3,56,58,68,140,221,224,226,227],elem:153,element:[25,73,77,117,121,133,138,153,168,186,188],elif:226,elimin:[217,227],els:[33,43,116,196,206,217],elsewher:[153,160],emac:225,embed:[116,157],emit:[33,87,176,221,224],emplac:[1,116],emplace_back:[33,168,188],emploi:[183,194],empti:[0,30,33,73,77,86,89,116,117,121,140,141,163,216,221,226],enabl:[68,128,156,169,171,189,221,224,227],enable_if:122,enable_if_t:122,enclos:[0,226,227],encod:137,encount:3,end:[0,23,25,28,116,140,149,160,164,186,196,210,217,226,227],enforc:[56,65,66,90,91,92,93,94,97,100,102,106,108,109,112,113,115,200,202,205],enough:[143,168,221],ensur:[1,56,92,99,125,180,183,194,221,224],enter:[149,227],enterfil:227,entir:[33,221],entiti:[133,226],enumconst:138,enumer:[138,227],env33:116,environ:224,epol:[1,116],epoll_cloexec:[1,9,10],epoll_cr:[1,9],epoll_create1:[1,9,10],epxr:133,equal:[116,135,141,166],equival:[11,133,139,151,153,204],eras:[1,116],err09:[116,143],err34:116,err52:116,err58:116,err60:116,err61:[116,143],errno:152,erron:[33,153],error:[0,27,30,33,43,78,131,133,139,143,159,174,221,224,226,227],errorhandlingcocoa:178,errorwithdomain:[78,178],es63:67,escap:[116,157],especi:[67,164,221],etc:[3,125,136,153,156,221,222,227],evalu:[1,19,33,116,125,133,134,191,226],evaluat:134,even:[27,33,56,60,123,164,221],eventu:[33,222],everi:[23,92,152,164,205,221,224],everyth:[56,227],exaclti:204,exactli:33,examin:221,exampl:[0,3,5,6,7,8,9,10,11,12,13,14,15,16,20,22,26,27,28,29,30,31,33,34,39,56,67,68,69,70,71,76,79,116,122,124,128,131,132,133,135,137,138,140,143,146,149,150,156,157,158,159,160,164,167,176,177,182,185,189,191,192,193,194,195,199,204,205,206,210,213,214,216,217,218,221,226,227],exce:[128,201],exceed:201,except:[1,27,33,45,46,70,116,132,143,168,171,221],exceptionwithnam:78,exchang:56,exclud:[0,226],exclus:33,exe:157,exec:[5,6,8,9,10,13,14,15,16],execut:[29,33,41,45,221,224],exist:[0,3,24,198,221,224,226],exit:[140,200,221,227],exitfil:227,expand:[125,149,226],expans:[221,226,227],expect:[23,26,28,33,56,137,201,204,206],expects_own:56,expens:[160,183,185,194],expensivetocopi:194,experi:3,experiment:22,explain:[33,153,221],explicit:[26,68,116,122,133,136,159,161,164,204,217,221,227],explicit_constructor:76,explicit_make_pair:72,explicitconstructorcheck:221,explicitli:[0,68,72,110,111,128,141,154,155,168,169,213,221,226],explor:221,expr:[116,191],express:[1,26,33,44,46,49,58,61,69,92,116,123,124,125,132,137,153,154,155,168,204,217,218,221,226],extend:3,extens:[73,77,117,121,156,221,222,226,227],extern:[0,54,121,133,210,211,221,225,226],extra:[0,3,4,27,30,141,221,222,224,225,226,227],extract:[0,222],extrem:221,f10:121,f_dupfd_cloexec:8,f_t:158,f_textless:163,face:221,fact:[140,185],factori:[56,178],fail:[72,227],failur:78,fall:202,fals:[19,56,62,92,121,131,136,149,153,165,168,170,171,191,204,217,221,227],familiar:[207,221],fancyfunct:124,faster:[116,135,224],fclose:56,fcntl:8,fd_cloexec:11,fdelai:156,featur:[1,3,69,70,71,139,222],feed:157,fenv:152,few:221,field:[62,156,168,194,227],file1:221,file2:221,file:[0,1,3,5,6,8,10,13,14,15,16,56,58,73,77,78,79,117,121,130,140,151,157,181,205,211,221,224,226,227],filechangereason:227,filecheck:221,fileentri:227,fileid:227,filenam:[3,15,73,77,117,121,221,227],filenamerang:227,filenametok:227,filetyp:227,fill:[30,31],fill_valu:31,filter:221,find:[1,17,19,21,26,27,30,31,32,68,73,74,78,79,81,85,86,87,88,104,107,116,117,121,125,132,133,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,154,155,158,160,165,178,179,180,181,183,186,188,192,193,204,205,208,209,211,212,213,214,215,216,219,221,222,224,227],find_all_symbols_db:224,finder:221,fine:[199,221],fio38:[116,130],fire:168,first:[1,25,29,33,56,61,128,133,137,140,153,160,164,205,221,222,224,226],fit:116,five:68,fix:[0,3,18,21,24,27,28,55,58,62,64,79,81,101,117,148,158,160,163,171,181,182,189,202,204,205,211,219,221,222,224,226],fixer:225,fixithint:221,flag:[1,5,6,8,10,13,14,15,16,23,33,36,37,41,43,44,45,46,49,54,57,58,59,60,61,62,63,64,65,66,67,68,77,129,130,138,143,153,156,168,190,191,194,201,221],floatfunc:26,flow:[1,33,56,116,200,221],flowsensit:56,flp30:116,flrag:143,fno:156,fold:[1,116,222],folder:222,follow:[0,1,3,23,26,31,33,55,56,61,68,74,79,93,119,122,127,133,136,138,139,141,153,156,157,163,164,174,177,179,181,183,188,194,197,200,204,207,208,210,217,218,221,222,224,226,227],foo1:[3,206],foo2:[3,206],foo:[3,18,28,31,69,74,107,121,135,146,153,156,161,171,187,193,200,204,205,213,214,218,221,224],foobar:171,fool:133,fopen:[56,116],forbidden:[1,74,101,116],forbiddensuperclassnam:180,forc:[3,221],forget:[33,128,139],forgot:[138,204],fork:[5,6,8,10,13,14,15,16],form:[0,18,93,152,157,221,226,227],formal:221,format:[164,181,221,222,224,225,226],formatstyl:221,forward:[1,56,116,221],forward_list:[33,164],found:[3,24,160,221,226,227],fragil:[59,65,66],framework:[149,221],free:[55,56,120,129,151],freopen:56,frequent:[164,221],friend:182,from:[0,1,3,17,20,22,25,26,28,30,33,34,54,65,74,78,79,81,87,95,121,124,138,140,149,152,157,159,164,168,180,187,192,196,201,202,204,211,221,222,225,226,227],front:[0,226,227],ftp:181,fubo:3,fuchsia:[1,116,221],full:[0,121,181,221],fulli:[3,55,56],func:[34,43,153],funciton:192,function_declarations_and_definit:208,function_that_returns_own:56,functiondecl:221,functiontakingbool:204,functiontakingint:204,functor:116,funk:34,further:221,furthermor:[33,55,56,197],futur:[3,33,168,197,222],gap:226,gather:221,gcc:227,gen:222,gener:[0,1,3,24,51,56,58,62,65,66,81,87,120,122,139,156,160,164,171,197,202,204,205,221,224,225,227],genuin:51,get:[0,3,31,56,59,65,66,116,124,133,168,209,224,225,227],get_cwd:156,get_ptr:159,get_ref:159,get_str:156,get_valu:159,getfoo:204,getinfo:164,getint:133,getloc:221,getmessag:133,getnam:221,getnodea:221,getter:222,getvalu:56,getvector:153,gif:181,github:[54,57,58,59,60,61,62,63,64,65,66,67,68,73,75,76,77,78,79,81,85,86,88,89,119,208],give:[3,79,135,138,154,155,165,169,175,211,226,227],given:[0,75,133,151,217,224,227],glob:221,global:[1,33,116,152,226],global_mutex:149,gmystr:79,goal:222,good:[0,51,56,138,144,195,221,222],googl:[1,40,58,93,116,119,154,155,156,159,190,194,196,201,208,214,221],googlemoduletest:221,googlesourc:[69,70,71],googletidymodul:221,greater:[30,133,141,174],greatli:187,greet:33,grep:3,group:221,gsl:[1,56,58,164],gslheader:58,guarante:[33,152,174,197],guard:[116,122,206,227],guid:[1,74,77,78,79,85,86,89,181,208,225],guidelin:[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,202,221],hack:221,had:65,half:138,hand:[33,138],handl:[1,43,45,55,56,116,143,151,156,164,224],handleclass:22,handlemacroexpandedidentifi:227,happen:[3,23,33,67,141,143,156,185,189,205],hard:151,harder:206,has:[4,28,33,34,49,58,119,121,125,133,153,160,166,170,184,189,194,195,197,198,203,206,207,211,217,221,226,227],hashloc:227,have:[0,2,3,11,21,33,56,58,62,99,105,119,125,129,132,138,140,152,153,156,164,183,189,190,194,196,211,221,223,226,227],head:227,header1:[0,226],header2:[0,226],header3:[0,226],header4:226,header:[0,1,73,116,154,155,159,186,205,211,221,224,226,227],headerfileextens:[73,77,117,121],headerfilt:221,headerfilterregex:221,heap_int:56,heavi:[56,149,201],hello:[28,33,79,133,157],help:[3,200,204,205,206,221,222],helper:143,henc:221,here:[1,4,56,73,119,129,130,134,138,139,140,143,153,157,160,189,190,196,201,209,214,221,222,226],heurist:[149,183,194],hexadecim:[137,157],hicpp:[1,116,221],hidden:[3,133,156,221],hide:[122,204,206,222],hierarchi:[222,226],high:[1,92,101,104,221,227],higher:[160,168,174,175],highli:3,highlight:222,hint:[55,171,204,205,221],his:79,hoc:227,hold:156,holder:[0,227],horizont:157,hover:222,how:[3,156,200,204,221,225,226,227],howev:[3,28,76,79,164,211,221,222],howtosetuptoolingforllvm:221,hpp:[73,77,117,121,205],html:[73,75,76,77,78,79,81,85,86,88,89,118,119,178,180,181,208,221],http:[4,54,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,75,76,77,78,79,81,85,86,88,89,118,119,178,179,180,181,208,221,227],hxx:[73,77,117,121],idea:[3,221,222],ideal:224,ident:[174,208,221],identifi:[3,116,153,224,227],identifierinfo:227,idiom:156,idomat:143,ifdef:226,ifloc:227,ifndef:226,ignor:[0,3,18,27,121,133,144,149,153,168,201,204,221,226,227],ignorearrai:62,ignoreimplicitconstructor:[1,168],ignoremacro:[154,155,165,167,169,175,211],illustr:[156,200],immedi:87,impair:164,imped:157,implement:[1,33,56,74,93,95,96,98,99,104,107,110,111,114,129,160,164,170,186,197,208,221,222,224],impli:[140,217],implicit:[1,76,116,133,141,142,153,192,217,221],implicitli:[76,121,129,136,141,168,226],importloc:227,improp:[1,178],improt:152,improv:[3,56,164,204],imy_project:[3,221],in_cloexec:[1,12,13],in_nonblock:13,inaccur:[1,116],inappropri:25,inc:226,includ:[0,1,3,6,10,11,13,14,15,16,30,43,58,73,116,117,121,153,154,155,156,159,180,190,194,217,221,222,225,226,227],includeinextern:226,includestyl:[58,154,155,156,159,190,194],includetok:227,inclus:[226,227],incompat:133,inconsist:[116,226],incorrect:[56,116,135,141,153,221],incorrectli:139,increas:[19,153],increment:[36,140,224],increment_two:29,indent:[116,119,140,200],indentwidth:221,indetermin:28,index:[116,225],indic:[24,78,140,227],individu:33,induct:49,ineffect:128,ineffici:[1,116],inequ:135,infer:79,info:168,inform:[1,3,35,38,40,42,47,48,50,52,53,56,80,82,83,84,90,91,97,100,102,106,108,109,112,113,115,151,153,156,178,179,221,224,226,227],infostruct:164,infrastructur:1,inherit:[1,116],init1:[1,116],init:[1,52,116,156],initi:[1,23,45,54,56,62,96,116,138,139,145,153,158,160,161,164,167,178,190,196,213,216,217,221],initialis:167,initializeobject:133,initializer_list:[76,164],inlin:[101,121,221],inner:[156,196,206],innermost:226,inotifi:[1,116],inotify_init1:[1,12,13],inotify_init:[1,12],input:[0,3,23,221,226,227],insert:[62,76,168,188,224],insid:[0,3,29,107,116,154,155,165,167,168,169,175,196,204,211,221,226],inspect:[24,221],instal:[3,225],instanc:[1,87,92,116,127,128,129,139,140,187,211,217,224,226],instanti:[159,204,221],instead:[1,3,27,28,30,31,33,43,78,128,132,133,135,153,156,159,168,171,178,180,185,187,190,191,197,204,209,221,227],instruct:[221,222,225],insuffici:[176,221],int_arrai:55,int_ptr:[127,159],int_sz:133,integ:[1,17,30,31,43,58,104,116,119,123,128,133,139,141,160,165,197,204,217,221],integer_typ:86,integr:[1,26,92,104,217,221,225],intend:[31,67,72,107,124,132,135,221],intent:[33,76,128,133,140,197],interact:221,interest:[156,222],interfac:[3,116,176,177,180,209,221,227],intergr:101,intermedi:0,intern:[121,160,225,227],interpret:[26,135],interrupt:200,interval:138,intfunc:26,introduc:[56,155,157,159,164,171,174,226,227],inttyp:152,intxx:86,invalid:[59,116,227],invalu:221,investig:138,invoc:[179,194,221,226,227],invok:[62,183,193,194,224,226],involv:[44,217,225],ios:179,ios_bas:165,ipsum:33,is_speci:122,isangl:227,iserror:78,ishead:226,isn:[33,55,72],iso646:152,isocpp:[54,57,58,59,60,61,62,63,64,65,66,67,68],issu:[3,56,122,140,197,204,205,221],item:[122,168],iter:[25,33,116,153,183,185],its:[1,6,10,13,14,16,21,27,31,55,65,133,152,205,221,222,226,227],itself:[164,191,221,222,226],jpg:181,json:[221,224],jump:224,just:[143,153,221,226,227],keep:[121,137,205],kei:[3,221,224,227],kernel32:227,keyword:[133,172,175,196,226],kind:[33,56,92,153,160,188,197,202,227],kmessag:133,kmyconststr:79,know:[140,143,221],known:[56,116,123,181,221],lambda:[116,151],land:56,languag:[0,62,65,66,156,221,222,224],larg:[3,30,201,205],largelengththreshold:30,larger:[151,221],last:[33,65,196],later:[56,163,224],latest:1,latter:[0,23,220,226],launch:222,lead:[1,18,54,56,59,104,121,133,178],leader:[3,224],leak:[15,56,168],leakag:[6,10,13,14,16],least:[62,128],leav:[62,73,77,87,117,121,149,164],left:[28,33,62,156,157,211],legaci:56,legacyresourceconsum:56,legacyresourceproduc:56,len:222,length:[30,31,137],less:[121,127,164,168,174],let:[221,224],level1b:227,level2b:227,level3a:226,level:[0,153,195,201,221,227],leverag:222,lexic:226,lexical_cast:[17,164],lexicograph:135,lib:227,librari:[56,152,156,159,178,181,192,221,226,227],libtool:[3,221],lies:28,like:[0,1,15,17,22,23,25,26,27,28,31,33,55,56,79,122,124,127,132,133,137,139,145,149,153,157,164,168,176,182,187,188,200,221,222,226],limit:[0,116,152,219,226],line:[3,33,55,56,119,139,140,153,157,196,201,221,224,226],linethreshold:201,link:[221,224],linkag:121,linker:221,lint:221,linter:221,list:[0,1,3,19,22,33,55,56,62,73,77,89,116,117,121,125,135,139,152,156,158,164,168,172,180,181,182,188,221,222,224,225,226,227],lit:221,liter:[30,31,66,116,133,136,139,143,163,182,191,204,216,221,227],livelock:[1,179],llvm:[1,3,4,58,83,116,154,155,156,159,164,180,190,194,200,222,224,226,227],llvmmoduletest:221,llvmnewmod:227,llvmtidymodul:221,load:[3,224],loc:227,local:[33,116,152,193,200,222],locat:[3,81,128,221,226,227],lock:149,log:153,logic:[133,141],longer:[152,153,160,204],longjmp:44,look:[120,122,140,142,145,149,157,210,217,221,222,224,226],lookup:224,loop:[1,33,49,116,140,164,183,188,196,210],loos:56,lorem:33,loss:[1,23,26,128],lost:56,low:221,lower:[5,6,8,10,13,14,15,16,141,153,181],lower_cas:202,lowercamelcas:181,lsp:222,lstrcmp:141,lstrcmpi:141,lvalu:[28,33,122,156],lzw:181,m_foo:204,macro:[1,19,116,133,149,154,155,165,167,169,171,172,175,201,204,211,221,226,227],macroarg:227,macrodirect:227,macronametok:227,made:[26,55,204],mai:[1,28,33,39,45,62,74,104,125,131,133,139,153,156,159,168,188,197,201,204,206,221,227],mail:222,main:[45,221,227],mainli:222,maintain:[164,171,174],major:[1,224],make:[33,74,116,133,140,149,153,156,159,164,168,193,194,197,200,204,206,209,221,222,224,225],make_pair:[72,168],make_shar:154,make_tupl:168,make_uniqu:155,makemytupl:168,makesmartptrfunct:[154,155],makesmartptrfunctionhead:[154,155],malloc:[1,27,56,116],manag:[55,156,224],mani:[33,156,202,209,221,222],manipul:[51,116,137],manual:[55,156,185,211,224,225],map:[0,33,164,174,185,188,225,227],map_error:227,map_fat:227,map_ignor:227,map_iter:164,map_warn:227,maplead:[3,224],mark:[0,76,93,103,153,170,171,191,199],master:[54,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],match:[0,18,122,153,159,164,167,177,185,197,221,224],matcheddecl:221,matcher:221,matchfind:221,matchresult:221,math:[116,152],mathemat:51,mathematical_error:92,matter:28,matur:222,maxconcatenatedtoken:139,maximum:[139,224],md_defin:227,md_undefin:227,md_visibl:227,mean:[28,33,34,61,132,140,156,164,183,185,194,196,211,221],meant:[130,140,145,192,222],measur:226,mechan:226,member1:227,member2:227,member:[1,19,33,65,67,110,111,116,121,151,153,169,170,187,190,204,217,218,227],member_string_refer:87,memberinit:62,memcmp:[133,141],memcpi:[32,133],memfd:116,memfd_creat:[1,14],memicmp:141,memmov:32,memori:[1,27,31,55,62,116,154,155,168,188],memset:[32,116,133],messag:[0,33,79,176,177,178,181,221,226,227],method:[1,25,34,62,69,75,132,135,162,168,178,182,183,186,193,194,197,214,221,222],metric:201,meyer:[122,168],mfd_allow_s:14,mfd_cloexec:[1,14],microsoft:156,midi:181,might:[0,3,23,56,121,168,169,209,222,226,227],migrat:159,minconfid:116,minim:[196,221],minimum:[139,153],misc:[1,35,38,42,47,48,53,99,103,106,107,116,221],mislead:[67,116,127,209],mismatch:[23,116,202,206],misplac:[1,107,116],miss:[21,67,116,125,199,206,224,227],mistak:[30,31,133,135,137,139,141,209],mistaken:127,misus:[133,138,221],mix:[206,207,227],mode:[7,11,72,221,224,226],modern:[1,2,91,108,109,110,111,112,113,114,116,122,221,223],modif:[39,159,209],modifi:[39,60,153,156,159,168,217,221,226],modul:[0,1,2,221,223,225,227],modular:[221,225],moduleidpath:227,modulemap:226,moment:222,moo:120,more:[1,3,33,35,38,40,42,47,48,50,52,53,80,82,83,84,90,91,93,97,100,102,106,108,109,112,113,115,119,134,140,152,153,156,162,168,169,182,187,197,202,209,221,222,224,226],most:[132,133,138,140,145,153,205,221,224,227],mostli:[56,221],move:[1,2,4,52,56,68,70,76,116,122,140,143,144,146,156,159,169,194,211,221,223],moveconstructor:[103,116],mozilla:221,mpi:[116,221],mpi_char:[176,177],mpi_comm_world:[176,177],mpi_send:[176,177],mpi_short:176,msc30:116,msc50:[50,116],mt19937:160,much:159,multi:3,multidimension:176,multimap:[33,164],multipl:[1,3,33,94,116,121,139,164,188,205,211,221,224,226],multipli:133,multiset:[33,164],must:[0,25,46,56,144,221,227],mutual:33,my_contain:164,my_fil:56,my_first_point:164,my_map:185,my_nul:172,my_param:164,my_point:164,my_ptr:[154,155],my_second_point:164,mycheck:221,myclass:168,myconststr:79,myfunctor:174,mylist:164,mymap:164,mymodul:221,mymoduleanchordestin:221,mymoduleanchorsourc:221,mypair:[154,155],myptrtyp:175,mystr:79,mytupl:168,mytyp:174,myvec:164,name:[0,1,3,14,18,19,22,24,31,34,55,56,58,72,73,74,79,81,87,88,89,116,133,141,143,154,155,164,168,172,180,181,182,188,193,221,224,226,227],nameloc:227,namespac:[0,1,3,39,40,56,77,116,121,132,147,150,152,164,221,224,226,227],namingbas:181,namingivarsandtyp:181,narrow_cast:164,natur:221,necessari:[156,159,221],need:[0,62,79,160,174,181,191,211,221,224,226],needl:182,needlessli:161,neg:[123,135,221],negat:[204,217],nest:[140,201,226],nestingthreshold:201,never:[20,124,150],new_own:56,newli:[56,153],newlin:[0,157],newnam:3,next:[201,206,221],ninja:[221,224],nline:157,node:221,noexcept:[1,92,116],nolint:[1,221],nolintnextlin:[1,221],non:[0,19,30,33,48,54,56,62,79,89,116,121,122,128,129,133,138,141,154,155,156,159,164,165,167,168,169,171,174,175,183,189,193,194,204,211,217],nonatom:181,none:221,nonexist:3,nonfil:227,nonown:56,nontrivi:65,noproblemsassist:226,noremap:224,normal:[0,211,224,226],note:[0,3,33,54,56,61,68,73,77,116,117,121,138,152,162,206,221,222,224,225,226,227],noth:[122,137],nothrow:46,now:[77,121,124,151,156,168,221],nserror:[1,78,116],nsexcept:78,nshashtabl:180,nsmaptabl:180,nspointerarrai:180,nspointerfunct:180,nsstring:79,nstimer:180,nuisanc:224,nul:116,nullmacro:172,nullptr:[1,56,116,204,217,220],num_of_end_cal:153,number:[19,43,51,85,119,123,133,135,138,139,149,196,201,224,227],numer:136,o_cloexec:[7,15],o_creat:7,o_rdwr:15,o_trunc:7,o_wronli:7,obj:153,objc:[1,116,221],objc_subclassing_restrict:180,objcguid:[78,79],objcmoduletest:221,objctidymodul:221,object:[1,32,33,36,45,46,48,54,55,59,67,76,78,79,95,107,116,133,143,145,149,151,154,155,156,178,180,181,217,221,226],obscur:164,obtain:[183,193],obviou:157,occur:[33,56,133],occurr:[33,137,160,204],octal:157,odr:121,off:221,offer:[3,31,101],offset:[3,139],often:[123,127,143,205],older:[62,152],oldfd:8,oldnam:3,omit:206,onc:[3,116,140,156,194,221],one:[3,27,33,62,65,68,131,138,153,157,164,185,200,202,206,221,224,226,227],ones:[1,29,81,152,174,221],onli:[0,3,19,22,24,29,33,56,59,61,66,68,77,116,128,133,138,140,151,152,156,157,159,160,162,163,164,167,168,170,171,172,181,182,183,187,188,193,194,206,209,221,224,225,226,227],oop11:[116,190],open64:15,open:[5,6,7,8,10,13,14,16,116,221,222],openat:15,opencl:227,oper:[1,23,26,33,36,51,53,68,76,93,104,116,124,125,129,131,133,135,136,138,156,159,169,170,171,183,187,191,193,194,199,217,221,227],operand:[26,133],operator_overload:88,opportun:169,oppos:3,opposit:217,opt:221,optim:[169,182,227],option:[1,3,116,202,221,222,224,226],optionmap:221,order:[33,54,96,116,125,136,186,196,202,221,222],orderedvalu:133,org:[4,118,119,180,221,227],organ:[221,222],origin:[79,153,164,174,208],osspinlock:[1,179],osspinlocklock:179,osspinlocktri:179,osspinlockunlock:179,other:[0,1,21,29,33,43,68,70,73,77,93,117,121,153,156,164,167,168,170,171,180,181,199,204,221,224,226],otherwis:[8,18,128,152,159,164,178,191,221,222,227],our:[153,221],out:[0,3,31,33,58,153,221,224,225,226,227],outlin:153,output:[0,33,124,157,221,225,226],outsid:[143,153,221,222],over:[153,211,221],overflow:23,overhead:187,overload:[1,17,25,36,38,88,99,116,182],overrid:[34,67,116,221],overridden:[221,227],overview:221,overwrit:3,own:[1,79,116,181,221],owned_object:56,ownedint:56,ownedobject:56,ownedvalu:56,owner1:56,owner2:56,owner:[1,56],ownership:[56,159],packag:222,page:[222,225],pair:[3,116,129,168,177,185],paragraph:157,param:[116,204,221],paramet:[18,21,27,30,33,89,116,122,133,143,156,192,194,195,201,221,227],parameter_nam:18,parameterthreshold:201,parent:[221,224],parentfil:227,parenthes:[27,116,133,217,227],parenthesi:221,pars:[116,224,226],parser:226,part:[1,26,54,57,58,59,60,61,62,63,64,65,66,68,93,95,122,153,156,206,221,222],parti:159,partial:[107,221,226],particular:[33,221,224],particularli:221,pass:[0,28,33,65,66,78,116,122,130,137,168,176,177,182,189,194,209,221],past:131,patch:[222,227],path:[0,3,7,156,157,221,224,226,227],pattern:[1,31,33,79,123,159,181,221],pdf:181,peopl:209,per:221,perfect:122,perfectli:221,perform:[1,3,43,52,61,62,97,116,153,156,160,204,221,226],perhap:226,person:122,phabric:221,phase:139,physic:157,pick:224,piec:200,pik___pragma:227,pik__pragma:227,pik_hashpragma:227,pitfal:221,place:[0,18,28,33,93,128,139,160,204,222,226,227],placehold:221,placement:129,plan:3,pleas:[1,3,35,38,40,42,47,48,50,52,53,80,82,83,84,90,91,97,100,102,106,108,109,112,113,115,200,225,226],plu:227,plug:221,pmk_error:227,pmk_messag:227,pmk_warn:227,png:181,point:[1,3,17,23,24,26,49,116,133,159,204,209,221,224,226],pointe:[127,133,164],pointer:[1,27,31,33,41,56,62,67,100,116,127,130,133,143,159,164,167,168,172,176,177,204,209,212,214,217,220,227],polici:222,pollut:[74,77],polymorph:67,poor:160,poorli:226,pop:227,popen:41,popular:3,port:56,portabl:101,posit:[19,56,62,121,135,136,149,170,221],posix:[39,130],posix_memalign:55,possibl:[1,28,31,33,61,122,133,153,164,174,188,197,200,207,209,221],postfix:36,postmat:179,potenti:[1,24,31,33,121,142,168,179,204,224],pow:138,power:221,ppcallback:[221,227],pragma:227,pragmaintroducerkind:227,pragmamessagekind:227,pre:204,preced:[0,221],precis:[1,23,26,33,128,221],predict:51,prefer:[78,174,186],prefix:[0,73,77,79,86,117,121,181,202,221,224],prepend:[0,3,202,221,226],preprocess:226,preprocessor:[125,139,221,226,227],presenc:[41,157],present:[1,143,213,221],preserv:174,press:[3,224],prevent:[157,180,209],prevfid:227,previou:[1,152,211,227],print:[3,153,221],printabl:157,printf:124,prior:3,priority_queu:164,priu64:139,privat:[0,56,122,129,144,156,170,199,213],privileg:[5,6,8,10,13,14,15,16],pro:[93,96,100,115,116],probabl:[30,132,133,138,160,192,221],problem:[0,1,54,123,136,138,179,206,224,226],problemat:[56,92,221],procedur:210,process:[221,227],processlin:140,processor:41,produc:[19,33,51,56,123,151,159,174,226],product:222,profil:[54,57,58,59,60,61,62,63,64,65,66,68,221],program:[1,3,61,63,64,157,181,211,221,224,226],programm:[26,30,65,66,122,123,133,139,140,204,207],project:[3,205,221,224,225],promot:116,prompt:224,prone:[33,120,174],proper:[128,181],properli:[125,209],properti:[1,51,116],propos:[141,204],protocol:222,prototyp:221,provid:[55,62,64,163,171,181,204,221,222,224,226],prvalu:156,pseudorandom:51,pthread_mutex_t:130,ptr:[116,127,153,154,155,168,171,214],publicli:180,pupos:227,pure:56,purpos:[3,221],purposefulli:0,push:227,push_back:[22,153,168,188],push_front:168,put:[0,3,128,140,195,221],pwd:224,pyf:224,qualifi:[1,3,55,56,127,183,193,194,218,219,224],qualifiednam:3,qualiti:[160,221,222],quantiti:217,queri:[133,221],question:33,queue:164,quick:222,quickli:0,quiet:221,quit:[87,160],quot:[157,227],raii:[55,56,116],rais:[140,153],rand:51,random:[30,51,116],random_devic:160,random_shuffl:160,randomfunc:160,rang:[23,31,116,138,140,185,187,188,221,227],range_express:188,rate:[121,221],rather:[55,127,221,222],ratio:139,ratiothreshold:139,raw:[56,116,220],reach:[33,224,227],read:[65,66,151,156,168,174,206,221,225,226,227],readabl:[1,90,94,98,116,119,157,162,164,167,221],readfil:78,readfilewitherror:78,readlin:140,readnexttoken:140,readonli:156,readwhitespac:140,real:[138,143,204,227],realloc:[1,27,55,56,188],reason:[28,78,116,140,207,227],receiv:[133,160,221,224],recogn:56,recommend:[3,5,7,8,9,12,36,125,135,200,221],record:62,recov:227,recoverypath:227,redeclar:205,redirect:[73,116,119,129,130,134,143,190,196,201,214],reduc:[149,162,167,200],redund:[1,25,116,127,152,167,217,219,221],ref:[153,185],refactor:[3,204,205,211],refer:[1,3,22,33,36,42,47,59,67,116,152,156,159,164,168,183,189,193,194,205,222,224,225],referenc:[156,226],reference_argu:89,reflect:140,regard:138,regardless:[140,202,227],regex:[157,221],registercheck:221,registermatch:221,registerppcallback:221,regress:168,regular:[0,221,227],reiniti:116,reinterpret:[93,116],reinterpret_cast:[61,63,164],reinterpretcast:63,rel:[0,221,227],relat:[43,221],relationship:[68,135],relativepath:227,releas:[19,56,116,225],relev:[56,67,77,85],reli:[65,66,226],remain:[5,6,8,10,13,14,15,16,204],rememb:33,remov:[25,128,140,152,153,158,164,167,168,171,173,189,211,214,217,219,221],removestar:164,renam:[1,166,184,203,221,222,225,227],rename_check:221,renamefil:227,repeat:[116,167,174],replac:[1,3,17,31,86,116,125,134,146,151,152,153,154,155,156,157,161,162,163,164,168,169,171,172,183,193,194,197,204,205,217,218,220,221],replacementstr:171,report:[3,26,43,81,204,221,226],repres:[138,139,226,227],represent:[123,227],reproduc:3,request:3,requir:[1,56,119,151,153,160,168,174,175,220,221,224,226],rerun:224,reserv:188,reset:[33,116,154,155],resid:221,resiz:22,resourc:[55,56],respect:[0,194,221,226],respons:164,rest:221,restrict:[101,180,221],result:[1,22,23,27,32,33,39,51,56,107,125,127,128,138,140,141,151,164,168,174,185,189,204,217,221,227],result_typ:160,ret_ptr:172,retriev:133,reus:224,reverse_iter:164,review:[221,222],rewritten:187,rgb:181,rhs:122,rich:224,right:[18,65,66,77,96,138,151,168,226,227],risk:[76,135,153],riski:116,rom:181,root:[0,224,226],round:116,row:226,rst:221,rtf:181,rule:[28,33,37,39,41,43,44,45,46,49,54,57,58,59,60,61,62,63,64,65,66,68,74,78,79,86,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,129,130,143,181,202,204,208],run:[3,51,168,174,175,224,227],runtim:[31,116,141,178,221],runtime_error:92,rvalu:[28,33,146,156,168],s_other:33,safe:[57,59,65,66,116,164,168,174,183,193,194,209],safemod:174,safer:[33,134,209],safeti:[56,57,58,59,60,61,62,63,64,65,66],sai:226,same:[0,1,3,24,33,34,56,78,129,138,145,152,160,164,191,206,213,221,226,227],satisfi:164,save:3,scalar:227,scale:3,scanf:43,scc:227,scope:[129,149],scoped_lock:149,scott:[122,168],script:221,search:[221,224,225,227],searchpath:227,second:[33,56,140,160,211],section:[1,28,33,56,67,77,85,94,104,152,227],secur:[15,221],see:[0,1,2,3,28,33,35,38,40,42,47,48,50,52,53,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,75,76,80,82,83,84,90,91,97,100,102,106,108,109,112,113,115,118,122,153,180,209,221,222,223,224,225,226,227],seed:[51,160],seed_seq:160,seen:[205,227],select:[157,224,227],self:[78,164],selinux:[5,6,8,10,13,14,15,16],semant:[1,33,56,153,156,174,221,222,224],semicolon:[22,55,56,89,116,168,180,181,182,188],sens:[133,140,159],sensit:[5,6,8,10,13,14,15,16,56],sent:224,separ:[0,19,22,55,56,73,77,89,117,121,141,168,172,180,181,182,188,221,227],seq:160,sequenc:[33,51,227],seriou:206,server:222,set:[0,3,8,11,33,58,62,68,153,154,155,164,165,167,168,169,171,172,174,175,186,188,211,221,224,226,227],setfoo:204,setjmp:[44,152],setter:222,setup:[3,221,225],setvalu:194,sever:[221,227],sfina:66,share:116,shared_ptr:[33,154,168],shorter:220,shortnamespacelin:119,shortstatementlin:196,should:[6,10,11,13,14,15,16,22,28,30,36,55,56,57,59,71,73,76,77,79,81,117,120,121,133,137,153,160,164,176,178,180,181,186,187,195,196,197,205,206,208,221,222,224,226,227],shouldn:227,show:[135,197,221,224],shown:[153,221,224,227],shrink:116,shrink_to_fit:162,shrinkabl:162,shuffl:116,side:[1,33,116,138,139,209],sign:[1,26,86,116],signal:152,signatur:[34,99,105,116,176,195,197,222],signedtypeprefix:86,significantli:[201,206],signitur:34,silenc:[27,33,221],silent:221,similar:[34,81,159,172,221,224],similarli:153,simpl:[56,151],simpler:220,simpli:[133,140,204],simplifi:[116,133,135,204],sin:192,sinc:[55,56,76,152,153,156,159,164,181,188,225],sinf:192,singl:[3,59,76,140,157,160,163,176,182,188,205,219,224],singlelin:157,site:1,situat:[33,153,156,164,168],size:[9,62,116,132,133,139,153,188],size_t:[31,133,226],size_typ:197,sizeof:[31,55,116,163],sizethreshold:139,skeleton:221,skip:[172,177,227],slice:[116,143],slightli:[187,221],slow:123,smallest:123,smallvectorimpl:227,smart:[168,214,222],smartpoint:[55,168],smartptr:116,sock_cloexec:[1,5,6,16],sock_nonblock:6,sock_stream:16,socket:116,sockfd:[5,6],softwar:[133,225],sole:68,solut:185,solv:[140,204],some:[1,21,33,62,68,81,152,153,168,181,186,197,204,205,221,222,224,226,227],some_object:56,some_str:55,some_struct:55,somedecl:226,someobject:164,someopt:221,someoption1:221,someoption2:221,someth:[56,124,171,200],sometim:28,sometyp:226,soon:22,sort:[135,221],sourc:[0,15,136,157,164,171,221,222,224,225,226,227],source0:[3,221],sourceloc:227,sourcen:[3,221],sourcerang:227,space:[0,119,206],spacesbeforecom:119,span:[57,59],spec:171,special:[28,110,111,116,121,137,169,170,181,205,226],specif:[0,1,3,20,140,164,171,202,221,224,227],specifi:[0,3,30,55,58,72,86,119,139,141,152,154,155,156,159,164,168,171,176,190,194,201,221,222,226,227],speed:[131,156,168],spell:[3,164],spinlock:[1,116],srcmgr:227,stack:[55,56,164],stage:[3,224],stai:159,stand:137,standalon:[226,227],standard:[1,28,33,36,37,39,41,43,44,45,46,49,92,101,104,129,130,143,152,156,164,177,200,221],star:164,start:[0,188,221,222,225,227],startswith:221,state:[28,56,62,156,160,227],state_s:160,stateloc:227,statement:[1,33,101,116,135,137,140,144,149,161,187,188,198,201,206,210,217],statementthreshold:201,static_assert:[134,163],static_cast:[61,64,136,164,165,204,217],staticfunctiona:148,statist:[51,221],statu:[1,225],std:[1,17,22,23,28,30,33,39,51,55,56,58,87,92,120,122,132,135,136,137,146,151,154,155,156,159,160,164,165,168,174,182,186,187,188,189,192,194,213,215,216,220,221,227],std_arrai:132,stdalign:152,stdarg:152,stdbool:152,stddef:152,stderr:[3,221],stdint:152,stdio:152,stdlib:[43,152],stdout:[221,227],step:224,still:[0,22,54,56,68,204,224],sting:143,stl:[132,168,186,191],stop:226,storag:62,store:[3,129,159,221],storeopt:221,str1:135,str2:[121,135],str:[17,27,30,33,87,120,121,137,156,182,227],strai:140,straight:56,stranger:33,strcasecmp:141,strcmp:141,strcmpi:141,stricmp:141,strict:[209,221],strictmod:[18,138,187],string:[1,3,11,22,27,28,33,43,55,58,73,77,86,116,117,120,121,132,133,139,143,152,154,155,156,159,163,164,168,174,185,189,190,193,194,195,213,221,227],string_view:22,stringcomparelikefunct:141,stringlikeclass:182,stringref:[221,227],strlen:[1,116],strncasecmp:141,strncmp:141,strnicmp:141,strnlen:[1,27],strnlen_:[1,27],strtol:43,struct:[24,33,34,55,67,68,76,87,107,121,132,133,156,167,169,170,171,193,209,217,218],structur:[187,206,226,227],studio:222,style:[1,37,55,58,61,66,74,77,78,79,81,85,86,89,117,118,154,155,156,159,164,168,181,190,194,202,208,221],styleguid:[73,75,76,77,78,79,81,85,86,88,89,119,208],sub:33,subclass:[1,116],subcommand:3,subdirectori:[221,226],subhead:226,submit:3,submodule1:226,submodule2:226,subscript:58,subsect:33,subset:221,substitut:221,subtl:133,subtract:59,success:78,suffic:[135,183,193,194],suffici:[176,221],suffix:[86,202,221],suggest:[3,18,21,24,27,28,55,62,76,79,81,86,140,160,189,193,194,200,221],suitabl:[0,221],support:[3,56,160,168,169,180,202,221,224,226],supportedformat:139,suppos:56,suppress:[1,68,122,136,181,221],sure:[143,224],surpris:28,surround:[27,125],suscept:143,suspici:[30,116],sutter:143,swap:[30,31,116,162],symbol:[3,152,222,226,227],sync:205,sync_with_stdio:165,syntact:206,syntax:[0,207,221,222,227],sysmbol:224,system:[41,156,221,222,226,227],systemheaderpragma:227,tab:[157,206],tabl:227,take:[28,33,51,62,76,156,186,204,221,222,226],take_ownership_fn:159,taken:[18,205],tandem:224,target:[221,226,227],team:1,technic:209,tell:0,temp:28,templat:[28,56,72,116,121,122,159,164,204,205,221],temporari:[22,87,107,143,145,149,168,221,226],tend:164,term:0,termin:[135,137],ternari:217,test:[3,30,139,149,222,227],text:[3,157,171,221,227],textual:0,tgmath:152,than:[30,119,122,127,133,135,138,141,152,153,156,162,164,171,221,224],thei:[0,18,19,33,87,137,138,143,149,183,194,195,211,213,221,222,224,226],them:[0,1,18,68,86,135,137,138,148,159,164,194,196,217,218,221,222,224],themselv:54,therebi:28,therefor:[28,33,54,56,153,206],thi:[0,1,3,5,6,10,11,13,14,16,17,23,24,25,28,31,33,36,37,39,41,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,73,74,76,81,87,92,93,94,95,96,98,99,103,105,107,110,111,114,116,119,122,123,125,127,128,129,130,134,135,137,139,140,141,143,144,149,152,153,154,155,156,157,159,160,161,164,166,167,168,169,170,171,172,174,175,176,177,179,180,181,184,185,187,188,190,192,193,196,199,200,201,202,203,204,205,206,207,209,210,214,219,221,224,225,226,227],thing:160,think:209,those:[0,64,122,164,168,222,226],though:[33,164,174,221],thread_loc:45,three:[138,153,157,189],threshold:[30,139],through:[1,23,67,116,133,153,156,190,221,227],throwing2:92,thrown:45,thu:[135,153,160,221],tidi:[2,4,211,223,225],tiff:181,time:[3,121,134,138,139,152,164,197,221,224,226],tmpfile:56,to_str:[17,136],to_wstr:17,todo:116,todo_com:85,togeth:[211,221],token:[139,140,227],tokennam:227,too:[3,187],tool:[3,153,221,222,224,225,226,227],top:[0,195,224,227],trace:225,track:137,trail:[18,73,77,117,121],trailingspac:157,transfer:159,transform:[2,55,153,156,161,164,165,168,171,172,174,200,217,223],translat:[3,121,139,170,205,219,221,224],transpar:116,treat:[19,22,169,221],tree:[221,224],tri:[18,55,202,224],trick:162,trigger:[33,56,77,133,143,159,188,196],trivial:[149,169,183,189,193,194],triviallycopy:32,trucat:23,truncat:[23,31,116],ttwo:157,tupl:168,tuplemakefunct:168,tupletyp:168,turn:[148,168,221,227],twice:[1,164],twine:116,two:[31,33,56,59,135,138,139,157,160,221,224],txt:[56,226],type:[1,3,6,10,13,14,16,17,26,28,33,36,49,56,59,86,87,89,93,96,104,115,116,122,127,128,132,133,136,138,141,143,144,149,151,156,159,161,164,167,168,174,176,183,185,188,189,191,193,194,197,204,209,217,221,222,226,227],typedef:[56,127,158,164,175,177,226],typeinform:56,typenam:[28,56,121,122,156,159,160,164],typesuffix:86,typic:[28,131,133,221,222],typo:[18,211,224],uchar:152,uiactionsheet:180,uialertview:180,uid:181,uiimagepickercontrol:180,uint:[3,86],uitextinputmod:180,uiwebview:180,umbrella:226,unari:[88,116,125],unbrac:29,unchang:[157,159,221],uncom:0,uncondition:29,unconvent:[53,116],undef:227,undefin:[1,39,60,62,104,116,156,224],undeleg:116,under:[180,221,224,225,226],underli:[1,127],underscor:[18,226],understand:[18,200,206],unexpect:125,unexpectedli:140,unicod:143,unidentifi:224,uniform_int_distribut:160,unimpl:170,uniniti:209,unintend:[1,26,31],unintent:[76,209,211],union:116,uniqu:116,unique_ptr:[33,56,146,155,159,168,220],uniqueptr:116,unit:[3,121,170,205,219,221,224],unittest:221,univers:168,unless:0,unlik:[76,149],unnam:[205,208],unnecessari:[116,168,188,198,213,215,216,217],unnecessarili:123,unnecessarycopi:193,unnecessarycopy1:193,unnecessarycopy2:193,unnot:204,unordered_map:[33,164],unordered_multimap:[33,164],unordered_multiset:[33,164],unordered_set:[33,164,188],unprotect:149,unrel:[61,63,64],unsaf:[61,87],unsav:224,unsequenc:116,unsign:[31,86,119,138,139,221,227],unsignedtypeprefix:86,unsuccess:204,until:[196,224,226],untouch:[156,174],unus:[24,116],unusu:207,unwant:[174,227],updat:[156,205,221],upgrad:221,upper_cas:202,url:181,usag:[1,3,5,7,8,9,12,51,59,64,78,81,89,116,123,132,137,141,143,159,172,175,179,187,221,225,226],use:[0,1,3,5,7,8,9,12,25,30,44,49,51,55,56,61,66,67,72,73,74,77,95,116,117,120,121,123,132,135,136,138,145,149,151,153,156,178,183,185,186,187,197,200,204,205,206,217,220,221,222,224,225,226,227],useassign:167,used:[0,1,20,27,28,29,33,43,55,57,58,61,93,125,133,138,139,141,150,153,154,155,156,159,164,177,181,183,190,191,193,194,204,206,209,221,222,226,227],useful:[0,171,221,222],useheaderfileextens:121,usenoexceptfals:171,user:[3,23,55,62,68,79,132,143,145,153,156,160,164,171,172,177,181,190,191,221,224,225],userinfo:178,usernam:85,uses:[1,23,56,60,63,69,78,86,104,116,135,151,152,156,159,164,171,218,221,226,227],using:[0,3,15,17,23,25,31,43,55,56,57,77,116,128,133,135,137,138,140,153,156,159,160,164,168,174,180,187,193,197,209,221,225,226,227],usual:[143,156,159,185],util:[156,159,194],va_arg:66,val:[138,164],valid:[11,43,137,140,141,168,191,221],valu:[1,18,22,23,26,27,31,42,47,69,92,116,119,122,125,130,133,135,138,141,144,151,159,174,183,193,195,196,199,200,201,204,210,221,226,227],value1:227,value2:227,valuesonli:156,vararg:[1,116],variabl:[1,3,33,45,49,55,56,60,61,62,63,64,67,116,120,121,138,143,153,164,175,183,185,189,193,207,211,219,221,222,224,226],variad:37,variou:[138,201],vec:[153,160],vector:[22,33,55,56,116,153,160,164,168,185],vectorlikeclass:188,vendor:157,verbos:168,veri:[3,34,149,222],verif:177,verifi:[43,176,177,221],version:[3,62,205,221],vertic:157,via:[62,78,168,221,226],view:[22,56],vim:225,vimrc:224,violat:[61,63,64,121,143,221],virtual:[1,67,68,75,114,116,173],visibl:[204,219],visual:[157,222,224],volatil:221,vscode:222,vtabl:67,vulner:133,wai:[3,20,56,140,156,157,160,161,164,187,206,221,222,224],wait:224,want:[3,33,128,132,133,156,160,221,224],warn:[1,18,19,24,25,26,28,30,33,34,36,39,51,55,56,62,69,70,71,79,87,121,122,128,132,133,135,138,139,140,141,154,155,156,160,165,167,169,175,176,178,181,183,185,186,187,188,189,192,193,194,197,204,205,207,209,211,219,221,226,227],warningnam:227,warningsaserror:221,warningspec:227,warnonallautocopi:183,warnonimplicitcomparison:141,warnonlargelength:30,warnonlogicalnotcomparison:141,warnonsizeofcomparetoconst:133,warnonsizeofconst:133,warnonsizeofthi:133,warrai:58,wchar:152,wchar_t:143,wcscasecmp:141,wcscmp:141,wcsicmp:141,wcslen:[1,27],wcsncmp:141,wcsnicmp:141,wcsnlen:[1,27],wcsnlen_:[1,27],wctype:152,weak_ptr:33,web:1,webkit:221,welcom:[152,156,157,225],well:[0,56,76,129,181,221,227],were:[1,31,61,63,64,152,153,213,221],what:[23,28,33,124,140,159,160,204,221,225,227],when:[18,25,28,30,33,43,61,67,68,114,121,125,127,128,129,133,138,140,141,149,153,156,159,164,168,171,174,182,183,187,193,204,205,206,209,211,221,224,227],whenev:[138,197,224,227],where:[1,21,22,26,27,45,46,49,64,68,123,137,138,151,153,156,159,164,173,174,183,185,191,198,200,204,205,221],wherea:221,whether:[19,33,122,140,153,195,197,221,222,226,227],which:[0,1,3,8,9,23,24,33,41,56,58,68,76,104,120,121,122,124,131,133,134,138,153,154,155,156,159,164,165,179,180,183,185,186,190,194,201,204,205,221,224,225,226,227],whichev:33,whitelist:89,whitelisttyp:89,whitespac:221,whole:[1,27,65],whose:140,why:179,wide:221,widen:116,wil:23,window:156,within:[124,129,137,153,224,226],without:[1,5,6,10,13,14,15,16,56,62,69,73,77,85,117,121,164,171,176,204,211,221],wliter:221,wmemcmp:141,wold:81,won:[56,68,139,141,159,168,224],word:164,work:[0,1,3,56,133,144,200,205,206,221,225],workflow:[3,221],workspac:222,world:[28,33,79,133,204],wors:123,worst:211,would:[5,6,8,10,11,13,14,15,16,17,27,28,62,127,153,164,168,183,193,194,200,209,213,221,222,224],wouldn:168,write:[65,143,157,185,226],written:[1,28,33,65,128,164,221,227],wrong:[24,59,141,144,156,206],wstr:17,wstring:[17,136],wunus:148,x03:137,x12:137,x42:137,x_impl:227,xml:181,yaml:[3,221,224,227],yet:[33,56,169,204],yield:[56,133],you:[0,3,34,56,68,74,107,128,132,140,160,180,187,192,206,211,221,222,224,225,226,227],your:[0,3,180,206,222,224],yourself:221,zero:[18,30,31,62,121,128,131,133,135,141,154,155,156,164,165,167,168,169,174,175,183,187,189,204,211,217],zircon:[69,70,71]},titles:["Modularize Usage","Extra Clang Tools 6.0.0 Release Notes","<no title>","Clang-Rename","<no title>","clang-tidy - android-cloexec-accept","clang-tidy - android-cloexec-accept4","clang-tidy - android-cloexec-creat","clang-tidy - android-cloexec-dup","clang-tidy - android-cloexec-epoll-create","clang-tidy - android-cloexec-epoll-create1","clang-tidy - android-cloexec-fopen","clang-tidy - android-cloexec-inotify-init","clang-tidy - android-cloexec-inotify-init1","clang-tidy - android-cloexec-memfd-create","clang-tidy - android-cloexec-open","clang-tidy - android-cloexec-socket","clang-tidy - boost-use-to-string","clang-tidy - bugprone-argument-comment","clang-tidy - bugprone-assert-side-effect","clang-tidy - bugprone-bool-pointer-implicit-conversion","clang-tidy - bugprone-copy-constructor-init","clang-tidy - bugprone-dangling-handle","clang-tidy - bugprone-fold-init-type","clang-tidy - bugprone-forward-declaration-namespace","clang-tidy - bugprone-inaccurate-erase","clang-tidy - bugprone-integer-division","clang-tidy - bugprone-misplaced-operator-in-strlen-in-alloc","clang-tidy - bugprone-move-forwarding-reference","clang-tidy - bugprone-multiple-statement-macro","clang-tidy - bugprone-string-constructor","clang-tidy - bugprone-suspicious-memset-usage","clang-tidy - bugprone-undefined-memory-manipulation","clang-tidy - bugprone-use-after-move","clang-tidy - bugprone-virtual-near-miss","clang-tidy - cert-dcl03-c","clang-tidy - cert-dcl21-cpp","clang-tidy - cert-dcl50-cpp","clang-tidy - cert-dcl54-cpp","clang-tidy - cert-dcl58-cpp","clang-tidy - cert-dcl59-cpp","clang-tidy - cert-env33-c","clang-tidy - cert-err09-cpp","clang-tidy - cert-err34-c","clang-tidy - cert-err52-cpp","clang-tidy - cert-err58-cpp","clang-tidy - cert-err60-cpp","clang-tidy - cert-err61-cpp","clang-tidy - cert-fio38-c","clang-tidy - cert-flp30-c","clang-tidy - cert-msc30-c","clang-tidy - cert-msc50-cpp","clang-tidy - cert-oop11-cpp","clang-tidy - cppcoreguidelines-c-copy-assignment-signature","clang-tidy - cppcoreguidelines-interfaces-global-init","clang-tidy - cppcoreguidelines-no-malloc","clang-tidy - cppcoreguidelines-owning-memory","clang-tidy - cppcoreguidelines-pro-bounds-array-to-pointer-decay","clang-tidy - cppcoreguidelines-pro-bounds-constant-array-index","clang-tidy - cppcoreguidelines-pro-bounds-pointer-arithmetic","clang-tidy - cppcoreguidelines-pro-type-const-cast","clang-tidy - cppcoreguidelines-pro-type-cstyle-cast","clang-tidy - cppcoreguidelines-pro-type-member-init","clang-tidy - cppcoreguidelines-pro-type-reinterpret-cast","clang-tidy - cppcoreguidelines-pro-type-static-cast-downcast","clang-tidy - cppcoreguidelines-pro-type-union-access","clang-tidy - cppcoreguidelines-pro-type-vararg","clang-tidy - cppcoreguidelines-slicing","clang-tidy - cppcoreguidelines-special-member-functions","clang-tidy - fuchsia-default-arguments","clang-tidy - fuchsia-overloaded-operator","clang-tidy - fuchsia-virtual-inheritance","clang-tidy - google-build-explicit-make-pair","clang-tidy - google-build-namespaces","clang-tidy - google-build-using-namespace","clang-tidy - google-default-arguments","clang-tidy - google-explicit-constructor","clang-tidy - google-global-names-in-headers","clang-tidy - google-objc-avoid-throwing-exception","clang-tidy - google-objc-global-variable-declaration","clang-tidy - google-readability-braces-around-statements","clang-tidy - google-readability-casting","clang-tidy - google-readability-function-size","clang-tidy - google-readability-namespace-comments","clang-tidy - google-readability-redundant-smartptr-get","clang-tidy - google-readability-todo","clang-tidy - google-runtime-int","clang-tidy - google-runtime-member-string-references","clang-tidy - google-runtime-operator","clang-tidy - google-runtime-references","clang-tidy - hicpp-braces-around-statements","clang-tidy - hicpp-deprecated-headers","clang-tidy - hicpp-exception-baseclass","clang-tidy - hicpp-explicit-conversions","clang-tidy - hicpp-function-size","clang-tidy - hicpp-invalid-access-moved","clang-tidy - hicpp-member-init","clang-tidy - hicpp-move-const-arg","clang-tidy - hicpp-named-parameter","clang-tidy - hicpp-new-delete-operators","clang-tidy - hicpp-no-array-decay","clang-tidy - hicpp-no-assembler","clang-tidy - hicpp-no-malloc","clang-tidy - hicpp-noexcept-move","clang-tidy - hicpp-signed-bitwise","clang-tidy - hicpp-special-member-functions","clang-tidy - hicpp-static-assert","clang-tidy - hicpp-undelegated-construtor","clang-tidy - hicpp-use-auto","clang-tidy - hicpp-use-emplace","clang-tidy - hicpp-use-equals-defaults","clang-tidy - hicpp-use-equals-delete","clang-tidy - hicpp-use-noexcept","clang-tidy - hicpp-use-nullptr","clang-tidy - hicpp-use-override","clang-tidy - hicpp-vararg","clang-tidy - Clang-Tidy Checks","clang-tidy - llvm-header-guard","clang-tidy - llvm-include-order","clang-tidy - llvm-namespace-comment","clang-tidy - llvm-twine-local","clang-tidy - misc-definitions-in-headers","clang-tidy - misc-forwarding-reference-overload","clang-tidy - misc-incorrect-roundings","clang-tidy - misc-lambda-function-name","clang-tidy - misc-macro-parentheses","clang-tidy - misc-macro-repeated-side-effects","clang-tidy - misc-misplaced-const","clang-tidy - misc-misplaced-widening-cast","clang-tidy - misc-new-delete-overloads","clang-tidy - misc-non-copyable-objects","clang-tidy - misc-redundant-expression","clang-tidy - misc-sizeof-container","clang-tidy - misc-sizeof-expression","clang-tidy - misc-static-assert","clang-tidy - misc-string-compare","clang-tidy - misc-string-integer-assignment","clang-tidy - misc-string-literal-with-embedded-nul","clang-tidy - misc-suspicious-enum-usage","clang-tidy - misc-suspicious-missing-comma","clang-tidy - misc-suspicious-semicolon","clang-tidy - misc-suspicious-string-compare","clang-tidy - misc-swapped-arguments","clang-tidy - misc-throw-by-value-catch-by-reference","clang-tidy - misc-unconventional-assign-operator","clang-tidy - misc-undelegated-constructor","clang-tidy - misc-uniqueptr-reset-release","clang-tidy - misc-unused-alias-decls","clang-tidy - misc-unused-parameters","clang-tidy - misc-unused-raii","clang-tidy - misc-unused-using-decls","clang-tidy - modernize-avoid-bind","clang-tidy - modernize-deprecated-headers","clang-tidy - modernize-loop-convert","clang-tidy - modernize-make-shared","clang-tidy - modernize-make-unique","clang-tidy - modernize-pass-by-value","clang-tidy - modernize-raw-string-literal","clang-tidy - modernize-redundant-void-arg","clang-tidy - modernize-replace-auto-ptr","clang-tidy - modernize-replace-random-shuffle","clang-tidy - modernize-return-braced-init-list","clang-tidy - modernize-shrink-to-fit","clang-tidy - modernize-unary-static-assert","clang-tidy - modernize-use-auto","clang-tidy - modernize-use-bool-literals","clang-tidy - modernize-use-default","clang-tidy - modernize-use-default-member-init","clang-tidy - modernize-use-emplace","clang-tidy - modernize-use-equals-default","clang-tidy - modernize-use-equals-delete","clang-tidy - modernize-use-noexcept","clang-tidy - modernize-use-nullptr","clang-tidy - modernize-use-override","clang-tidy - modernize-use-transparent-functors","clang-tidy - modernize-use-using","clang-tidy - mpi-buffer-deref","clang-tidy - mpi-type-mismatch","clang-tidy - objc-avoid-nserror-init","clang-tidy - objc-avoid-spinlock","clang-tidy - objc-forbidden-subclassing","clang-tidy - objc-property-declaration","clang-tidy - performance-faster-string-find","clang-tidy - performance-for-range-copy","clang-tidy - performance-implicit-cast-in-loop","clang-tidy - performance-implicit-conversion-in-loop","clang-tidy - performance-inefficient-algorithm","clang-tidy - performance-inefficient-string-concatenation","clang-tidy - performance-inefficient-vector-operation","clang-tidy - performance-move-const-arg","clang-tidy - performance-move-constructor-init","clang-tidy - performance-noexcept-move-constructor","clang-tidy - performance-type-promotion-in-math-fn","clang-tidy - performance-unnecessary-copy-initialization","clang-tidy - performance-unnecessary-value-param","clang-tidy - readability-avoid-const-params-in-decls","clang-tidy - readability-braces-around-statements","clang-tidy - readability-container-size-empty","clang-tidy - readability-delete-null-pointer","clang-tidy - readability-deleted-default","clang-tidy - readability-else-after-return","clang-tidy - readability-function-size","clang-tidy - readability-identifier-naming","clang-tidy - readability-implicit-bool-cast","clang-tidy - readability-implicit-bool-conversion","clang-tidy - readability-inconsistent-declaration-parameter-name","clang-tidy - readability-misleading-indentation","clang-tidy - readability-misplaced-array-index","clang-tidy - readability-named-parameter","clang-tidy - readability-non-const-parameter","clang-tidy - readability-redundant-control-flow","clang-tidy - readability-redundant-declaration","clang-tidy - readability-redundant-function-ptr-dereference","clang-tidy - readability-redundant-member-init","clang-tidy - readability-redundant-smartptr-get","clang-tidy - readability-redundant-string-cstr","clang-tidy - readability-redundant-string-init","clang-tidy - readability-simplify-boolean-expr","clang-tidy - readability-static-accessed-through-instance","clang-tidy - readability-static-definition-in-anonymous-namespace","clang-tidy - readability-uniqueptr-delete-release","Clang-Tidy","Clangd","<no title>","Clang-Include-Fixer","Welcome to Extra Clang Tools’s documentation!","Modularize User’s Manual","pp-trace User’s Manual"],titleterms:{"boolean":217,"catch":143,"char":133,"const":[60,97,127,189,195,209],"default":[69,75,110,153,166,167,169,199],"enum":138,"float":128,"function":[68,82,94,105,124,201,212],"int":86,"new":[1,99,129,164],"null":198,"return":[161,200],"static":[64,106,134,163,218,219],"throw":[78,143],"void":158,The:221,Use:33,Using:[3,221,222],about:156,accept4:6,accept:5,access:[65,95,218],after:[33,200],algorithm:186,alia:147,alloc:27,android:[5,6,7,8,9,10,11,12,13,14,15,16],anonym:219,arg:[97,158,189],argument:[18,69,75,142],arithmet:59,around:[80,90,196],arrai:[57,58,100,207],assembl:101,assert:[19,106,134,163],assign:[53,136,144],auto:[108,159,164],avoid:[78,151,178,179,195],background:[28,122],base:153,baseclass:92,bind:151,bitwis:104,bool:[20,165,203,204],boost:17,bound:[57,58,59],brace:[80,90,161,196],buffer:176,bugpron:[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],build:[72,73,74,222,227],callback:227,cast:[60,61,63,64,81,128,164,184,203],cert:[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],check:[116,221,226],choos:221,clang:[1,3,116,221,224],clangd:222,cloexec:[5,6,7,8,9,10,11,12,13,14,15,16],comma:139,command:[0,227],comment:[18,83,119,153],compar:[135,141],compil:224,concaten:187,configur:221,constant:58,constructor:[21,30,76,107,145,156,190,191],contain:[132,153,197],content:[3,221,222,224,225],control:210,convers:[20,93,185,204],convert:153,copi:[21,53,183,193],copyabl:130,coverag:226,cpp:[36,37,38,39,40,42,44,45,46,47,51,52],cppcoreguidelin:[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68],creat:[7,9,14,224],create1:10,cstr:215,cstyle:61,current:222,dangl:22,databas:224,dcl03:35,dcl21:36,dcl50:37,dcl54:38,dcl58:39,dcl59:40,decai:[57,100],decl:[147,150,195],declar:[24,79,181,205,211],defin:227,definit:[121,219],delai:156,delet:[99,111,129,170,198,199,220],deprec:[91,152],deref:176,derefer:212,detail:227,directori:221,divis:26,document:225,downcast:64,doxygen:225,dup:8,effect:[19,126,153],elif:227,els:[200,227],emac:[3,224],embed:137,emplac:[109,168],empti:197,end:153,endif:227,endofmainfil:227,env33:41,epol:[9,10],equal:[110,111,169,170],eras:25,err09:42,err34:43,err52:44,err58:45,err60:46,err61:47,escap:137,evalu:153,exampl:[153,168,171,172],except:[78,92],explicit:[72,76,93],expr:217,express:[131,133,164],extra:1,faster:182,filechang:227,filenotfound:227,fileskip:227,find:182,fio38:48,fit:162,fixer:224,flow:210,flp30:49,fold:23,fopen:11,forbidden:180,format:227,forward:[24,28,122],from:224,fuchsia:[69,70,71],functor:174,gener:226,get:[84,214,221,222,226],global:[54,77,79],googl:[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],guard:117,handl:22,header:[77,91,117,121,152,153],hicpp:[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],how:224,ident:227,identifi:202,ifdef:227,ifndef:227,implicit:[20,128,184,185,203,204],improv:1,inaccur:25,includ:[118,224],inclusiondirect:227,inconsist:205,incorrect:123,indent:206,index:[58,207,224],indic:225,ineffici:[186,187,188],inherit:71,init1:13,init:[12,21,23,54,62,96,161,167,178,190,213,216],initi:193,inotifi:[12,13],insid:153,instal:222,instanc:218,integ:[26,136],integr:[3,224],interfac:54,introduct:[1,225],invalid:[95,137],involv:[221,222],iter:164,known:[156,159,164],lambda:124,limit:[56,153,156,159,164,206],line:[0,227],list:161,liter:[137,157,165],llvm:[117,118,119,120,221],local:120,loop:[153,184,185],macro:[29,125,126],macrodefin:227,macroexpand:227,macroundefin:227,make:[72,154,155],malloc:[55,102],manipul:32,manual:[226,227],map:226,math:192,member:[62,68,87,96,105,167,213],memfd:14,memori:[32,56],memset:31,minconfid:153,misc:[121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150],mislead:206,mismatch:177,misplac:[27,127,128,207],miss:[34,139],modern:[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175],modul:226,modular:[0,226],moduleimport:227,move:[28,33,95,97,103,189,190,191],mpi:[176,177],msc30:50,msc50:51,multipl:29,name:[77,98,124,202,205,208],namespac:[24,73,74,83,119,219],noexcept:[103,112,171,191],non:[130,209],note:[1,156],nserror:178,nul:137,nullptr:[113,172],objc:[78,79,178,179,180,181],object:130,onc:153,onli:153,oop11:52,open:15,oper:[27,70,88,99,144,153,188],option:[0,18,19,22,30,55,56,58,62,68,73,77,86,89,117,119,121,128,133,138,139,141,143,153,154,155,156,159,164,165,167,168,169,171,172,174,175,180,181,182,183,187,188,189,190,194,196,201,204,211,217,227],order:118,output:227,overload:[70,122,129,153],overrid:[114,173],own:56,pair:72,param:[194,195],paramet:[98,148,205,208,209],parenthes:125,pars:156,pass:156,perform:[182,183,184,185,186,187,188,189,190,191,192,193,194],place:221,point:128,pointer:[20,57,59,153,198],pragmacom:227,pragmadebug:227,pragmadetectmismatch:227,pragmadiagnost:227,pragmadiagnosticpop:227,pragmadiagnosticpush:227,pragmadirect:227,pragmamessag:227,pragmaopenclextens:227,pragmawarn:227,pragmawarningpop:227,pragmawarningpush:227,prepar:221,pro:[57,58,59,60,61,62,63,64,65,66],promot:192,properti:181,ptr:[159,212],raii:149,random:160,rang:[153,183],raw:157,readabl:[80,81,82,83,84,85,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220],reason:153,redund:[84,131,158,210,211,212,213,214,215,216],refer:[28,87,89,122,143,153],regist:221,reiniti:33,reinterpret:63,releas:[1,146,220],renam:3,repeat:126,replac:[159,160],reset:146,right:221,riski:153,round:123,run:221,runtim:[86,87,88,89],safe:153,semicolon:140,setup:224,share:154,shrink:162,shuffl:160,side:[19,126,153],sign:104,signatur:53,simplifi:217,size:[82,94,197,201],sizeof:[132,133],slice:67,smartptr:[84,214],socket:16,sourcerangeskip:227,special:[68,105],spinlock:179,start:226,statement:[29,80,90,196],statu:222,string:[17,30,87,135,136,137,141,157,182,187,215,216],strlen:27,structur:221,subclass:180,suspici:[31,133,138,139,140,141],swap:142,symbol:224,tabl:225,templat:156,test:221,thi:133,through:218,tidi:[1,116,221],todo:85,tool:1,trace:227,transpar:174,truncat:137,twine:120,type:[23,60,61,62,63,64,65,66,177,192],unari:163,unconvent:144,undefin:32,undeleg:[107,145],union:65,uniqu:155,uniqueptr:[146,220],unnecessari:[193,194],unsequenc:33,unus:[147,148,149,150],usag:[0,31,133,138,227],use:[17,33,108,109,110,111,112,113,114,164,165,166,167,168,169,170,171,172,173,174,175],user:[226,227],uses:33,using:[74,150,175],valu:[143,156,194],vararg:[66,115],variabl:79,vector:188,vim:[3,224],virtual:[34,71],what:[1,226],widen:128,work:224,workspac:221,write:221,your:221}})
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/lld/docs/.buildinfo
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/.buildinfo?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/.buildinfo (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/.buildinfo Thu Mar  8 02:24:44 2018
@@ -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: 183b6fe38dd82f4c2188457e241edef4
+tags: 645f666f9bcd5a90fca523b33c5a78b7

Added: www-releases/trunk/6.0.0/tools/lld/docs/AtomLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/AtomLLD.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/AtomLLD.html (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/AtomLLD.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,219 @@
+
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Linker Design" href="design.html" />
+    <link rel="prev" title="The ELF, COFF and Wasm 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 role="document">
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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, COFF and Wasm Linkers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <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, COFF and Wasm Linkers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="design.html"
+                        title="next chapter">Linker Design</a></p>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/AtomLLD.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <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>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><span class="doc">LLD - The LLVM Linker</span></a>.</p>
+<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="development.html">Development</a><ul>
+<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="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"><span class="std std-ref">Index</span></a></li>
+<li><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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, COFF and Wasm Linkers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-03-02.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/lld/docs/Driver.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/Driver.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/Driver.html (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/Driver.html Thu Mar  8 02:24:44 2018
@@ -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>Driver — lld 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Open Projects" href="open_projects.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 role="document">
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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="open_projects.html" title="Open Projects"
+             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 class="nav-item nav-item-1"><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li class="nav-item nav-item-2"><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <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="open_projects.html"
+                        title="next chapter">Open Projects</a></p>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/Driver.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="driver">
+<h1>Driver<a class="headerlink" href="#driver" title="Permalink to this headline">¶</a></h1>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><span class="doc">LLD - The LLVM Linker</span></a>.</p>
+<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 <code class="docutils literal"><span class="pre">-flavor</span></code>:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ lld -flavor gnu
+</pre></div>
+</div>
+<p>There is a shortcut for <code class="docutils literal"><span class="pre">-flavor</span> <span class="pre">core</span></code> as <code class="docutils literal"><span class="pre">-core</span></code>.</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 <code class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></code>.</li>
+<li>Add to <code class="xref cpp cpp-class docutils literal"><span class="pre">lld::FlavorLinkingContext</span></code> a getter and setter method
+for the option.</li>
+<li>Modify <code class="xref cpp cpp-func docutils literal"><span class="pre">lld::FlavorDriver::parse()</span></code> 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 <code class="file docutils literal"><span class="pre">include/lld/Common/Driver.h</span></code> to
+<code class="xref cpp cpp-class docutils literal"><span class="pre">lld::UniversalDriver::Flavor</span></code>.</li>
+<li>Add an entry in <code class="file docutils literal"><span class="pre">lib/Driver/UniversalDriver.cpp</span></code> to
+<code class="xref cpp cpp-func docutils literal"><span class="pre">lld::Driver::strToFlavor()</span></code> and
+<code class="xref cpp cpp-func docutils literal"><span class="pre">lld::UniversalDriver::link()</span></code>.
+This allows the flavor to be selected via symlink and <cite>-flavor</cite>.</li>
+<li>Add a tablegen file called <code class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></code> that
+describes the options. If the options are a superset of another driver, that
+driver’s td file can simply be included. The <code class="file docutils literal"><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></code> file
+must also be added to <code class="file docutils literal"><span class="pre">lib/Driver/CMakeLists.txt</span></code>.</li>
+<li>Add a <code class="docutils literal"><span class="pre">{flavor}Driver</span></code> as a subclass of <code class="xref cpp cpp-class docutils literal"><span class="pre">lld::Driver</span></code>
+in <code class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Driver.cpp</span></code>.</li>
+</ol>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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="open_projects.html" title="Open Projects"
+             >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 class="nav-item nav-item-1"><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li class="nav-item nav-item-2"><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-03-02.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/lld/docs/NewLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/NewLLD.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/NewLLD.html (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/NewLLD.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,409 @@
+
+<!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, COFF and Wasm Linkers — lld 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.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 role="document">
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">The ELF, COFF and Wasm 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-structures">Important Data Structures</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>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/NewLLD.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="the-elf-coff-and-wasm-linkers">
+<h1>The ELF, COFF and Wasm Linkers<a class="headerlink" href="#the-elf-coff-and-wasm-linkers" title="Permalink to this headline">¶</a></h1>
+<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 linkers share the same design but share very little code.
+Sharing code makes sense if the benefit is worth its cost.
+In our case, the object formats are different enough that we thought the layer
+to abstract the differences wouldn’t be 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 approaches 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-structures">
+<h2>Important Data Structures<a class="headerlink" href="#important-data-structures" 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">Symbol</p>
+<p>This class represents a symbol.
+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 Symbols: 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>
+<p>There’s only one Symbol instance for each unique symbol name. This uniqueness
+is guaranteed by the symbol table. As the resolver reads symbols from input
+files, it replaces an existing Symbol with the “best” Symbol for its symbol
+name using the placement new.</p>
+<p>The above mechanism allows you to use pointers to Symbols as a very cheap way
+to access name resolution results. Assume for example that you have a pointer
+to an undefined symbol before name resolution. If the symbol is resolved to a
+defined symbol by the resolver, the pointer will “automatically” point to the
+defined symbol, because the undefined symbol the pointer pointed to will have
+been replaced by the defined symbol in-place.</p>
+</li>
+<li><p class="first">SymbolTable</p>
+<p>SymbolTable is basically a hash table from strings to Symbols
+with 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 Symbols 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 puts all symbols within 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 an 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" role="navigation" aria-label="related navigation">
+      <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" role="contentinfo">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-03-02.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/lld/docs/Readers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/Readers.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/Readers.html (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/Readers.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,300 @@
+
+<!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 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Driver" href="Driver.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 role="document">
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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="development.html" title="Development"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li class="nav-item nav-item-1"><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li class="nav-item nav-item-2"><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <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="development.html"
+                        title="previous chapter">Development</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="Driver.html"
+                        title="next chapter">Driver</a></p>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/Readers.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <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>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><span class="doc">LLD - The LLVM Linker</span></a>.</p>
+<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 <code class="xref cpp cpp-class docutils literal"><span class="pre">lld::File</span></code> (which is a graph of Atoms)
+representing the object file.  A Reader inherits from
+<code class="xref cpp cpp-class docutils literal"><span class="pre">lld::Reader</span></code> which lives in
+<code class="file docutils literal"><span class="pre">include/lld/Core/Reader.h</span></code> and
+<code class="file docutils literal"><span class="pre">lib/Core/Reader.cpp</span></code>.</p>
+<p>The Reader infrastructure for an object format <code class="docutils literal"><span class="pre">Foo</span></code> requires the
+following pieces in order to fit into lld:</p>
+<p><code class="file docutils literal"><span class="pre">include/lld/ReaderWriter/ReaderFoo.h</span></code></p>
+<blockquote>
+<div><dl class="class">
+<dt id="_CPPv216ReaderOptionsFoo">
+<span id="ReaderOptionsFoo"></span><em class="property">class </em><code class="descclassname"></code><code class="descname">ReaderOptionsFoo</code> : <em class="property">public</em> ReaderOptions<a class="headerlink" href="#_CPPv216ReaderOptionsFoo" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>This Options class is the only way to configure how the Reader will
+parse any file into an <code class="xref cpp cpp-class docutils literal"><span class="pre">lld::Reader</span></code> object.  This class
+should be declared in the <code class="xref cpp cpp-class docutils literal"><span class="pre">lld</span></code> namespace.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="_CPPv215createReaderFooR16ReaderOptionsFoo">
+<span id="createReaderFoo__ReaderOptionsFooR"></span>Reader *<code class="descclassname"></code><code class="descname">createReaderFoo</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv216ReaderOptionsFoo" title="ReaderOptionsFoo">ReaderOptionsFoo</a> &<em>reader</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv215createReaderFooR16ReaderOptionsFoo" title="Permalink to this definition">¶</a><br /></dt>
+<dd><p>This factory function configures and create the Reader. This function
+should be declared in the <code class="xref cpp cpp-class docutils literal"><span class="pre">lld</span></code> namespace.</p>
+</dd></dl>
+
+</div></blockquote>
+<p><code class="file docutils literal"><span class="pre">lib/ReaderWriter/Foo/ReaderFoo.cpp</span></code></p>
+<blockquote>
+<div><dl class="class">
+<dt id="_CPPv29ReaderFoo">
+<span id="ReaderFoo"></span><em class="property">class </em><code class="descclassname"></code><code class="descname">ReaderFoo</code> : <em class="property">public</em> Reader<a class="headerlink" href="#_CPPv29ReaderFoo" title="Permalink to this definition">¶</a><br /></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 <code class="xref cpp cpp-class docutils literal"><span class="pre">lld::WriterFoo</span></code> you
+can make a nested namespace (e.g. <code class="xref cpp cpp-class docutils literal"><span class="pre">lld::foo</span></code>).</p>
+</dd></dl>
+
+</div></blockquote>
+<p>You may have noticed that <a class="reference internal" href="#_CPPv29ReaderFoo" title="ReaderFoo"><code class="xref cpp cpp-class docutils literal"><span class="pre">ReaderFoo</span></code></a> is not declared in the
+<code class="docutils literal"><span class="pre">.h</span></code> 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="#_CPPv215createReaderFooR16ReaderOptionsFoo" title="createReaderFoo"><code class="xref cpp cpp-func docutils literal"><span class="pre">createReaderFoo()</span></code></a> factory function. The creation of the Reader is
+parametrized through a <a class="reference internal" href="#_CPPv216ReaderOptionsFoo" title="ReaderOptionsFoo"><code class="xref cpp cpp-class docutils literal"><span class="pre">ReaderOptionsFoo</span></code></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
+<code class="docutils literal"><span class="pre">ELF</span></code>, <code class="docutils literal"><span class="pre">PECOFF</span></code>, <code class="docutils literal"><span class="pre">MachO</span></code>, and lld’s native <code class="docutils literal"><span class="pre">YAML</span></code> 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 <code class="docutils literal"><span class="pre">.cpp</span></code> 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-default"><div class="highlight"><pre><span></span><span class="n">virtual</span> <span class="n">error_code</span> <span class="n">loadFile</span><span class="p">(</span><span class="n">LinkerInput</span> <span class="o">&</span><span class="nb">input</span><span class="p">,</span>
+                            <span class="n">std</span><span class="p">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="p">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">File</span><span class="o">>></span> <span class="o">&</span><span class="n">result</span><span class="p">);</span>
+</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" role="navigation" aria-label="related navigation">
+      <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="development.html" title="Development"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li class="nav-item nav-item-1"><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li class="nav-item nav-item-2"><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-03-02.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/lld/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/ReleaseNotes.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/ReleaseNotes.html (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/ReleaseNotes.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,215 @@
+
+<!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 6.0.0 Release Notes — lld 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="prev" title="Windows support" href="windows_support.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body role="document">
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">LLD 6.0.0 Release Notes</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#non-comprehensive-list-of-changes-in-this-release">Non-comprehensive list of changes in this release</a><ul>
+<li><a class="reference internal" href="#elf-improvements">ELF Improvements</a></li>
+<li><a class="reference internal" href="#coff-improvements">COFF Improvements</a></li>
+<li><a class="reference internal" href="#webassembly-improvements">WebAssembly Improvements</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="windows_support.html"
+                        title="previous chapter">Windows support</a></p>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/ReleaseNotes.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="lld-6-0-0-release-notes">
+<h1>LLD 6.0.0 Release Notes<a class="headerlink" href="#lld-6-0-0-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="#non-comprehensive-list-of-changes-in-this-release" id="id2">Non-comprehensive list of changes in this release</a><ul>
+<li><a class="reference internal" href="#elf-improvements" id="id3">ELF Improvements</a></li>
+<li><a class="reference internal" href="#coff-improvements" id="id4">COFF Improvements</a></li>
+<li><a class="reference internal" href="#webassembly-improvements" id="id5">WebAssembly Improvements</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 6.0.0.
+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="non-comprehensive-list-of-changes-in-this-release">
+<h2><a class="toc-backref" href="#id2">Non-comprehensive list of changes in this release</a><a class="headerlink" href="#non-comprehensive-list-of-changes-in-this-release" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="elf-improvements">
+<h3><a class="toc-backref" href="#id3">ELF Improvements</a><a class="headerlink" href="#elf-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>A lot of bugs and compatibility issues have been identified and fixed as a
+result of people using lld 5.0 as a standard system linker. In particular,
+linker script and version script support has significantly improved that
+it should be able to handle almost all scripts.</li>
+<li>A mitigation for Spectre v2 has been implemented. If you pass <code class="docutils literal"><span class="pre">-z</span>
+<span class="pre">retpolineplt</span></code>, lld uses RET instruction instead of JMP instruction in PLT.
+The option is available for x86 and x86-64.</li>
+<li>Identical Code Folding (ICF) now de-duplicates .eh_frame entries, so lld now
+generates slightly smaller outputs than before when you pass <code class="docutils literal"><span class="pre">--icf=all</span></code>.</li>
+<li>Analysis for <code class="docutils literal"><span class="pre">--as-needed</span></code> is now done after garbage collection. If garbage
+collector eliminates all sections that use some library, that library is
+eliminated from DT_NEEDED tags. Previously, the analysis ran before garbage
+collection.</li>
+<li>Size of code segment is now always rounded up to page size to make sure that
+unused bytes at end of code segment is filled with trap instructions (such
+as INT3) instead of zeros.</li>
+<li>lld is now able to generate Android-style compact dynamic relocation table.
+You can turn on the feature by passing <code class="docutils literal"><span class="pre">--pack-dyn-relocs=android</span></code>.</li>
+<li>Debug information is used in more cases when reporting errors.</li>
+<li><code class="docutils literal"><span class="pre">--gdb-index</span></code> gets faster than before.</li>
+<li>String merging is now multi-threaded, which makes <code class="docutils literal"><span class="pre">-O2</span></code> faster.</li>
+<li><code class="docutils literal"><span class="pre">--hash-style=both</span></code> is now default instead of <code class="docutils literal"><span class="pre">--hash-style=sysv</span></code> to
+match the behavior of recent versions of GNU linkers.</li>
+<li>ARM PLT entries automatically use short or long variants.</li>
+<li>lld can now identify and patch a code sequence that triggers AArch64 errata 843419.
+Add <code class="docutils literal"><span class="pre">--fix-cortex-a53-843419</span></code> to enable the feature.</li>
+<li>lld can now generate thunks for out of range branches.</li>
+<li>MIPS port now generates all output dynamic relocations using Elf_Rel format only.</li>
+<li>Added handling of the R_MIPS_26 relocation in case of N32/N64 ABIs and
+generating proper PLT entries.</li>
+<li>The following options have been added: <code class="docutils literal"><span class="pre">--icf=none</span></code> <code class="docutils literal"><span class="pre">-z</span> <span class="pre">muldefs</span></code>
+<code class="docutils literal"><span class="pre">--plugin-opt</span></code> <code class="docutils literal"><span class="pre">--no-eh-frame-hdr</span></code> <code class="docutils literal"><span class="pre">--no-gdb-index</span></code>
+<code class="docutils literal"><span class="pre">--orphan-handling={place,discard,warn,error}</span></code>
+<code class="docutils literal"><span class="pre">--pack-dyn-relocs={none,android}</span></code> <code class="docutils literal"><span class="pre">--no-omagic</span></code>
+<code class="docutils literal"><span class="pre">--no-print-gc-sections</span></code> <code class="docutils literal"><span class="pre">--ignore-function-address-equality</span></code> <code class="docutils literal"><span class="pre">-z</span>
+<span class="pre">retpolineplt</span></code> <code class="docutils literal"><span class="pre">--print-icf-sections</span></code> <code class="docutils literal"><span class="pre">--no-pie</span></code></li>
+</ul>
+</div>
+<div class="section" id="coff-improvements">
+<h3><a class="toc-backref" href="#id4">COFF Improvements</a><a class="headerlink" href="#coff-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>A GNU ld style frontend for the COFF linker has been added for MinGW.
+In MinGW environments, the linker is invoked with GNU ld style parameters;
+which lld previously only supported when used as an ELF linker. When
+a PE/COFF target is chosen, those parameters are rewritten into the
+lld-link style parameters and the COFF linker is invoked instead.</li>
+<li>Initial support for the ARM64 architecture has been added.</li>
+<li>New <code class="docutils literal"><span class="pre">--version</span></code> flag.</li>
+<li>Significantly improved support for writing PDB Files.</li>
+<li>New <code class="docutils literal"><span class="pre">--rsp-quoting</span></code> flag, like <code class="docutils literal"><span class="pre">clang-cl</span></code>.</li>
+<li><code class="docutils literal"><span class="pre">/manifestuac:no</span></code> no longer incorrectly disables <code class="docutils literal"><span class="pre">/manifestdependency:</span></code>.</li>
+<li>Only write <code class="docutils literal"><span class="pre">.manifest</span></code> files if <code class="docutils literal"><span class="pre">/manifest</span></code> is passed.</li>
+</ul>
+</div>
+<div class="section" id="webassembly-improvements">
+<h3><a class="toc-backref" href="#id5">WebAssembly Improvements</a><a class="headerlink" href="#webassembly-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Initial version of WebAssembly support has landed. You can invoke the
+WebAssembly linker by <code class="docutils literal"><span class="pre">wasm-ld</span></code>.</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-03-02.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.0/tools/lld/docs/WebAssembly.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/WebAssembly.html?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/WebAssembly.html (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/WebAssembly.html Thu Mar  8 02:24:44 2018
@@ -0,0 +1,163 @@
+
+<!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>WebAssembly lld port — lld 6 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:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true,
+        SOURCELINK_SUFFIX: '.txt'
+      };
+    </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="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Windows support" href="windows_support.html" />
+    <link rel="prev" title="Sphinx Introduction for LLVM Developers" href="sphinx_intro.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body role="document">
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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="sphinx_intro.html" title="Sphinx Introduction for LLVM Developers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">WebAssembly lld port</a><ul>
+<li><a class="reference internal" href="#object-file-format">Object file format</a></li>
+<li><a class="reference internal" href="#missing-features">Missing features</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="sphinx_intro.html"
+                        title="previous chapter">Sphinx Introduction for LLVM Developers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="windows_support.html"
+                        title="next chapter">Windows support</a></p>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/WebAssembly.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <div><input type="text" name="q" /></div>
+      <div><input type="submit" value="Go" /></div>
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="webassembly-lld-port">
+<h1>WebAssembly lld port<a class="headerlink" href="#webassembly-lld-port" title="Permalink to this headline">¶</a></h1>
+<p>Note: The WebAssembly port is still a work in progress and is be lacking
+certain features.</p>
+<p>The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
+a WebAssembly binary as its output.  For the most part this port tried to mimic
+the behaviour of traditional ELF linkers and specifically the ELF lld port.
+Where possible that command line flags and the semantics should be the same.</p>
+<div class="section" id="object-file-format">
+<h2>Object file format<a class="headerlink" href="#object-file-format" title="Permalink to this headline">¶</a></h2>
+<p>The format the input object files that lld expects is specified as part of the
+the WebAssembly tool conventions
+<a class="reference external" href="https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md">https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md</a>.</p>
+<p>This is object format that the llvm will produce when run with the
+<code class="docutils literal"><span class="pre">wasm32-unknown-unknown-wasm</span></code> target.  To build llvm with WebAssembly support
+currently requires enabling the experimental backed using
+<code class="docutils literal"><span class="pre">-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly</span></code>.</p>
+</div>
+<div class="section" id="missing-features">
+<h2>Missing features<a class="headerlink" href="#missing-features" title="Permalink to this headline">¶</a></h2>
+<p>There are several key features that are not yet implement in the WebAssembly
+ports:</p>
+<ul class="simple">
+<li>COMDAT support.  This means that support for C++ is still very limited.</li>
+<li>Function stripping.  Currently there is no support for <code class="docutils literal"><span class="pre">--gc-sections</span></code> so
+functions and data from a given object will linked as a unit.</li>
+<li>Section start/end symbols.  The synthetic symbols that mark the start and
+of data regions are not yet created in the output file.</li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <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="sphinx_intro.html" title="Sphinx Introduction for LLVM Developers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-03-02.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
+    </div>
+  </body>
+</html>
\ No newline at end of file

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

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

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,62 @@
+ATOM-based lld
+==============
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+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
+   development
+   open_projects
+   sphinx_intro
+
+Indices and tables
+------------------
+
+* :ref:`genindex`
+* :ref:`search`
+
+__ http://llvm.org/docs/DeveloperPolicy.html#license

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/Driver.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/Driver.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/Driver.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/Driver.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,82 @@
+======
+Driver
+======
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+.. 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/Common/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 `-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/6.0.0/tools/lld/docs/_sources/NewLLD.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/NewLLD.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/NewLLD.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/NewLLD.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,309 @@
+The ELF, COFF and Wasm Linkers
+==============================
+
+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 linkers share the same design but share very little code.
+  Sharing code makes sense if the benefit is worth its cost.
+  In our case, the object formats are different enough that we thought the layer
+  to abstract the differences wouldn't be 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 approaches 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 Structures
+-------------------------
+
+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.
+
+* Symbol
+
+  This class represents a symbol.
+  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 Symbols: 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.
+
+  There's only one Symbol instance for each unique symbol name. This uniqueness
+  is guaranteed by the symbol table. As the resolver reads symbols from input
+  files, it replaces an existing Symbol with the "best" Symbol for its symbol
+  name using the placement new.
+
+  The above mechanism allows you to use pointers to Symbols as a very cheap way
+  to access name resolution results. Assume for example that you have a pointer
+  to an undefined symbol before name resolution. If the symbol is resolved to a
+  defined symbol by the resolver, the pointer will "automatically" point to the
+  defined symbol, because the undefined symbol the pointer pointed to will have
+  been replaced by the defined symbol in-place.
+
+* SymbolTable
+
+  SymbolTable is basically a hash table from strings to Symbols
+  with 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 Symbols 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 puts all symbols within 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 an 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/6.0.0/tools/lld/docs/_sources/Readers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/Readers.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/Readers.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/Readers.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,174 @@
+.. _Readers:
+
+Developing lld Readers
+======================
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+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/6.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,99 @@
+=======================
+LLD 6.0.0 Release Notes
+=======================
+
+.. contents::
+    :local:
+
+Introduction
+============
+
+This document contains the release notes for the lld linker, release 6.0.0.
+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/>`_.
+
+Non-comprehensive list of changes in this release
+=================================================
+
+ELF Improvements
+----------------
+
+* A lot of bugs and compatibility issues have been identified and fixed as a
+  result of people using lld 5.0 as a standard system linker. In particular,
+  linker script and version script support has significantly improved that
+  it should be able to handle almost all scripts.
+
+* A mitigation for Spectre v2 has been implemented. If you pass ``-z
+  retpolineplt``, lld uses RET instruction instead of JMP instruction in PLT.
+  The option is available for x86 and x86-64.
+
+* Identical Code Folding (ICF) now de-duplicates .eh_frame entries, so lld now
+  generates slightly smaller outputs than before when you pass ``--icf=all``.
+
+* Analysis for ``--as-needed`` is now done after garbage collection. If garbage
+  collector eliminates all sections that use some library, that library is
+  eliminated from DT_NEEDED tags. Previously, the analysis ran before garbage
+  collection.
+
+* Size of code segment is now always rounded up to page size to make sure that
+  unused bytes at end of code segment is filled with trap instructions (such
+  as INT3) instead of zeros.
+
+* lld is now able to generate Android-style compact dynamic relocation table.
+  You can turn on the feature by passing ``--pack-dyn-relocs=android``.
+
+* Debug information is used in more cases when reporting errors.
+
+* ``--gdb-index`` gets faster than before.
+
+* String merging is now multi-threaded, which makes ``-O2`` faster.
+
+* ``--hash-style=both`` is now default instead of ``--hash-style=sysv`` to
+  match the behavior of recent versions of GNU linkers.
+
+* ARM PLT entries automatically use short or long variants.
+
+* lld can now identify and patch a code sequence that triggers AArch64 errata 843419.
+  Add ``--fix-cortex-a53-843419`` to enable the feature.
+
+* lld can now generate thunks for out of range branches.
+
+* MIPS port now generates all output dynamic relocations using Elf_Rel format only.
+
+* Added handling of the R_MIPS_26 relocation in case of N32/N64 ABIs and
+  generating proper PLT entries.
+
+* The following options have been added: ``--icf=none`` ``-z muldefs``
+  ``--plugin-opt`` ``--no-eh-frame-hdr`` ``--no-gdb-index``
+  ``--orphan-handling={place,discard,warn,error}``
+  ``--pack-dyn-relocs={none,android}`` ``--no-omagic``
+  ``--no-print-gc-sections`` ``--ignore-function-address-equality`` ``-z
+  retpolineplt`` ``--print-icf-sections`` ``--no-pie``
+
+COFF Improvements
+-----------------
+
+* A GNU ld style frontend for the COFF linker has been added for MinGW.
+  In MinGW environments, the linker is invoked with GNU ld style parameters;
+  which lld previously only supported when used as an ELF linker. When
+  a PE/COFF target is chosen, those parameters are rewritten into the
+  lld-link style parameters and the COFF linker is invoked instead.
+
+* Initial support for the ARM64 architecture has been added.
+
+* New ``--version`` flag.
+
+* Significantly improved support for writing PDB Files.
+
+* New ``--rsp-quoting`` flag, like ``clang-cl``.
+
+* ``/manifestuac:no`` no longer incorrectly disables ``/manifestdependency:``.
+
+* Only write ``.manifest`` files if ``/manifest`` is passed.
+
+WebAssembly Improvements
+------------------------
+
+* Initial version of WebAssembly support has landed. You can invoke the
+  WebAssembly linker by ``wasm-ld``.

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,36 @@
+WebAssembly lld port
+====================
+
+Note: The WebAssembly port is still a work in progress and is be lacking
+certain features.
+
+The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
+a WebAssembly binary as its output.  For the most part this port tried to mimic
+the behaviour of traditional ELF linkers and specifically the ELF lld port.
+Where possible that command line flags and the semantics should be the same.
+
+
+Object file format
+------------------
+
+The format the input object files that lld expects is specified as part of the
+the WebAssembly tool conventions
+https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md.
+
+This is object format that the llvm will produce when run with the
+``wasm32-unknown-unknown-wasm`` target.  To build llvm with WebAssembly support
+currently requires enabling the experimental backed using
+``-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly``.
+
+
+Missing features
+----------------
+
+There are several key features that are not yet implement in the WebAssembly
+ports:
+
+- COMDAT support.  This means that support for C++ is still very limited.
+- Function stripping.  Currently there is no support for ``--gc-sections`` so
+  functions and data from a given object will linked as a unit.
+- Section start/end symbols.  The synthetic symbols that mark the start and
+  of data regions are not yet created in the output file.

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/design.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/design.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/design.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/design.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,421 @@
+.. _design:
+
+Linker Design
+=============
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+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/6.0.0/tools/lld/docs/_sources/development.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/development.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/development.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/development.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,45 @@
+.. _development:
+
+Development
+===========
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+lld is developed as part of the `LLVM <http://llvm.org>`_ project.
+
+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:
+
+   Readers
+   Driver

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/getting_started.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/getting_started.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/getting_started.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/getting_started.rst.txt Thu Mar  8 02:24:44 2018
@@ -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/6.0.0/tools/lld/docs/_sources/index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/index.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/index.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/index.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,178 @@
+LLD - The LLVM Linker
+=====================
+
+LLD is a linker from the LLVM project. That is a drop-in replacement
+for system linkers and runs much faster than them. It also provides
+features that are useful for toolchain developers.
+
+The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and
+WebAssembly in descending order of completeness. Internally, LLD consists of
+several different linkers. The ELF port is the one that will be described in
+this document. The PE/COFF port is almost complete except the lack of the
+Windows debug info (PDB) support. The WebAssembly port is still a work in
+progress (See :doc:`WebAssembly`).  The Mach-O port is built based on a
+different architecture than the others. For the details about Mach-O, please
+read :doc:`AtomLLD`.
+
+Features
+--------
+
+- LLD is a drop-in replacement for the GNU linkers. That accepts the
+  same command line arguments and linker scripts as GNU.
+
+  We are currently working closely with the FreeBSD project to make
+  LLD default system linker in future versions of the operating
+  system, so we are serious about addressing compatibility issues. As
+  of February 2017, LLD is able to link the entire FreeBSD/amd64 base
+  system including the kernel. With a few work-in-progress patches it
+  can link approximately 95% of the ports collection on AMD64. For the
+  details, see `FreeBSD quarterly status report
+  <https://www.freebsd.org/news/status/report-2016-10-2016-12.html#Using-LLVM%27s-LLD-Linker-as-FreeBSD%27s-System-Linker>`_.
+
+- LLD is very fast. When you link a large program on a multicore
+  machine, you can expect that LLD runs more than twice as fast as GNU
+  gold linker. Your milage may vary, though.
+
+- It supports various CPUs/ABIs including x86-64, x86, x32, AArch64,
+  ARM, MIPS 32/64 big/little-endian, PowerPC, PowerPC 64 and AMDGPU.
+  Among these, x86-64 is the most well-supported target and have
+  reached production quality. AArch64 and MIPS seem decent too. x86
+  should be OK but not well tested yet. ARM support is being developed
+  actively.
+
+- It is always a cross-linker, meaning that it always supports all the
+  above targets however it was built. In fact, we don't provide a
+  build-time option to enable/disable each target. This should make it
+  easy to use our linker as part of a cross-compile toolchain.
+
+- You can embed LLD to your program to eliminate dependency to
+  external linkers. All you have to do is to construct object files
+  and command line arguments just like you would do to invoke an
+  external linker and then call the linker's main function,
+  ``lld::elf::link``, from your code.
+
+- It is small. We are using LLVM libObject library to read from object
+  files, so it is not completely a fair comparison, but as of February
+  2017, LLD/ELF consists only of 21k lines of C++ code while GNU gold
+  consists of 198k lines of C++ code.
+
+- Link-time optimization (LTO) is supported by default. Essentially,
+  all you have to do to do LTO is to pass the ``-flto`` option to clang.
+  Then clang creates object files not in the native object file format
+  but in LLVM bitcode format. LLD reads bitcode object files, compile
+  them using LLVM and emit an output file. Because in this way LLD can
+  see the entire program, it can do the whole program optimization.
+
+- Some very old features for ancient Unix systems (pre-90s or even
+  before that) have been removed. Some default settings have been
+  tuned for the 21st century. For example, the stack is marked as
+  non-executable by default to tighten security.
+
+Performance
+-----------
+
+This is a link time comparison on a 2-socket 20-core 40-thread Xeon
+E5-2680 2.80 GHz machine with an SSD drive. We ran gold and lld with
+or without multi-threading support. To disable multi-threading, we
+added ``-no-threads`` to the command lines.
+
+============  ===========  ============  ====================  ==================  ===============  =============
+Program       Output size  GNU ld        GNU gold w/o threads  GNU gold w/threads  lld w/o threads  lld w/threads
+ffmpeg dbg    92 MiB       1.72s         1.16s                 1.01s               0.60s            0.35s
+mysqld dbg    154 MiB      8.50s         2.96s                 2.68s               1.06s            0.68s
+clang dbg     1.67 GiB     104.03s       34.18s                23.49s              14.82s           5.28s
+chromium dbg  1.14 GiB     209.05s [1]_  64.70s                60.82s              27.60s           16.70s
+============  ===========  ============  ====================  ==================  ===============  =============
+
+As you can see, lld is significantly faster than GNU linkers.
+Note that this is just a benchmark result of our environment.
+Depending on number of available cores, available amount of memory or
+disk latency/throughput, your results may vary.
+
+.. [1] Since GNU ld doesn't support the ``-icf=all`` and
+       ``-gdb-index`` options, we removed them from the command line
+       for GNU ld. GNU ld would have been slower than this if it had
+       these options.
+
+Build
+-----
+
+If you have already checked out LLVM using SVN, you can check out LLD
+under ``tools`` directory just like you probably did for clang. For the
+details, see `Getting Started with the LLVM System
+<http://llvm.org/docs/GettingStarted.html>`_.
+
+If you haven't checkout out LLVM, the easiest way to build LLD is to
+checkout the entire LLVM projects/sub-projects from a git mirror and
+build that tree. You need `cmake` and of course a C++ compiler.
+
+.. code-block:: console
+
+  $ git clone https://github.com/llvm-project/llvm-project-20170507 llvm-project
+  $ mkdir build
+  $ cd build
+  $ cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=lld -DCMAKE_INSTALL_PREFIX=/usr/local ../llvm-project/llvm
+  $ make install
+
+Using LLD
+---------
+
+LLD is installed as ``ld.lld``. On Unix, linkers are invoked by
+compiler drivers, so you are not expected to use that command
+directly. There are a few ways to tell compiler drivers to use ld.lld
+instead of the default linker.
+
+The easiest way to do that is to overwrite the default linker. After
+installing LLD to somewhere on your disk, you can create a symbolic
+link by doing ``ln -s /path/to/ld.lld /usr/bin/ld`` so that
+``/usr/bin/ld`` is resolved to LLD.
+
+If you don't want to change the system setting, you can use clang's
+``-fuse-ld`` option. In this way, you want to set ``-fuse-ld=lld`` to
+LDFLAGS when building your programs.
+
+LLD leaves its name and version number to a ``.comment`` section in an
+output. If you are in doubt whether you are successfully using LLD or
+not, run ``readelf --string-dump .comment <output-file>`` and examine the
+output. If the string "Linker: LLD" is included in the output, you are
+using LLD.
+
+History
+-------
+
+Here is a brief project history of the ELF and COFF ports.
+
+- May 2015: We decided to rewrite the COFF linker and did that.
+  Noticed that the new linker is much faster than the MSVC linker.
+
+- July 2015: The new ELF port was developed based on the COFF linker
+  architecture.
+
+- September 2015: The first patches to support MIPS and AArch64 landed.
+
+- October 2015: Succeeded to self-host the ELF port. We have noticed
+  that the linker was faster than the GNU linkers, but we weren't sure
+  at the time if we would be able to keep the gap as we would add more
+  features to the linker.
+
+- July 2016: Started working on improving the linker script support.
+
+- December 2016: Succeeded to build the entire FreeBSD base system
+  including the kernel. We had widen the performance gap against the
+  GNU linkers.
+
+Internals
+---------
+
+For the internals of the linker, please read :doc:`NewLLD`. It is a bit
+outdated but the fundamental concepts remain valid. We'll update the
+document soon.
+
+.. toctree::
+   :maxdepth: 1
+
+   NewLLD
+   AtomLLD
+   WebAssembly
+   windows_support
+   ReleaseNotes

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/open_projects.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/open_projects.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/open_projects.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/open_projects.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,11 @@
+.. _open_projects:
+
+Open Projects
+=============
+
+.. include:: ../include/lld/Core/TODO.txt
+
+Documentation TODOs
+~~~~~~~~~~~~~~~~~~~
+
+.. todolist::

Added: www-releases/trunk/6.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,127 @@
+.. _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 need to add ``-DLLVM_ENABLE_SPHINX=ON`` to
+your ``cmake`` command.  Once you do this you can build the docs using
+``docs-lld-html`` build (``ninja`` or ``make``) target.
+
+That build target will invoke ``sphinx-build`` with the appropriate options for
+the project, and generate the HTML documentation in a ``tools/lld/docs/html``
+subdirectory.
+
+.. _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/6.0.0/tools/lld/docs/_sources/windows_support.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_sources/windows_support.rst.txt?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_sources/windows_support.rst.txt (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_sources/windows_support.rst.txt Thu Mar  8 02:24:44 2018
@@ -0,0 +1,91 @@
+.. 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.
+
+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.
+
+Windows resource files support
+  :good:`Done`. If an ``.res`` file is given, LLD converts the file to a COFF
+  file using LLVM's Object library.
+
+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/6.0.0/tools/lld/docs/_static/ajax-loader.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_static/ajax-loader.gif?rev=326992&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/6.0.0/tools/lld/docs/_static/basic.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_static/basic.css?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_static/basic.css (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_static/basic.css Thu Mar  8 02:24:44 2018
@@ -0,0 +1,632 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2017 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%;
+    word-wrap: break-word;
+    overflow-wrap : break-word;
+}
+
+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;
+}
+
+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%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+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 ul {
+    margin-top: 0;
+    margin-bottom: 0;
+    list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+    padding-left: 0em;
+}
+
+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;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+    padding: 2px;
+    border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+    -moz-hyphens: auto;
+    -ms-hyphens: auto;
+    -webkit-hyphens: auto;
+    hyphens: auto;
+}
+
+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,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.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 caption span.caption-number {
+    font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+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.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;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure {
+    margin: 0.5em;
+    padding: 0.5em;
+}
+
+div.figure p.caption {
+    padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number {
+    font-style: italic;
+}
+
+div.figure p.caption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+/* -- 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;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.sig-paren {
+    font-size: larger;
+}
+
+.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 */
+}
+
+span.pre {
+    -moz-hyphens: none;
+    -ms-hyphens: none;
+    -webkit-hyphens: none;
+    hyphens: none;
+}
+
+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;
+}
+
+div.code-block-caption {
+    padding: 2px 5px;
+    font-size: small;
+}
+
+div.code-block-caption code {
+    background-color: transparent;
+}
+
+div.code-block-caption + div > div.highlight > pre {
+    margin-top: 0;
+}
+
+div.code-block-caption span.caption-number {
+    padding: 0.1em 0.3em;
+    font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+    padding: 1em 1em 0;
+}
+
+div.literal-block-wrapper div.highlight {
+    margin: 0;
+}
+
+code.descname {
+    background-color: transparent;
+    font-weight: bold;
+    font-size: 1.2em;
+}
+
+code.descclassname {
+    background-color: transparent;
+}
+
+code.xref, a code {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+    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;
+}
+
+span.eqno a.headerlink {
+    position: relative;
+    left: 0px;
+    z-index: 1;
+}
+
+div.math:hover a.headerlink {
+    visibility: visible;
+}
+
+/* -- 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/6.0.0/tools/lld/docs/_static/comment-bright.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_static/comment-bright.png?rev=326992&view=auto
==============================================================================
Binary file - no diff available.

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

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

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

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

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

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

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

Added: www-releases/trunk/6.0.0/tools/lld/docs/_static/doctools.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.0/tools/lld/docs/_static/doctools.js?rev=326992&view=auto
==============================================================================
--- www-releases/trunk/6.0.0/tools/lld/docs/_static/doctools.js (added)
+++ www-releases/trunk/6.0.0/tools/lld/docs/_static/doctools.js Thu Mar  8 02:24:44 2018
@@ -0,0 +1,287 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2017 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);
+  });
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+  jQuery.uaMatch = function(ua) {
+    ua = ua.toLowerCase();
+
+    var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+      /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+      /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+      /(msie) ([\w.]+)/.exec(ua) ||
+      ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+      [];
+
+    return {
+      browser: match[ 1 ] || "",
+      version: match[ 2 ] || "0"
+    };
+  };
+  jQuery.browser = {};
+  jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
+
+/**
+ * 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
+   * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
+   */
+  fixFirefoxAnchorBug : function() {
+    if (document.location.hash)
+      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);
+  },
+
+  initOnKeyListeners: function() {
+    $(document).keyup(function(event) {
+      var activeElementType = document.activeElement.tagName;
+      // don't navigate when in search box or textarea
+      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
+        switch (event.keyCode) {
+          case 37: // left
+            var prevHref = $('link[rel="prev"]').prop('href');
+            if (prevHref) {
+              window.location.href = prevHref;
+              return false;
+            }
+          case 39: // right
+            var nextHref = $('link[rel="next"]').prop('href');
+            if (nextHref) {
+              window.location.href = nextHref;
+              return false;
+            }
+        }
+      }
+    });
+  }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+  Documentation.init();
+});
\ No newline at end of file

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

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

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

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

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

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

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

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




More information about the llvm-commits mailing list