[www-releases] r372328 - Check in 9.0.0 source and docs

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 19 07:32:55 PDT 2019


Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,99 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-control-flow — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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 notranslate"><span class="pre">return</span></code>
+statements at the end of the function. Such <code class="docutils literal notranslate"><span class="pre">return</span></code> statements are redundant.</p>
+<p>Loop statements (<code class="docutils literal notranslate"><span class="pre">for</span></code>, <code class="docutils literal notranslate"><span class="pre">while</span></code>, <code class="docutils literal notranslate"><span class="pre">do</span> <span class="pre">while</span></code>) are checked for redundant
+<code class="docutils literal notranslate"><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 notranslate"><span class="pre">return</span></code> statement:</p>
+<div class="highlight-c++ notranslate"><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++ notranslate"><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 notranslate"><span class="pre">continue</span></code> statement:</p>
+<div class="highlight-c++ notranslate"><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++ notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-declaration — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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++ notranslate"><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++ notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,79 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-function-ptr-dereference — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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++ notranslate"><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++ notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,77 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-member-init — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-redundant-preprocessor" href="readability-redundant-preprocessor.html" />
+    <link rel="prev" title="readability-redundant-function-ptr-dereference" href="readability-redundant-function-ptr-dereference.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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-preprocessor.html">readability-redundant-preprocessor</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++ notranslate"><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-preprocessor.html">readability-redundant-preprocessor</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-preprocessor.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-preprocessor.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-preprocessor.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-preprocessor.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,119 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-preprocessor — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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-member-init" href="readability-redundant-member-init.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-redundant-preprocessor</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-smartptr-get.html">readability-redundant-smartptr-get</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-preprocessor">
+<h1>readability-redundant-preprocessor<a class="headerlink" href="#readability-redundant-preprocessor" title="Permalink to this headline">¶</a></h1>
+<p>Finds potentially redundant preprocessor directives. At the moment the
+following cases are detected:</p>
+<ul class="simple">
+<li><cite>#ifdef</cite> .. <cite>#endif</cite> pairs which are nested inside an outer pair with the
+same condition. For example:</li>
+</ul>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#ifdef FOO</span>
+<span class="cp">#ifdef FOO </span><span class="c1">// inner ifdef is considered redundant</span>
+<span class="kt">void</span> <span class="nf">f</span><span class="p">();</span>
+<span class="cp">#endif</span>
+<span class="cp">#endif</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li>Same for <cite>#ifndef</cite> .. <cite>#endif</cite> pairs. For example:</li>
+</ul>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#ifndef FOO</span>
+<span class="cp">#ifndef FOO </span><span class="c1">// inner ifndef is considered redundant</span>
+<span class="kt">void</span> <span class="nf">f</span><span class="p">();</span>
+<span class="cp">#endif</span>
+<span class="cp">#endif</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><cite>#ifndef</cite> inside an <cite>#ifdef</cite> with the same condition:</li>
+</ul>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#ifdef FOO</span>
+<span class="cp">#ifndef FOO </span><span class="c1">// inner ifndef is considered redundant</span>
+<span class="kt">void</span> <span class="nf">f</span><span class="p">();</span>
+<span class="cp">#endif</span>
+<span class="cp">#endif</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><cite>#ifdef</cite> inside an <cite>#ifndef</cite> with the same condition:</li>
+</ul>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#ifndef FOO</span>
+<span class="cp">#ifdef FOO </span><span class="c1">// inner ifdef is considered redundant</span>
+<span class="kt">void</span> <span class="nf">f</span><span class="p">();</span>
+<span class="cp">#endif</span>
+<span class="cp">#endif</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><cite>#if</cite> .. <cite>#endif</cite> pairs which are nested inside an outer pair with the same
+condition. For example:</li>
+</ul>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="cp">#define FOO 4</span>
+<span class="cp">#if FOO == 4</span>
+<span class="cp">#if FOO == 4 </span><span class="c1">// inner if is considered redundant</span>
+<span class="kt">void</span> <span class="nf">f</span><span class="p">();</span>
+<span class="cp">#endif</span>
+<span class="cp">#endif</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-smartptr-get.html">readability-redundant-smartptr-get</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,79 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-smartptr-get — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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-preprocessor" href="readability-redundant-preprocessor.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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-preprocessor.html">readability-redundant-preprocessor</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-redundant-string-cstr.html">readability-redundant-string-cstr</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-redundant-smartptr-get">
+<h1>readability-redundant-smartptr-get<a class="headerlink" href="#readability-redundant-smartptr-get" title="Permalink to this headline">¶</a></h1>
+<p>Find and remove redundant calls to smart pointer’s <code class="docutils literal notranslate"><span class="pre">.get()</span></code> method.</p>
+<p>Examples:</p>
+<div class="highlight-c++ notranslate"><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>
+<span class="k">if</span> <span class="p">(</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="k">nullptr</span><span class="p">)</span> <span class="p">...</span> <span class="o">=></span> <span class="k">if</span> <span class="p">(</span><span class="n">ptr</span> <span class="o">==</span> <span class="k">nullptr</span><span class="p">)</span> <span class="p">...</span>
+</pre></div>
+</div>
+<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 this option is set to non-zero (default is <cite>1</cite>), the check will not warn
+about calls inside macros.</p>
+</dd></dl>
+
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-redundant-preprocessor.html">readability-redundant-preprocessor</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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,65 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-string-cstr — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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 notranslate"><span class="pre">std::string::c_str()</span></code> and <code class="docutils literal notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-redundant-string-init — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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++ notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,191 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-simplify-boolean-expr — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-simplify-subscript-expr" href="readability-simplify-subscript-expr.html" />
+    <link rel="prev" title="readability-redundant-string-init" href="readability-redundant-string-init.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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-simplify-subscript-expr.html">readability-simplify-subscript-expr</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 notranslate"><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 notranslate"><span class="pre">if</span> <span class="pre">(b)</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">if</span> <span class="pre">(!b)</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">if</span> <span class="pre">(b)</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">if</span> <span class="pre">(false)</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">if</span> <span class="pre">(true)</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">if</span> <span class="pre">(b)</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">e</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">!e</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">t();</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">f();</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">return</span> <span class="pre">e;</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">return</span> <span class="pre">!e;</span></code></td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">return</span> <span class="pre">e;</span></code></td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">bool</span></code> are replaced with explicit comparisons to <code class="docutils literal notranslate"><span class="pre">nullptr</span></code> in C++11
+or <code class="docutils literal notranslate"><span class="pre">NULL</span></code> in C++98/03.</li>
+<li>Implicit casts to <code class="docutils literal notranslate"><span class="pre">bool</span></code> are replaced with explicit casts to <code class="docutils literal notranslate"><span class="pre">bool</span></code>.</li>
+<li>Object expressions with <code class="docutils literal notranslate"><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 notranslate"><span class="pre">bool</span></code>.</li>
+<li>Implicit conversions of integral types to <code class="docutils literal notranslate"><span class="pre">bool</span></code> are replaced with
+explicit comparisons to <code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">return</span> <span class="pre">b;</span></code>.</p>
+</li>
+<li><p class="first">The conditional return <code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">bool</span></code> and becomes
+<code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><span class="pre">i</span> <span class="pre">&</span> <span class="pre">1</span></code> to <code class="docutils literal notranslate"><span class="pre">bool</span></code> and becomes
+<code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><span class="pre">i</span> <span class="pre">&</span> <span class="pre">1</span></code> to <code class="docutils literal notranslate"><span class="pre">bool</span></code> and
+becomes <code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><span class="pre">x</span></code> of
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">X</span></code>, the conditional return <code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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-simplify-subscript-expr.html">readability-simplify-subscript-expr</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-subscript-expr.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-subscript-expr.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-subscript-expr.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-subscript-expr.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-simplify-subscript-expr — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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-simplify-boolean-expr" href="readability-simplify-boolean-expr.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-simplify-subscript-expr</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-accessed-through-instance.html">readability-static-accessed-through-instance</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-simplify-subscript-expr">
+<h1>readability-simplify-subscript-expr<a class="headerlink" href="#readability-simplify-subscript-expr" title="Permalink to this headline">¶</a></h1>
+<p>This check simplifies subscript expressions. Currently this covers calling
+<code class="docutils literal notranslate"><span class="pre">.data()</span></code> and immediately doing an array subscript operation to obtain a
+single element, in which case simply calling <code class="docutils literal notranslate"><span class="pre">operator[]</span></code> suffice.</p>
+<p>Examples:</p>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">s</span> <span class="o">=</span> <span class="p">...;</span>
+<span class="kt">char</span> <span class="n">c</span> <span class="o">=</span> <span class="n">s</span><span class="p">.</span><span class="n">data</span><span class="p">()[</span><span class="n">i</span><span class="p">];</span>  <span class="c1">// char c = s[i];</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-types">
+<code class="descname">Types</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-types" title="Permalink to this definition">¶</a></dt>
+<dd><p>The list of type(s) that triggers this check. Default is
+<cite>::std::basic_string;::std::basic_string_view;::std::vector;::std::array</cite></p>
+</dd></dl>
+
+</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-accessed-through-instance.html">readability-static-accessed-through-instance</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-static-accessed-through-instance — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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-subscript-expr" href="readability-simplify-subscript-expr.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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-subscript-expr.html">readability-simplify-subscript-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++ notranslate"><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++ notranslate"><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-subscript-expr.html">readability-simplify-subscript-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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,74 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-static-definition-in-anonymous-namespace — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-string-compare" href="readability-string-compare.html" />
+    <link rel="prev" title="readability-static-accessed-through-instance" href="readability-static-accessed-through-instance.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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-string-compare.html">readability-string-compare</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 notranslate"><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++ notranslate"><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 notranslate"><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-string-compare.html">readability-string-compare</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-string-compare.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-string-compare.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-string-compare.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-string-compare.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,109 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-string-compare — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></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-definition-in-anonymous-namespace" href="readability-static-definition-in-anonymous-namespace.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-string-compare</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="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-string-compare">
+<h1>readability-string-compare<a class="headerlink" href="#readability-string-compare" title="Permalink to this headline">¶</a></h1>
+<p>Finds string comparisons using the compare method.</p>
+<p>A common mistake is to use the string’s <code class="docutils literal notranslate"><span class="pre">compare</span></code> method instead of using the
+equality or inequality operators. The compare method is intended for sorting
+functions and thus returns a negative number, a positive number or
+zero depending on the lexicographical relationship between the strings compared.
+If an equality or inequality check can suffice, that is recommended. This is
+recommended to avoid the risk of incorrect interpretation of the return value
+and to simplify the code. The string equality and inequality operators can
+also be faster than the <code class="docutils literal notranslate"><span class="pre">compare</span></code> method due to early termination.</p>
+<p>Examples:</p>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">str1</span><span class="p">{</span><span class="s">"a"</span><span class="p">};</span>
+<span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">str2</span><span class="p">{</span><span class="s">"b"</span><span class="p">};</span>
+
+<span class="c1">// use str1 != str2 instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="n">str2</span><span class="p">))</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// use str1 == str2 instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="n">str2</span><span class="p">))</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// use str1 == str2 instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="n">str2</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// use str1 != str2 instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="n">str2</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// use str1 == str2 instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="mi">0</span> <span class="o">==</span> <span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="n">str2</span><span class="p">))</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// use str1 != str2 instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="mi">0</span> <span class="o">!=</span> <span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="n">str2</span><span class="p">))</span> <span class="p">{</span>
+<span class="p">}</span>
+
+<span class="c1">// Use str1 == "foo" instead.</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">str1</span><span class="p">.</span><span class="n">compare</span><span class="p">(</span><span class="s">"foo"</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The above code examples shows the list of if-statements that this check will
+give a warning for. All of them uses <code class="docutils literal notranslate"><span class="pre">compare</span></code> to check if equality or
+inequality of two strings instead of using the correct operators.</p>
+</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="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.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/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,75 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-uniqueptr-delete-release — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="readability-uppercase-literal-suffix" href="readability-uppercase-literal-suffix.html" />
+    <link rel="prev" title="readability-string-compare" href="readability-string-compare.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 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-string-compare.html">readability-string-compare</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-uppercase-literal-suffix.html">readability-uppercase-literal-suffix</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 notranslate"><span class="pre">delete</span> <span class="pre"><unique_ptr>.release()</span></code> with <code class="docutils literal notranslate"><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++ notranslate"><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-string-compare.html">readability-string-compare</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="readability-uppercase-literal-suffix.html">readability-uppercase-literal-suffix</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uppercase-literal-suffix.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uppercase-literal-suffix.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uppercase-literal-suffix.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uppercase-literal-suffix.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,115 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - readability-uppercase-literal-suffix — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="zircon-temporary-objects" href="zircon-temporary-objects.html" />
+    <link rel="prev" title="readability-uniqueptr-delete-release" href="readability-uniqueptr-delete-release.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - readability-uppercase-literal-suffix</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="zircon-temporary-objects.html">zircon-temporary-objects</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="readability-uppercase-literal-suffix">
+<h1>readability-uppercase-literal-suffix<a class="headerlink" href="#readability-uppercase-literal-suffix" title="Permalink to this headline">¶</a></h1>
+<p><cite>cert-dcl16-c</cite> redirects here as an alias for this check.
+By default, only the suffixes that begin with <code class="docutils literal notranslate"><span class="pre">l</span></code> (<code class="docutils literal notranslate"><span class="pre">l</span></code>, <code class="docutils literal notranslate"><span class="pre">ll</span></code>, <code class="docutils literal notranslate"><span class="pre">lu</span></code>,
+<code class="docutils literal notranslate"><span class="pre">llu</span></code>, but not <code class="docutils literal notranslate"><span class="pre">u</span></code>, <code class="docutils literal notranslate"><span class="pre">ul</span></code>, <code class="docutils literal notranslate"><span class="pre">ull</span></code>) are diagnosed by that alias.</p>
+<p><cite>hicpp-uppercase-literal-suffix</cite> redirects here as an alias for this check.</p>
+<p>Detects when the integral literal or floating point (decimal or hexadecimal)
+literal has a non-uppercase suffix and provides a fix-it hint with the uppercase
+suffix.</p>
+<p>All valid combinations of suffixes are supported.</p>
+<div class="code c highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">auto</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>  <span class="o">//</span> <span class="n">OK</span><span class="p">,</span> <span class="n">no</span> <span class="n">suffix</span><span class="o">.</span>
+
+<span class="n">auto</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span><span class="n">u</span><span class="p">;</span> <span class="o">//</span> <span class="n">warning</span><span class="p">:</span> <span class="n">integer</span> <span class="n">literal</span> <span class="n">suffix</span> <span class="s1">'u'</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">upper</span><span class="o">-</span><span class="n">case</span>
+
+<span class="n">auto</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">1</span><span class="n">U</span><span class="p">;</span> <span class="o">//</span> <span class="n">OK</span><span class="p">,</span> <span class="n">suffix</span> <span class="ow">is</span> <span class="n">uppercase</span><span class="o">.</span>
+
+<span class="o">...</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-newsuffixes">
+<code class="descname">NewSuffixes</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-newsuffixes" title="Permalink to this definition">¶</a></dt>
+<dd><p>Optionally, a list of the destination suffixes can be provided. When the
+suffix is found, a case-insensitive lookup in that list is made, and if a
+replacement is found that is different from the current suffix, then the
+diagnostic is issued. This allows for fine-grained control of what suffixes to
+consider and what their replacements should be.</p>
+</dd></dl>
+
+<div class="section" id="example">
+<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
+<p>Given a list <cite>L;uL</cite>:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">l</span></code> -> <code class="docutils literal notranslate"><span class="pre">L</span></code></li>
+<li><code class="docutils literal notranslate"><span class="pre">L</span></code> will be kept as is.</li>
+<li><code class="docutils literal notranslate"><span class="pre">ul</span></code> -> <code class="docutils literal notranslate"><span class="pre">uL</span></code></li>
+<li><code class="docutils literal notranslate"><span class="pre">Ul</span></code> -> <code class="docutils literal notranslate"><span class="pre">uL</span></code></li>
+<li><code class="docutils literal notranslate"><span class="pre">UL</span></code> -> <code class="docutils literal notranslate"><span class="pre">uL</span></code></li>
+<li><code class="docutils literal notranslate"><span class="pre">uL</span></code> will be kept as is.</li>
+<li><code class="docutils literal notranslate"><span class="pre">ull</span></code> will be kept as is, since it is not in the list</li>
+<li>and so on.</li>
+</ul>
+<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 this option is set to non-zero (default is <cite>1</cite>), the check will not warn
+about literal suffixes inside macros.</p>
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-uniqueptr-delete-release.html">readability-uniqueptr-delete-release</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="zircon-temporary-objects.html">zircon-temporary-objects</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/zircon-temporary-objects.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/zircon-temporary-objects.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/zircon-temporary-objects.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/zircon-temporary-objects.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,107 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clang-tidy - zircon-temporary-objects — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></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="../../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Clang-tidy IDE/Editor Integrations" href="../Integrations.html" />
+    <link rel="prev" title="readability-uppercase-literal-suffix" href="readability-uppercase-literal-suffix.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>clang-tidy - zircon-temporary-objects</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="readability-uppercase-literal-suffix.html">readability-uppercase-literal-suffix</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="../Integrations.html">Clang-tidy IDE/Editor Integrations</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="zircon-temporary-objects">
+<h1>zircon-temporary-objects<a class="headerlink" href="#zircon-temporary-objects" title="Permalink to this headline">¶</a></h1>
+<p>Warns on construction of specific temporary objects in the Zircon kernel.
+If the object should be flagged, If the object should be flagged, the fully
+qualified type name must be explicitly passed to the check.</p>
+<p>For example, given the list of classes “Foo” and “NS::Bar”, all of the
+following will trigger the warning:</p>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">Foo</span><span class="p">();</span>
+<span class="n">Foo</span> <span class="n">F</span> <span class="o">=</span> <span class="n">Foo</span><span class="p">();</span>
+<span class="n">func</span><span class="p">(</span><span class="n">Foo</span><span class="p">());</span>
+
+<span class="k">namespace</span> <span class="n">NS</span> <span class="p">{</span>
+
+<span class="n">Bar</span><span class="p">();</span>
+
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>With the same list, the following will not trigger the warning:</p>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">Foo</span> <span class="n">F</span><span class="p">;</span>                                         <span class="c1">// Non-temporary construction okay</span>
+<span class="n">Foo</span> <span class="nf">F</span><span class="p">(</span><span class="n">param</span><span class="p">);</span>                      <span class="c1">// Non-temporary construction okay</span>
+<span class="n">Foo</span> <span class="o">*</span><span class="n">F</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Foo</span><span class="p">();</span>      <span class="c1">// New construction okay</span>
+
+<span class="n">Bar</span><span class="p">();</span>                                         <span class="c1">// Not NS::Bar, so okay</span>
+<span class="n">NS</span><span class="o">::</span><span class="n">Bar</span> <span class="n">B</span><span class="p">;</span>                           <span class="c1">// Non-temporary construction okay</span>
+</pre></div>
+</div>
+<p>Note that objects must be explicitly specified in order to be flagged,
+and so objects that inherit a specified object will not be flagged.</p>
+<p>This check matches temporary objects without regard for inheritance and so a
+prohibited base class type does not similarly prohibit derived class types.</p>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Derived</span> <span class="o">:</span> <span class="n">Foo</span> <span class="p">{}</span> <span class="c1">// Derived is not explicitly disallowed</span>
+<span class="n">Derived</span><span class="p">();</span>             <span class="c1">// and so temporary construction is okay</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-names">
+<code class="descname">Names</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-arg-names" title="Permalink to this definition">¶</a></dt>
+<dd><p>A semi-colon-separated list of fully-qualified names of C++ classes that
+should not be constructed as temporaries. Default is empty.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="readability-uppercase-literal-suffix.html">readability-uppercase-literal-suffix</a>
+          ::  
+        <a class="uplink" href="../../index.html">Contents</a>
+          ::  
+        <a href="../Integrations.html">Clang-tidy IDE/Editor Integrations</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clang-tidy/index.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,422 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Clang-Tidy — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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="../_static/language_data.js"></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 9.0.0 Release Notes" href="../ReleaseNotes.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 9 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 9.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="#id1">Clang-Tidy</a><a class="headerlink" href="#clang-tidy" title="Permalink to this headline">¶</a></h1>
+<div class="contents topic" id="contents">
+<p class="topic-title first">Contents</p>
+<ul class="simple">
+<li><a class="reference internal" href="#clang-tidy" id="id1">Clang-Tidy</a><ul>
+<li><a class="reference internal" href="#using-clang-tidy" id="id2">Using clang-tidy</a></li>
+<li><a class="reference internal" href="#suppressing-undesired-diagnostics" id="id3">Suppressing Undesired Diagnostics</a></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>
+<li class="toctree-l1"><a class="reference internal" href="Integrations.html">Clang-tidy IDE/Editor Integrations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Contributing.html">Getting Involved</a></li>
+</ul>
+</div>
+<p><strong class="program">clang-tidy</strong> is a clang-based C++ “linter” tool. Its purpose is to
+provide an extensible framework for diagnosing and fixing typical programming
+errors, like style violations, interface misuse, or bugs that can be deduced via
+static analysis. <strong class="program">clang-tidy</strong> is modular and provides a convenient
+interface for writing new checks.</p>
+<div class="section" id="using-clang-tidy">
+<h2><a class="toc-backref" href="#id2">Using clang-tidy</a><a class="headerlink" href="#using-clang-tidy" title="Permalink to this headline">¶</a></h2>
+<p><strong class="program">clang-tidy</strong> is a <a class="reference external" href="https://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="https://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 notranslate"><span class="pre">--</span></code>:</p>
+<div class="highlight-console notranslate"><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 notranslate"><span class="pre">-checks=</span></code> option, which specifies a comma-separated list of positive and
+negative (prefixed with <code class="docutils literal notranslate"><span class="pre">-</span></code>) globs. Positive globs add subsets of checks,
+negative globs remove them. For example,</p>
+<div class="highlight-console notranslate"><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 notranslate"><span class="pre">-*</span></code>) and enable all <code class="docutils literal notranslate"><span class="pre">clang-analyzer-*</span></code>
+checks except for <code class="docutils literal notranslate"><span class="pre">clang-analyzer-cplusplus*</span></code> ones.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">-list-checks</span></code> option lists all the enabled checks. When used without
+<code class="docutils literal notranslate"><span class="pre">-checks=</span></code>, it shows checks enabled by default. Use <code class="docutils literal notranslate"><span class="pre">-checks=*</span></code> to see all
+available checks or with any other value of <code class="docutils literal notranslate"><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 notranslate"><span class="pre">abseil-</span></code></td>
+<td>Checks related to Abseil library.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">android-</span></code></td>
+<td>Checks related to Android.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">boost-</span></code></td>
+<td>Checks related to Boost library.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">bugprone-</span></code></td>
+<td>Checks that target bugprone code constructs.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">cert-</span></code></td>
+<td>Checks related to CERT Secure Coding Guidelines.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">cppcoreguidelines-</span></code></td>
+<td>Checks related to C++ Core Guidelines.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">clang-analyzer-</span></code></td>
+<td>Clang Static Analyzer checks.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">fuchsia-</span></code></td>
+<td>Checks related to Fuchsia coding conventions.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">google-</span></code></td>
+<td>Checks related to Google coding conventions.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">hicpp-</span></code></td>
+<td>Checks related to High Integrity C++ Coding Standard.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">llvm-</span></code></td>
+<td>Checks related to the LLVM coding conventions.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">misc-</span></code></td>
+<td>Checks that we didn’t have a better category for.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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-odd"><td><code class="docutils literal notranslate"><span class="pre">mpi-</span></code></td>
+<td>Checks related to MPI (Message Passing Interface).</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">objc-</span></code></td>
+<td>Checks related to Objective-C coding conventions.</td>
+</tr>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">openmp-</span></code></td>
+<td>Checks related to OpenMP API.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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 notranslate"><span class="pre">portability-</span></code></td>
+<td>Checks that target portability-related issues that don’t
+relate to any particular coding style.</td>
+</tr>
+<tr class="row-even"><td><code class="docutils literal notranslate"><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>
+<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">zircon-</span></code></td>
+<td>Checks related to Zircon kernel coding conventions.</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 notranslate"><span class="pre">-checks=</span></code> option. However, the <code class="docutils literal notranslate"><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 notranslate"><span class="pre">-warnings-as-errors=</span></code> option
+upgrades any warnings emitted under the <code class="docutils literal notranslate"><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 notranslate"><span class="pre">clang-diagnostic-</span></code>.
+Diagnostics which have a corresponding warning option, are named
+<code class="docutils literal notranslate"><span class="pre">clang-diagnostic-<warning-option></span></code>, e.g. Clang warning controlled by
+<code class="docutils literal notranslate"><span class="pre">-Wliteral-conversion</span></code> will be reported with check name
+<code class="docutils literal notranslate"><span class="pre">clang-diagnostic-literal-conversion</span></code>.</p>
+<p>The <code class="docutils literal notranslate"><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 notranslate"><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">  --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 'HeaderFilterRegex'</span>
+<span class="go">                                   option 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">  --store-check-profile=<prefix> -</span>
+<span class="go">                                   By default reports are printed in tabulated</span>
+<span class="go">                                   format to stderr. When this option is passed,</span>
+<span class="go">                                   these per-TU profiles are instead stored as JSON.</span>
+<span class="go">  --system-headers               - Display the errors from system headers.</span>
+<span class="go">  --vfsoverlay=<filename>        -</span>
+<span class="go">                                   Overlay the virtual filesystem described by file</span>
+<span class="go">                                   over the real file system.</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">        https://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">    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>
+</div>
+<div class="section" id="suppressing-undesired-diagnostics">
+<span id="clang-tidy-nolint"></span><h2><a class="toc-backref" href="#id3">Suppressing Undesired Diagnostics</a><a class="headerlink" href="#suppressing-undesired-diagnostics" title="Permalink to this headline">¶</a></h2>
+<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 the code is known to be correct, it may be useful to silence the warning.
+Some clang-tidy checks provide a check-specific way to silence the diagnostics,
+e.g.  <a class="reference external" href="checks/bugprone-use-after-move.html">bugprone-use-after-move</a> can be
+silenced by re-initializing the variable after it has been moved out,
+<a class="reference external" href="checks/bugprone-string-integer-assignment.html">bugprone-string-integer-assignment</a> can be suppressed by
+explicitly casting the integer to <code class="docutils literal notranslate"><span class="pre">char</span></code>,
+<a class="reference external" href="checks/readability-implicit-bool-conversion.html">readability-implicit-bool-conversion</a> can also be suppressed by
+using explicit casts, etc.</p>
+<p>If a specific suppression mechanism is not available for a certain warning, or
+its use is not desired for some reason, <strong class="program">clang-tidy</strong> has a generic
+mechanism to suppress diagnostics using <code class="docutils literal notranslate"><span class="pre">NOLINT</span></code> or <code class="docutils literal notranslate"><span class="pre">NOLINTNEXTLINE</span></code>
+comments.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">NOLINT</span></code> comment instructs <strong class="program">clang-tidy</strong> to ignore warnings on the
+<em>same line</em> (it doesn’t apply to a function, a block of code or any other
+language construct, it applies to the line of code it is on). If introducing the
+comment in the same line would change the formatting in undesired way, the
+<code class="docutils literal notranslate"><span class="pre">NOLINTNEXTLINE</span></code> comment allows to suppress clang-tidy warnings on the <em>next
+line</em>.</p>
+<p>Both comments can be followed by an optional list of check names in parentheses
+(see below for the formal syntax).</p>
+<p>For example:</p>
+<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Foo</span> <span class="p">{</span>
+  <span class="c1">// Suppress 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">// Consider explaining the motivation to suppress the warning.</span>
+  <span class="n">Foo</span><span class="p">(</span><span class="kt">char</span> <span class="n">param</span><span class="p">);</span> <span class="c1">// NOLINT: Allow implicit conversion from `char`, because <some valid reason>.</span>
+
+  <span class="c1">// Silence 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">// Silence 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 notranslate"><span class="pre">NOLINT</span></code>/<code class="docutils literal notranslate"><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 notranslate"><span class="pre">NOLINT</span></code>/<code class="docutils literal notranslate"><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 notranslate"><span class="pre">NOLINT</span></code>/<code class="docutils literal notranslate"><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>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="../ReleaseNotes.html">Extra Clang Tools 9.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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,53 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta content="0;URL='clangd/'" http-equiv="refresh" />
+
+    <title><no title> — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 9 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">clangd</strong> documentation was moved to the <a class="reference internal" href="clangd/index.html"><span class="doc">clangd</span></a> pages.</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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/DeveloperDocumentation.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/DeveloperDocumentation.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/DeveloperDocumentation.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/DeveloperDocumentation.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Developer documentation for clangd — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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="../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Protocol extensions" href="Extensions.html" />
+    <link rel="prev" title="Features" href="Features.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>Developer documentation for clangd</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="Features.html">Features</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="Extensions.html">Protocol extensions</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="developer-documentation-for-clangd">
+<h1>Developer documentation for clangd<a class="headerlink" href="#developer-documentation-for-clangd" title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="Extensions.html">Protocol extensions</a></li>
+</ul>
+</div>
+<div class="section" id="compiling-clangd">
+<h2>Compiling clangd<a class="headerlink" href="#compiling-clangd" title="Permalink to this headline">¶</a></h2>
+<p>To build clangd from source, please follow the instructions for <a class="reference external" href="https://clang.llvm.org/get_started.html">building Clang</a> and include LLVM, Clang, and the
+“extra Clang tools” in your build.</p>
+</div>
+<div class="section" id="contributing-to-clangd">
+<h2>Contributing to clangd<a class="headerlink" href="#contributing-to-clangd" title="Permalink to this headline">¶</a></h2>
+<p>A good place for interested contributors is the <a class="reference external" href="https://lists.llvm.org/mailman/listinfo/clangd-dev">Clangd developer mailing list</a>. For discussions with
+the broader community on topics not only related to Clangd, use <a class="reference external" href="https://lists.llvm.org/mailman/listinfo/cfe-dev">Clang
+developer mailing list</a>.  If
+you’re also interested in contributing patches to clangd, take a look at the
+<a class="reference external" href="https://llvm.org/docs/DeveloperPolicy.html">LLVM Developer Policy</a> and <a class="reference external" href="https://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 clangd can eventually implement them in a conforming way.</p>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="Features.html">Features</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="Extensions.html">Protocol extensions</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Extensions.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Extensions.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Extensions.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Extensions.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,204 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Protocol extensions — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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="../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Clang-Doc" href="../clang-doc.html" />
+    <link rel="prev" title="Developer documentation for clangd" href="DeveloperDocumentation.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>Protocol extensions</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="DeveloperDocumentation.html">Developer documentation for clangd</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="../clang-doc.html">Clang-Doc</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="protocol-extensions">
+<h1><a class="toc-backref" href="#id1">Protocol extensions</a><a class="headerlink" href="#protocol-extensions" 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="#protocol-extensions" id="id1">Protocol extensions</a><ul>
+<li><a class="reference internal" href="#switch-between-the-implementation-file-and-the-header" id="id2">Switch between the implementation file and the header</a></li>
+<li><a class="reference internal" href="#file-status" id="id3">File status</a></li>
+<li><a class="reference internal" href="#compilation-commands" id="id4">Compilation commands</a></li>
+<li><a class="reference internal" href="#force-diagnostics-generation" id="id5">Force diagnostics generation</a></li>
+<li><a class="reference internal" href="#diagnostic-categories" id="id6">Diagnostic categories</a></li>
+<li><a class="reference internal" href="#inline-fixes-for-diagnostics" id="id7">Inline fixes for diagnostics</a></li>
+<li><a class="reference internal" href="#symbol-info-request" id="id8">Symbol info request</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>clangd supports some features that are not in the official
+<a class="reference external" href="https://microsoft.github.io/language-server-protocol/specification">Language Server Protocol specification</a>.</p>
+<p>We cautious about adding extensions. The most important considerations are:</p>
+<ul class="simple">
+<li><strong>Editor support</strong>: How many users will the feature be available to?</li>
+<li><strong>Standardization</strong>: Is the feature stable? Is it likely to be adopted by more
+editors over time?</li>
+<li><strong>Utility</strong>: Does the feature provide a lot of value?</li>
+<li><strong>Complexity</strong>: Is this hard to implement in clangd, or constrain future work?
+Is the protocol complicated?</li>
+</ul>
+<p>These extensions may evolve or disappear over time. If you use them, try to
+recover gracefully if the structures aren’t what’s expected.</p>
+<div class="section" id="switch-between-the-implementation-file-and-the-header">
+<h2><a class="toc-backref" href="#id2">Switch between the implementation file and the header</a><a class="headerlink" href="#switch-between-the-implementation-file-and-the-header" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 6 and newer.</em></p>
+<p>Switching between the implementation file and the header is an important
+feature for C++.  A language server that understands C++ can do a better job
+than the editor.</p>
+<p><strong>New client->server request</strong>: <code class="docutils literal notranslate"><span class="pre">textDocument/switchSourceHeader</span></code>.</p>
+<p>Lets editors switch between the main source file (<code class="docutils literal notranslate"><span class="pre">*.cpp</span></code>) and header (<code class="docutils literal notranslate"><span class="pre">*.h</span></code>).</p>
+<p>Parameter: <code class="docutils literal notranslate"><span class="pre">TextDocumentIdentifier</span></code>: an open file.</p>
+<p>Result: <code class="docutils literal notranslate"><span class="pre">string</span></code>: the URI of the corresponding header (if a source file was
+provided) or source file (if a header was provided).</p>
+<p>If the corresponding file can’t be determined, <code class="docutils literal notranslate"><span class="pre">""</span></code> is returned.</p>
+</div>
+<div class="section" id="file-status">
+<h2><a class="toc-backref" href="#id3">File status</a><a class="headerlink" href="#file-status" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 8 and newer.</em></p>
+<p>It is important to provide feedback to the user when the UI is not responsive.</p>
+<p>This extension provides information about activity on clangd’s per-file worker
+thread.  This information can be displayed to users to let them know that the
+language server is busy with something.  For example, in clangd, building the
+AST blocks many other operations.</p>
+<p><strong>New server->client notification</strong>: <code class="docutils literal notranslate"><span class="pre">textDocument/clangd.fileStatus</span></code></p>
+<p>Sent when the current activity for a file changes. Replaces previous activity
+for that file.</p>
+<p>Parameter: <code class="docutils literal notranslate"><span class="pre">FileStatus</span></code> object with properties:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">uri</span> <span class="pre">:</span> <span class="pre">string</span></code>: the document whose status is being updated.</li>
+<li><code class="docutils literal notranslate"><span class="pre">state</span> <span class="pre">:</span> <span class="pre">string</span></code>: human-readable information about current activity.</li>
+</ul>
+<p><strong>New initialization option</strong>: <code class="docutils literal notranslate"><span class="pre">initializationOptions.clangdFileStatus</span> <span class="pre">:</span> <span class="pre">bool</span></code></p>
+<p>Enables receiving <code class="docutils literal notranslate"><span class="pre">textDocument/clangd.fileStatus</span></code> notifications.</p>
+</div>
+<div class="section" id="compilation-commands">
+<h2><a class="toc-backref" href="#id4">Compilation commands</a><a class="headerlink" href="#compilation-commands" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 8 and newer.</em></p>
+<p>clangd relies on knowing accurate compilation options to correctly interpret a
+file. Typically they are found in a <code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code> file in a
+directory that contains the file, or an ancestor directory. The following
+extensions allow editors to supply the commands over LSP instead.</p>
+<p><strong>New initialization option</strong>: <code class="docutils literal notranslate"><span class="pre">initializationOptions.compilationDatabasePath</span> <span class="pre">:</span> <span class="pre">string</span></code></p>
+<p>Specifies the directory containing the compilation database (e.g.,
+<code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code>). This path will be used for all files, instead of
+searching their ancestor directories.</p>
+<p><strong>New initialization option</strong>: <code class="docutils literal notranslate"><span class="pre">initializationOptions.fallbackFlags</span> <span class="pre">:</span> <span class="pre">string[]</span></code></p>
+<p>Controls the flags used when no specific compile command is found.  The compile
+command will be approximately <code class="docutils literal notranslate"><span class="pre">clang</span> <span class="pre">$FILE</span> <span class="pre">$fallbackFlags</span></code> in this case.</p>
+<p><strong>New configuration setting</strong>: <code class="docutils literal notranslate"><span class="pre">settings.compilationDatabaseChanges</span> <span class="pre">:</span> <span class="pre">{string:</span> <span class="pre">CompileCommand}</span></code></p>
+<p>Provides compile commands for files. This can also be provided on startup as
+<code class="docutils literal notranslate"><span class="pre">initializationOptions.compilationDatabaseChanges</span></code>.</p>
+<p>Keys are file paths (Not URIs!)</p>
+<p>Values are <code class="docutils literal notranslate"><span class="pre">{workingDirectory:</span> <span class="pre">string,</span> <span class="pre">compilationCommand:</span> <span class="pre">string[]}</span></code>.</p>
+</div>
+<div class="section" id="force-diagnostics-generation">
+<h2><a class="toc-backref" href="#id5">Force diagnostics generation</a><a class="headerlink" href="#force-diagnostics-generation" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 7 and newer.</em></p>
+<p>Clangd does not regenerate diagnostics for every version of a file (e.g., after
+every keystroke), as that would be too slow. Its heuristics ensure:</p>
+<ul class="simple">
+<li>diagnostics do not get too stale,</li>
+<li>if you stop editing, diagnostics will catch up.</li>
+</ul>
+<p>This extension allows editors to force diagnostics to be generated or not
+generated at a particular revision.</p>
+<p><strong>New property of</strong> <code class="docutils literal notranslate"><span class="pre">textDocument/didChange</span></code> <strong>request</strong>: <code class="docutils literal notranslate"><span class="pre">wantDiagnostics</span> <span class="pre">:</span> <span class="pre">bool</span></code></p>
+<ul class="simple">
+<li>if true, diagnostics will be produced for exactly this version.</li>
+<li>if false, diagnostics will not be produced for this version, even if there
+are no further edits.</li>
+<li>if unset, diagnostics will be produced for this version or some subsequent
+one in a bounded amount of time.</li>
+</ul>
+</div>
+<div class="section" id="diagnostic-categories">
+<h2><a class="toc-backref" href="#id6">Diagnostic categories</a><a class="headerlink" href="#diagnostic-categories" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 8 and newer.</em></p>
+<p>Clang compiler groups diagnostics into categories (e.g., “Inline Assembly
+Issue”).  Clangd can emit these categories for interested editors.</p>
+<p><strong>New property of</strong> <code class="docutils literal notranslate"><span class="pre">Diagnostic</span></code> <strong>object</strong>: <code class="docutils literal notranslate"><span class="pre">category</span> <span class="pre">:</span> <span class="pre">string</span></code>:</p>
+<p>A human-readable name for a group of related diagnostics.  Diagnostics with the
+same code will always have the same category.</p>
+<p><strong>New client capability</strong>: <code class="docutils literal notranslate"><span class="pre">textDocument.publishDiagnostics.categorySupport</span></code>:</p>
+<p>Requests that clangd send <code class="docutils literal notranslate"><span class="pre">Diagnostic.category</span></code>.</p>
+</div>
+<div class="section" id="inline-fixes-for-diagnostics">
+<h2><a class="toc-backref" href="#id7">Inline fixes for diagnostics</a><a class="headerlink" href="#inline-fixes-for-diagnostics" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 8 and newer.</em></p>
+<p>LSP specifies that code actions for diagnostics (fixes) are retrieved
+asynchronously using <code class="docutils literal notranslate"><span class="pre">textDocument/codeAction</span></code>. clangd always computes fixes
+eagerly.  Providing them alongside diagnostics can improve the UX in editors.</p>
+<p><strong>New property of</strong> <code class="docutils literal notranslate"><span class="pre">Diagnostic</span></code> <strong>object</strong>: <code class="docutils literal notranslate"><span class="pre">codeActions</span> <span class="pre">:</span> <span class="pre">CodeAction[]</span></code>:</p>
+<p>All the code actions that address this diagnostic.</p>
+<p><strong>New client capability</strong>: <code class="docutils literal notranslate"><span class="pre">textDocument.publishDiagnostics.codeActionsInline</span> <span class="pre">:</span> <span class="pre">bool</span></code></p>
+<p>Requests clangd to send <code class="docutils literal notranslate"><span class="pre">Diagnostic.codeActions</span></code>.</p>
+</div>
+<div class="section" id="symbol-info-request">
+<h2><a class="toc-backref" href="#id8">Symbol info request</a><a class="headerlink" href="#symbol-info-request" title="Permalink to this headline">¶</a></h2>
+<p><em>This extension is supported in clangd 8 and newer.</em></p>
+<p><strong>New client->server request</strong>: <code class="docutils literal notranslate"><span class="pre">textDocument/symbolInfo</span></code>:</p>
+<p>This request attempts to resolve the symbol under the cursor, without
+retrieving further information (like definition location, which may require
+consulting an index).  This request was added to support integration with
+indexes outside clangd.</p>
+<p>Parameter: <code class="docutils literal notranslate"><span class="pre">TextDocumentPositionParams</span></code></p>
+<p>Response: <code class="docutils literal notranslate"><span class="pre">SymbolDetails</span></code>, an object with properties:</p>
+<ul class="simple">
+<li><code class="docutils literal notranslate"><span class="pre">name</span> <span class="pre">:</span> <span class="pre">string</span></code> the unqualified name of the symbol</li>
+<li><code class="docutils literal notranslate"><span class="pre">containerName</span> <span class="pre">:</span> <span class="pre">string</span></code> the enclosing namespace, class etc (without
+trailing <code class="docutils literal notranslate"><span class="pre">::</span></code>)</li>
+<li><code class="docutils literal notranslate"><span class="pre">usr</span> <span class="pre">:</span> <span class="pre">string</span></code>: the clang-specific “unified symbol resolution” identifier</li>
+<li><code class="docutils literal notranslate"><span class="pre">id</span> <span class="pre">:</span> <span class="pre">string?</span></code>: the clangd-specific opaque symbol ID</li>
+</ul>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="DeveloperDocumentation.html">Developer documentation for clangd</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="../clang-doc.html">Clang-Doc</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Features.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Features.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Features.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Features.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,327 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Features — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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="../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Developer documentation for clangd" href="DeveloperDocumentation.html" />
+    <link rel="prev" title="Getting started with clangd" href="Installation.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>Features</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="Installation.html">Getting started with clangd</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="DeveloperDocumentation.html">Developer documentation for clangd</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="features">
+<h1><a class="toc-backref" href="#id1">Features</a><a class="headerlink" href="#features" 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="#features" id="id1">Features</a><ul>
+<li><a class="reference internal" href="#errors-and-warnings" id="id2">Errors and warnings</a><ul>
+<li><a class="reference internal" href="#fixes-in-errors-and-warnings" id="id3">Fixes in errors and warnings</a></li>
+<li><a class="reference internal" href="#clang-tidy-checks" id="id4">clang-tidy checks</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#code-completion" id="id5">Code completion</a><ul>
+<li><a class="reference internal" href="#insertion-of-namespace-qualifiers-and-includes" id="id6">Insertion of namespace qualifiers and includes</a></li>
+<li><a class="reference internal" href="#signature-help" id="id7">Signature help</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#cross-references" id="id8">Cross-references</a><ul>
+<li><a class="reference internal" href="#find-definition-declaration" id="id9">Find definition/declaration</a></li>
+<li><a class="reference internal" href="#find-references" id="id10">Find references</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#navigation" id="id11">Navigation</a></li>
+<li><a class="reference internal" href="#formatting" id="id12">Formatting</a></li>
+<li><a class="reference internal" href="#complete-list-of-features" id="id13">Complete list of features</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>Here is what clangd can do for you.  Screenshots below show <a class="reference external" href="https://code.visualstudio.com/">VSCode</a>; the available features and UI depend on
+the editor.</p>
+<div class="section" id="errors-and-warnings">
+<h2><a class="toc-backref" href="#id2">Errors and warnings</a><a class="headerlink" href="#errors-and-warnings" title="Permalink to this headline">¶</a></h2>
+<p>clangd runs the clang compiler on your code as you type, and shows errors and
+warnings in-place.  Some errors are suppressed: diagnostics that require
+expanding templates in headers are disabled for performance reasons.</p>
+<p><span class="raw-html"><details><summary markdown="span">Screenshot</summary></span></p>
+<img alt="Demonstration of errors" class="align-center" src="../_images/ErrorsInVSCode.png" />
+<p><span class="raw-html"></details></span></p>
+<div class="section" id="fixes-in-errors-and-warnings">
+<h3><a class="toc-backref" href="#id3">Fixes in errors and warnings</a><a class="headerlink" href="#fixes-in-errors-and-warnings" title="Permalink to this headline">¶</a></h3>
+<p>The compiler can suggest fixes for many common problems automatically, and
+clangd can update the code for you.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Applying a fix suggested by the compiler" class="align-center" src="../_images/ApplyFixInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+<p><strong>(New in v9)</strong>
+If a missing symbol was seen in a file you’ve edited recently, clangd will
+suggest inserting it.</p>
+</div>
+<div class="section" id="clang-tidy-checks">
+<h3><a class="toc-backref" href="#id4">clang-tidy checks</a><a class="headerlink" href="#clang-tidy-checks" title="Permalink to this headline">¶</a></h3>
+<p><strong>(New in v9)</strong>
+clangd embeds <a class="reference external" href="https://clang.llvm.org/extra/clang-tidy/">clang-tidy</a>
+which provides extra hints about code problems: bug-prone patterns,
+performance traps, and style issues.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Applying a fix suggested by the compiler" class="align-center" src="../_images/ApplyClangTidyFixInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+<p>clangd respects your project’s <code class="docutils literal notranslate"><span class="pre">.clang-tidy</span></code> file which controls the checks
+to run. Not all checks work within clangd.  You must pass the <code class="docutils literal notranslate"><span class="pre">-clang-tidy</span></code>
+flag to enable this feature.</p>
+</div>
+</div>
+<div class="section" id="code-completion">
+<h2><a class="toc-backref" href="#id5">Code completion</a><a class="headerlink" href="#code-completion" title="Permalink to this headline">¶</a></h2>
+<p>You’ll see suggestions as you type based on what methods, variables, etc are
+available in this context.</p>
+<p><span class="raw-html"><details><summary markdown="span">Screenshot</summary></span></p>
+<img alt="Code completion demonstration" class="align-center" src="../_images/CodeCompletionInVSCode.png" />
+<p><span class="raw-html"></details></span></p>
+<p>Abbreviating words may help you find the right result faster. If you type in
+<code class="docutils literal notranslate"><span class="pre">camelCase</span></code> but the function you’re looking for is <code class="docutils literal notranslate"><span class="pre">snake_case</span></code>, that’s OK.</p>
+<div class="section" id="insertion-of-namespace-qualifiers-and-includes">
+<h3><a class="toc-backref" href="#id6">Insertion of namespace qualifiers and includes</a><a class="headerlink" href="#insertion-of-namespace-qualifiers-and-includes" title="Permalink to this headline">¶</a></h3>
+<p><strong>(New in v8)</strong>
+clangd will sometimes suggest results from other files and namespaces. In this
+case the correct qualifier and <code class="docutils literal notranslate"><span class="pre">#include</span></code> directive will be inserted.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Code completion inserts namespace qualifiers" class="align-center" src="../_images/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+</div>
+<div class="section" id="signature-help">
+<h3><a class="toc-backref" href="#id7">Signature help</a><a class="headerlink" href="#signature-help" title="Permalink to this headline">¶</a></h3>
+<p>Some editors will show you the parameters of the function you’re calling, as
+you fill them in.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Demonstration of the signature help feature" class="align-center" src="../_images/SignatureHelpInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+</div>
+</div>
+<div class="section" id="cross-references">
+<h2><a class="toc-backref" href="#id8">Cross-references</a><a class="headerlink" href="#cross-references" title="Permalink to this headline">¶</a></h2>
+<p>The following features let you navigate your codebase.</p>
+<p>If there is no project-wide index, cross-references work across the files
+you have opened.</p>
+<p><strong>(New in v9)</strong>
+clangd will also automatically index your whole project.</p>
+<div class="section" id="find-definition-declaration">
+<h3><a class="toc-backref" href="#id9">Find definition/declaration</a><a class="headerlink" href="#find-definition-declaration" title="Permalink to this headline">¶</a></h3>
+<p>Jump to the definition or declaration of a symbol under the cursor.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Demonstration of the "Go to definition" feature" class="align-center" src="../_images/GoToDefinitionInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+<p><strong>(New in v9)</strong>
+Some editors only expose “find definition”; use “find definition” on the
+definition to jump to the declaration.</p>
+<p>“Find definition” also works on <code class="docutils literal notranslate"><span class="pre">#include</span></code> lines, to jump to the included
+file.</p>
+</div>
+<div class="section" id="find-references">
+<h3><a class="toc-backref" href="#id10">Find references</a><a class="headerlink" href="#find-references" title="Permalink to this headline">¶</a></h3>
+<p>Show all references to a symbol under the cursor.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Demonstration of the "Find all references" feature" class="align-center" src="../_images/FindAllReferencesInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+<p>Some editors will automatically highlight local references to the selected
+symbol as you move around a file.</p>
+</div>
+</div>
+<div class="section" id="navigation">
+<h2><a class="toc-backref" href="#id11">Navigation</a><a class="headerlink" href="#navigation" title="Permalink to this headline">¶</a></h2>
+<p>clangd informs the editor of the code structure in the current file.
+Some editors use this to present an outline view:</p>
+<p><span class="raw-html"><details><summary markdown="span">Screenshot</summary></span></p>
+<img alt="Outline of a file" class="align-center" src="../_images/OutlineInVSCode.png" />
+<p><span class="raw-html"></details></span></p>
+<p>In VSCode, the outline is also presented as breadcrumbs that allow jumping to a
+symbol within the current file.  Searching for symbols within the scope of the
+whole project is also possible.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Navigation with breadcrumbs" class="align-center" src="../_images/NavigationWithBreadcrumbsInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+</div>
+<div class="section" id="formatting">
+<h2><a class="toc-backref" href="#id12">Formatting</a><a class="headerlink" href="#formatting" title="Permalink to this headline">¶</a></h2>
+<p>clangd embeds <a class="reference external" href="https://clang.llvm.org/docs/ClangFormat.html">clang-format</a>,
+which can reformat your code: fixing indentation, breaking lines, and reflowing
+comments.</p>
+<p><span class="raw-html"><details><summary markdown="span">Animated demo</summary></span></p>
+<img alt="Formatting selected code" class="align-center" src="../_images/FormatSelectionInVSCode.gif" />
+<p><span class="raw-html"></details></span></p>
+<p>clangd respects your project’s <code class="docutils literal notranslate"><span class="pre">.clang-format</span></code> file which controls styling
+options.</p>
+<p>Format-as-you-type is experimental and doesn’t work well yet.</p>
+</div>
+<div class="section" id="complete-list-of-features">
+<h2><a class="toc-backref" href="#id13">Complete list of features</a><a class="headerlink" href="#complete-list-of-features" title="Permalink to this headline">¶</a></h2>
+<p>Here is a list of features that could be useful for editors, together with the
+implementation status in clangd, and specification in the Language Server
+Protocol.</p>
+<p>It is not clear whether or not some of the features mentioned below should be a
+part of the Language Server Protocol; those features might be eventually
+developed outside clangd or become clangd extensions to LSP.</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>Yes</td>
+</tr>
+<tr class="row-odd"><td>Find References</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-even"><td>Document Symbols</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-odd"><td>Workspace Symbols</td>
+<td>Yes</td>
+<td>Yes</td>
+</tr>
+<tr class="row-even"><td>Code Lens</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Code folding</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Extract Local Variable</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Extract Function/Method</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Quick Assist</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Hide Method</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Implement Method</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-odd"><td>Gen. Getters/Setters</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+<tr class="row-even"><td>Syntax and Semantic Coloring</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>Yes</td>
+</tr>
+<tr class="row-odd"><td>Organize Includes</td>
+<td>No</td>
+<td>No</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="Installation.html">Getting started with clangd</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="DeveloperDocumentation.html">Developer documentation for clangd</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Installation.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Installation.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Installation.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/Installation.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,339 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Getting started with clangd — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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="../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Features" href="Features.html" />
+    <link rel="prev" title="clangd" href="index.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 9 documentation</span></a></h1>
+        <h2 class="heading"><span>Getting started with clangd</span></h2>
+      </div>
+      <div class="topnav" role="navigation" aria-label="top navigation">
+      
+        <p>
+        «  <a href="index.html">clangd</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="Features.html">Features</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="getting-started-with-clangd">
+<h1><a class="toc-backref" href="#id1">Getting started with clangd</a><a class="headerlink" href="#getting-started-with-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="#getting-started-with-clangd" id="id1">Getting started with clangd</a><ul>
+<li><a class="reference internal" href="#installing-clangd" id="id2">Installing clangd</a></li>
+<li><a class="reference internal" href="#editor-plugins" id="id3">Editor plugins</a></li>
+<li><a class="reference internal" href="#project-setup" id="id4">Project setup</a><ul>
+<li><a class="reference internal" href="#compile-commands-json" id="id5"><code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code></a></li>
+<li><a class="reference internal" href="#compile-flags-txt" id="id6"><code class="docutils literal notranslate"><span class="pre">compile_flags.txt</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#project-wide-index" id="id7">Project-wide Index</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>To use clangd, you need to:</p>
+<ul class="simple">
+<li>install clangd,</li>
+<li>install a plugin for your editor,</li>
+<li>tell clangd how your project is built.</li>
+</ul>
+<div class="section" id="installing-clangd">
+<h2><a class="toc-backref" href="#id2">Installing clangd</a><a class="headerlink" href="#installing-clangd" title="Permalink to this headline">¶</a></h2>
+<p>You need a <strong>recent</strong> version of clangd: 7.0 was the first usable release, and
+8.0 is much better.</p>
+<p>After installing, <code class="docutils literal notranslate"><span class="pre">clangd</span> <span class="pre">--version</span></code> should print <code class="docutils literal notranslate"><span class="pre">clangd</span> <span class="pre">version</span> <span class="pre">7.0.0</span></code> or
+later.</p>
+<p><span class="raw-html"><details><summary markdown="span">macOS</summary></span></p>
+<p><a class="reference external" href="https://brew.sh">Homebrew</a> can install clangd along with LLVM:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> brew install llvm
+</pre></div>
+</div>
+<p>If you don’t want to use Homebrew, you can download the a binary release of
+LLVM from <a class="reference external" href="http://releases.llvm.org/download.html">releases.llvm.org</a>.
+Alongside <code class="docutils literal notranslate"><span class="pre">bin/clangd</span></code> you will need at least <code class="docutils literal notranslate"><span class="pre">lib/clang/*/include</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> cp clang+llvm-7.0.0/bin/clangd /usr/local/bin/clangd
+<span class="gp">$</span> cp -r clang+llvm-7.0.0/lib/clang/ /usr/local/lib/
+</pre></div>
+</div>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Windows</summary></span></p>
+<p>Download and run the LLVM installer from <a class="reference external" href="http://releases.llvm.org/download.html">releases.llvm.org</a>.</p>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Debian/Ubuntu</summary></span></p>
+<p>The <code class="docutils literal notranslate"><span class="pre">clang-tools</span></code> package usually contains an old version of clangd.</p>
+<p>Try to install the latest release (8.0):</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> sudo apt-get install clang-tools-8
+</pre></div>
+</div>
+<p>If that is not found, at least <code class="docutils literal notranslate"><span class="pre">clang-tools-7</span></code> should be available.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">clangd</span></code> executable will be installed as <code class="docutils literal notranslate"><span class="pre">/usr/bin/clangd-8</span></code>. Make it
+the default <code class="docutils literal notranslate"><span class="pre">clangd</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-8 <span class="m">100</span>
+</pre></div>
+</div>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Other systems</summary></span></p>
+<p>Most distributions include clangd in a <code class="docutils literal notranslate"><span class="pre">clang-tools</span></code> package, or in the full
+<code class="docutils literal notranslate"><span class="pre">llvm</span></code> distribution.</p>
+<p>For some platforms, binaries are also avaliable at <a class="reference external" href="http://releases.llvm.org/download.html">releases.llvm.org</a>.</p>
+<p><span class="raw-html"></details></span></p>
+</div>
+<div class="section" id="editor-plugins">
+<h2><a class="toc-backref" href="#id3">Editor plugins</a><a class="headerlink" href="#editor-plugins" title="Permalink to this headline">¶</a></h2>
+<p>Language Server plugins are available for many editors. In principle, clangd
+should work with any of them, though the feature set and UI may vary.</p>
+<p>Here are some plugins we know work well with clangd.</p>
+<p><span class="raw-html"><details><summary markdown="span">YouCompleteMe for Vim</summary></span></p>
+<p><a class="reference external" href="https://valloric.github.io/YouCompleteMe/">YouCompleteMe</a> supports clangd.
+However, clangd support is not turned on by default, so you must install
+YouCompleteMe with <code class="docutils literal notranslate"><span class="pre">install.py</span> <span class="pre">--clangd-completer</span></code>.</p>
+<p>We recommend changing a couple of YCM’s default settings. In <code class="docutils literal notranslate"><span class="pre">.vimrc</span></code> add:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="s2">" Let clangd fully control code completion</span>
+<span class="n">let</span> <span class="n">g</span><span class="p">:</span><span class="n">ycm_clangd_uses_ycmd_caching</span> <span class="o">=</span> <span class="mi">0</span>
+<span class="s2">" Use installed clangd, not YCM-bundled clangd which doesn't get updates.</span>
+<span class="n">let</span> <span class="n">g</span><span class="p">:</span><span class="n">ycm_clangd_binary_path</span> <span class="o">=</span> <span class="n">exepath</span><span class="p">(</span><span class="s2">"clangd"</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>You should see errors highlighted and code completions as you type.</p>
+<img alt="Code completion in YouCompleteMe" class="align-center" src="../_images/CodeCompletionInYCM.png" />
+<p>YouCompleteMe supports many of clangd’s features:</p>
+<ul class="simple">
+<li>code completion,</li>
+<li>diagnostics and fixes (<code class="docutils literal notranslate"><span class="pre">:YcmCompleter</span> <span class="pre">FixIt</span></code>),</li>
+<li>find declarations, references, and definitions (<code class="docutils literal notranslate"><span class="pre">:YcmCompleter</span> <span class="pre">GoTo</span></code> etc),</li>
+<li>rename symbol (<code class="docutils literal notranslate"><span class="pre">:YcmCompleter</span> <span class="pre">RefactorRename</span></code>).</li>
+</ul>
+<p><strong>Under the hood</strong></p>
+<ul>
+<li><p class="first"><strong>Debug logs</strong>: run <code class="docutils literal notranslate"><span class="pre">:YcmDebugInfo</span></code> to see clangd status, and <code class="docutils literal notranslate"><span class="pre">:YcmToggleLogs</span></code>
+to view clangd’s debug logs.</p>
+</li>
+<li><p class="first"><strong>Command-line flags</strong>: Set <code class="docutils literal notranslate"><span class="pre">g:ycm_clangd_args</span></code> in <code class="docutils literal notranslate"><span class="pre">.vimrc</span></code>, e.g.:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">let</span> <span class="n">g</span><span class="p">:</span><span class="n">ycm_clangd_args</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'-log=verbose'</span><span class="p">,</span> <span class="s1">'-pretty'</span><span class="p">]</span>
+</pre></div>
+</div>
+</li>
+<li><p class="first"><strong>Alternate clangd binary</strong>: set <code class="docutils literal notranslate"><span class="pre">g:ycm_clangd_binary_path</span></code> in <code class="docutils literal notranslate"><span class="pre">.vimrc</span></code>.</p>
+</li>
+</ul>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">LanguageClient for Vim and Neovim</summary></span></p>
+<p><a class="reference external" href="https://github.com/autozimu/LanguageClient-neovim">LanguageClient-neovim</a>
+has <a class="reference external" href="https://github.com/autozimu/LanguageClient-neovim/wiki/Clangd">instructions for using clangd</a>, and <strong>may</strong>
+be easier to install than YouCompleteMe.</p>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Eglot for Emacs</summary></span></p>
+<p><a class="reference external" href="https://github.com/joaotavora/eglot">eglot</a> can be configured to work with
+clangd.</p>
+<p>Install eglot with <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">package-install</span> <span class="pre">RET</span> <span class="pre">eglot</span> <span class="pre">RET</span></code>.</p>
+<p>Add the following to <code class="docutils literal notranslate"><span class="pre">~/.emacs</span></code> to enable clangd:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">require</span> <span class="s1">'eglot)</span>
+<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="nb">list</span> <span class="s1">'eglot-server-programs '</span><span class="p">((</span><span class="n">c</span><span class="o">++-</span><span class="n">mode</span> <span class="n">c</span><span class="o">-</span><span class="n">mode</span><span class="p">)</span> <span class="s2">"clangd"</span><span class="p">))</span>
+<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">'c-mode-hook '</span><span class="n">eglot</span><span class="o">-</span><span class="n">ensure</span><span class="p">)</span>
+<span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">hook</span> <span class="s1">'c++-mode-hook '</span><span class="n">eglot</span><span class="o">-</span><span class="n">ensure</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>After restarting you should see diagnostics for errors in your code, and <code class="docutils literal notranslate"><span class="pre">M-x</span>
+<span class="pre">completion-at-point</span></code> should work.</p>
+<img alt="Diagnostics in Emacs" class="align-center" src="../_images/DiagnosticsInEmacsEglot.png" />
+<p>eglot supports many of clangd’s features, with caveats:</p>
+<ul class="simple">
+<li>code completion, though the interaction is quite poor (even with
+<code class="docutils literal notranslate"><span class="pre">company-mode</span></code>, see below),</li>
+<li>diagnostics and fixes,</li>
+<li>find definitions and references (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">xref-find-definitions</span></code> etc),</li>
+<li>hover and highlights,</li>
+<li>code actions (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">eglot-code-actions</span></code>).</li>
+</ul>
+<p><strong>company-mode</strong></p>
+<p>eglot does have basic integration with company-mode, which provides a more
+fluent completion UI.</p>
+<p>You can install it with <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">package-install</span> <span class="pre">RET</span> <span class="pre">company</span> <span class="pre">RET</span></code>, and enable it
+with <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">company-mode</span></code>.</p>
+<p><strong>company-clang is enabled by default</strong>, and will interfere with clangd.
+Disable it in <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">customize-variable</span> <span class="pre">RET</span> <span class="pre">company-backends</span> <span class="pre">RET</span></code>.</p>
+<p>Completion still has some major limitations:</p>
+<ul class="simple">
+<li>completions are alphabetically sorted, not ranked.</li>
+<li>only pure-prefix completions are shown - no fuzzy matches.</li>
+<li>completion triggering seems to be a bit hit-and-miss.</li>
+</ul>
+<img alt="Completion in company-mode" class="align-center" src="../_images/CodeCompletionInEmacsCompanyMode.png" />
+<p><strong>Under the hood</strong></p>
+<ul class="simple">
+<li><strong>Debug logs</strong>: available in the <code class="docutils literal notranslate"><span class="pre">EGLOT</span> <span class="pre">stderr</span></code> buffer.</li>
+<li><strong>Command-line flags and alternate binary</strong>: instead of adding <code class="docutils literal notranslate"><span class="pre">"clangd"</span></code>
+to <code class="docutils literal notranslate"><span class="pre">eglot-server-programs</span></code>, add <code class="docutils literal notranslate"><span class="pre">("/path/to/clangd"</span> <span class="pre">"-log=verbose")</span></code> etc.</li>
+</ul>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Visual Studio Code</summary></span></p>
+<p>The official extension is <a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd">vscode-clangd</a>
+and can be installed from within VSCode.</p>
+<p>Choose <strong>View</strong> –> <strong>Extensions</strong>, then search for “clangd”. (Make sure the
+Microsoft C/C++ extension is <strong>not</strong> installed).</p>
+<p>After restarting, you should see red underlines underneath errors, and you
+should get rich code completions including e.g. function parameters.</p>
+<img alt="Code completion in VSCode" class="align-center" src="../_images/CodeCompletionInVSCode.png" />
+<p>vscode-clangd has excellent support for all clangd features, including:</p>
+<ul class="simple">
+<li>code completion</li>
+<li>diagnostics and fixes</li>
+<li>find declarations, references, and definitions</li>
+<li>find symbol in file (<code class="docutils literal notranslate"><span class="pre">Ctrl-P</span> <span class="pre">@foo</span></code>) or workspace (<code class="docutils literal notranslate"><span class="pre">Ctrl-P</span> <span class="pre">#foo</span></code>)</li>
+<li>hover and highlights</li>
+<li>code actions</li>
+</ul>
+<p><strong>Under the hood</strong></p>
+<ul class="simple">
+<li><strong>Debug logs</strong>: when clangd is running, you should see “Clang Language
+Server” in the dropdown of the Output panel (<strong>View</strong> -> <strong>Output</strong>).</li>
+<li><strong>Command-line flags</strong>: these can be passed in the <code class="docutils literal notranslate"><span class="pre">clangd.arguments</span></code> array
+in your <code class="docutils literal notranslate"><span class="pre">settings.json</span></code>. (<strong>File</strong> -> <strong>Preferences</strong> -> <strong>Settings</strong>).</li>
+<li><strong>Alternate clangd binary</strong>: set the <code class="docutils literal notranslate"><span class="pre">clangd.path</span></code> string in
+<code class="docutils literal notranslate"><span class="pre">settings.json</span></code>.</li>
+</ul>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Sublime Text</summary></span></p>
+<p><a class="reference external" href="https://github.com/tomv564/LSP">tomv564/LSP</a> works with clangd out of the box.</p>
+<p>Select <strong>Tools</strong> –> <strong>Install Package Control</strong> (if you haven’t installed it
+yet).</p>
+<p>Press <code class="docutils literal notranslate"><span class="pre">Ctrl-Shift-P</span></code> and select <strong>Package Control: Install Package</strong>. Select
+<strong>LSP</strong>.</p>
+<p>Press <code class="docutils literal notranslate"><span class="pre">Ctrl-Shift-P</span></code> and select <strong>LSP: Enable Language Server Globally</strong>.
+Select <strong>clangd</strong>.</p>
+<p>Open a C++ file, and you should see diagnostics and completion:</p>
+<img alt="Code completion in Sublime Text" class="align-center" src="../_images/CodeCompletionInSublimeText.png" />
+<p>The LSP package has excellent support for all most clangd features, including:</p>
+<ul class="simple">
+<li>code completion (a bit noisy due to how snippets are presented)</li>
+<li>diagnostics and fixes</li>
+<li>find definition and references</li>
+<li>hover and highlights</li>
+<li>code actions</li>
+</ul>
+<p><strong>Under the hood</strong></p>
+<p>Settings can be tweaked under <strong>Preferences</strong> –> <strong>Package Settings</strong> –>
+<strong>LSP</strong>.</p>
+<ul class="simple">
+<li><strong>Debug logs</strong>: add <code class="docutils literal notranslate"><span class="pre">"log_stderr":</span> <span class="pre">true</span></code></li>
+<li><strong>Command-line flags and alternate clangd binary</strong>: inside the <code class="docutils literal notranslate"><span class="pre">"clients":</span>
+<span class="pre">{"clangd":</span> <span class="pre">{</span> <span class="pre">...</span> <span class="pre">}</span> <span class="pre">}</span></code> section, add <code class="docutils literal notranslate"><span class="pre">"command":</span> <span class="pre">["/path/to/clangd",</span>
+<span class="pre">"-log=verbose"]</span></code> etc.</li>
+</ul>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Other editors</summary></span></p>
+<p>There is a directory of LSP clients at <a class="reference external" href="http://langserver.org">langserver.org</a>.</p>
+<p>A generic client should be configured to run the command <code class="docutils literal notranslate"><span class="pre">clangd</span></code>, and
+communicate via the language server protocol on standard input/output.</p>
+<p>If you don’t have strong feelings about an editor, we suggest you try out
+<a class="reference external" href="https://code.visualstudio.com/">VSCode</a>, it has excellent language server
+support and most faithfully demonstrates what clangd can do.</p>
+<p><span class="raw-html"></details></span></p>
+</div>
+<div class="section" id="project-setup">
+<h2><a class="toc-backref" href="#id4">Project setup</a><a class="headerlink" href="#project-setup" title="Permalink to this headline">¶</a></h2>
+<p>To understand source code in your project, clangd needs to know the build
+flags.  (This is just a fact of life in C++, source files are not
+self-contained.)</p>
+<p>By default, clangd will assume that source code is built as <code class="docutils literal notranslate"><span class="pre">clang</span>
+<span class="pre">some_file.cc</span></code>, and you’ll probably get spurious errors about missing
+<code class="docutils literal notranslate"><span class="pre">#include</span></code>d files, etc.  There are a couple of ways to fix this.</p>
+<div class="section" id="compile-commands-json">
+<h3><a class="toc-backref" href="#id5"><code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code></a><a class="headerlink" href="#compile-commands-json" title="Permalink to this headline">¶</a></h3>
+<p><code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code> file provides compile commands for all source files
+in the project.  This file is usually generated by the build system, or tools
+integrated with the build system.  Clangd will look for this file in the parent
+directories of the files you edit.</p>
+<p><span class="raw-html"><details><summary markdown="span">CMake-based projects</summary></span></p>
+<p>If your project builds with CMake, it can generate <code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code>.
+You should enable it with:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code> will be written to your build directory.  You should
+symlink it (or copy it) to the root of your source tree, if they are different.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ln -s ~/myproject-build/compile_commands.json ~/myproject/
+</pre></div>
+</div>
+<p><span class="raw-html"></details></span></p>
+<p><span class="raw-html"><details><summary markdown="span">Other build systems, using Bear</summary></span></p>
+<p><a class="reference external" href="https://github.com/rizsotto/Bear">Bear</a> is a tool that generates a
+<code class="docutils literal notranslate"><span class="pre">compile_commands.json</span></code> file by recording a complete build.</p>
+<p>For a <code class="docutils literal notranslate"><span class="pre">make</span></code>-based build, you can run <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">clean;</span> <span class="pre">bear</span> <span class="pre">make</span></code> to generate the
+file (and run a clean build!)</p>
+<p><span class="raw-html"></details></span></p>
+<p>Other tools can also generate this file. See <a class="reference external" href="https://clang.llvm.org/docs/JSONCompilationDatabase.html">the compile_commands.json
+specification</a>.</p>
+</div>
+<div class="section" id="compile-flags-txt">
+<h3><a class="toc-backref" href="#id6"><code class="docutils literal notranslate"><span class="pre">compile_flags.txt</span></code></a><a class="headerlink" href="#compile-flags-txt" title="Permalink to this headline">¶</a></h3>
+<p>If all files in a project use the same build flags, you can put those flags,
+one flag per line, in <code class="docutils literal notranslate"><span class="pre">compile_flags.txt</span></code> in your source root.</p>
+<p>Clangd will assume the compile command is <code class="docutils literal notranslate"><span class="pre">clang</span> <span class="pre">$FLAGS</span> <span class="pre">some_file.cc</span></code>.</p>
+<p>Creating this file by hand is a reasonable place to start if your project is
+quite simple.</p>
+</div>
+</div>
+<div class="section" id="project-wide-index">
+<h2><a class="toc-backref" href="#id7">Project-wide Index</a><a class="headerlink" href="#project-wide-index" title="Permalink to this headline">¶</a></h2>
+<p>By default clangd only has a view on symbols coming from files you are
+currently editing. You can extend this view to whole project by providing a
+project-wide index to clangd.  There are two ways to do this.</p>
+<ul class="simple">
+<li>Pass an experimental <cite>-background-index</cite> command line argument.  With
+this feature enabled, clangd incrementally builds an index of projects
+that you work on and uses the just-built index automatically.</li>
+<li>Generate an index file using <a class="reference external" href="https://github.com/llvm/llvm-project/blob/master/clang-tools-extra/clangd/indexer/IndexerMain.cpp">clangd-indexer</a>
+Then you can pass generated index file to clangd using
+<cite>-index-file=/path/to/index_file</cite>.  <em>Note that clangd-indexer isn’t
+included alongside clangd in the Debian clang-tools package. You will
+likely have to build it from source to use this option.</em></li>
+</ul>
+</div>
+</div>
+
+
+      </div>
+      <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+      
+        <p>
+        «  <a href="index.html">clangd</a>
+          ::  
+        <a class="uplink" href="../index.html">Contents</a>
+          ::  
+        <a href="Features.html">Features</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/index.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/index.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/clangd/index.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>clangd — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="../_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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="../_static/language_data.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Getting started with clangd" href="Installation.html" />
+    <link rel="prev" title="Clang-Rename" href="../clang-rename.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="../index.html">
+          <span>Extra Clang Tools 9 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>
+          ::  
+        <a href="Installation.html">Getting started with clangd</a>  Â»
+        </p>
+
+      </div>
+      <div class="content">
+        
+        
+  <div class="section" id="clangd">
+<h1>clangd<a class="headerlink" href="#clangd" title="Permalink to this headline">¶</a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="Installation.html">Getting started with clangd</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Features.html">Features</a></li>
+</ul>
+</div>
+<div class="section" id="what-is-clangd">
+<h2>What is clangd?<a class="headerlink" href="#what-is-clangd" title="Permalink to this headline">¶</a></h2>
+<p>clangd understands your C++ code and adds smart features to your editor: code
+completion, compile errors, go-to-definition and more.</p>
+<p>clangd is a language server that implements the <a class="reference external" href="https://github.com/Microsoft/language-server-protocol">Language Server Protocol</a>; it can work with
+many editors through a plugin.  Here’s Visual Studio Code with the clangd
+plugin, demonstrating code completion:</p>
+<img alt="Code completion in VSCode" class="align-center" src="../_images/CodeCompletionInVSCode.png" />
+<p>clangd is based on the <a class="reference external" href="https://clang.llvm.org">Clang</a> C++ compiler, and is
+part of the <a class="reference external" href="https://llvm.org">LLVM</a> project.</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>
+          ::  
+        <a href="Installation.html">Getting started with clangd</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/cpp11-migrate.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,53 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title><no title> — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 9 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 notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/genindex.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/genindex.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/genindex.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/genindex.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,2628 @@
+
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Index — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></script>
+    <link rel="index" title="Index" href="#" />
+    <link rel="search" title="Search" href="search.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 9 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="#E"><strong>E</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="#O"><strong>O</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>
+    -callbacks <comma-separated-globs>
+
+      <ul>
+        <li><a href="pp-trace.html#cmdoption-callbacks">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>
+    -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>
+    AbseilStringsMatchHeader
+
+      <ul>
+        <li><a href="clang-tidy/checks/abseil-string-find-startswith.html#cmdoption-arg-abseilstringsmatchheader">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AbstractClassCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-abstractclasscase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AbstractClassPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-abstractclassprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    AbstractClassSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-abstractclasssuffix">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>
+    AllowedRegexp
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-macro-usage.html#cmdoption-arg-allowedregexp">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    AllowedTypes
+
+      <ul>
+        <li><a href="clang-tidy/checks/performance-for-range-copy.html#cmdoption-arg-allowedtypes">command line option</a>, <a href="clang-tidy/checks/performance-unnecessary-copy-initialization.html#cmdoption-arg-allowedtypes">[1]</a>, <a href="clang-tidy/checks/performance-unnecessary-value-param.html#cmdoption-arg-allowedtypes">[2]</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>
+      <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>
+    CheckCapsOnly
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-macro-usage.html#cmdoption-arg-checkcapsonly">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CheckedFunctions
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-unused-return-value.html#cmdoption-arg-checkedfunctions">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/bugprone-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>
+    ClassCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassConstantCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classconstantcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassConstantPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classconstantprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassConstantSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classconstantsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassMemberCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmembercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassMemberPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmemberprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassMemberSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmembersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassMethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmethodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassMethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmethodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassMethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmethodsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ClassSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classsuffix">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="pp-trace.html#cmdoption-callbacks">-callbacks <comma-separated-globs></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="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/abseil-string-find-startswith.html#cmdoption-arg-abseilstringsmatchheader">AbseilStringsMatchHeader</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-abstractclasscase">AbstractClassCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-abstractclassprefix">AbstractClassPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-abstractclasssuffix">AbstractClassSuffix</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/cppcoreguidelines-macro-usage.html#cmdoption-arg-allowedregexp">AllowedRegexp</a>
+</li>
+        <li><a href="clang-tidy/checks/performance-for-range-copy.html#cmdoption-arg-allowedtypes">AllowedTypes</a>, <a href="clang-tidy/checks/performance-unnecessary-copy-initialization.html#cmdoption-arg-allowedtypes">[1]</a>, <a href="clang-tidy/checks/performance-unnecessary-value-param.html#cmdoption-arg-allowedtypes">[2]</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/cppcoreguidelines-macro-usage.html#cmdoption-arg-checkcapsonly">CheckCapsOnly</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/bugprone-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/bugprone-unused-return-value.html#cmdoption-arg-checkedfunctions">CheckedFunctions</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classcase">ClassCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classconstantcase">ClassConstantCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classconstantprefix">ClassConstantPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classconstantsuffix">ClassConstantSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmembercase">ClassMemberCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmemberprefix">ClassMemberPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmembersuffix">ClassMemberSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmethodcase">ClassMethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmethodprefix">ClassMethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classmethodsuffix">ClassMethodSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classprefix">ClassPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-classsuffix">ClassSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentboolliterals">CommentBoolLiterals</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentcharacterliterals">CommentCharacterLiterals</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentfloatliterals">CommentFloatLiterals</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentintegerliterals">CommentIntegerLiterals</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentnullptrs">CommentNullPtrs</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentstringliterals">CommentStringLiterals</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentuserdefinedliterals">CommentUserDefinedLiterals</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantcase">ConstantCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantmembercase">ConstantMemberCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantmemberprefix">ConstantMemberPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantmembersuffix">ConstantMemberSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantparametercase">ConstantParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantparameterprefix">ConstantParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantparametersuffix">ConstantParameterSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantpointerparametercase">ConstantPointerParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantpointerparameterprefix">ConstantPointerParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantpointerparametersuffix">ConstantPointerParameterSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantprefix">ConstantPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantsuffix">ConstantSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprfunctioncase">ConstexprFunctionCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprfunctionprefix">ConstexprFunctionPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprfunctionsuffix">ConstexprFunctionSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprmethodcase">ConstexprMethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprmethodprefix">ConstexprMethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprmethodsuffix">ConstexprMethodSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprvariablecase">ConstexprVariableCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprvariableprefix">ConstexprVariablePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprvariablesuffix">ConstexprVariableSuffix</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/cert-msc51-cpp.html#cmdoption-arg-disallowedseedtypes">DisallowedSeedTypes</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumcase">EnumCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumconstantcase">EnumConstantCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumconstantprefix">EnumConstantPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumconstantsuffix">EnumConstantSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumprefix">EnumPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumsuffix">EnumSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-override.html#cmdoption-arg-finalspelling">FinalSpelling</a>
+</li>
+        <li><a href="clang-tidy/checks/objc-forbidden-subclassing.html#cmdoption-arg-forbiddensuperclassnames">ForbiddenSuperClassNames</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-functioncase">FunctionCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-functionprefix">FunctionPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-functionsuffix">FunctionSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-exception-escape.html#cmdoption-arg-functionsthatshouldnotthrow">FunctionsThatShouldNotThrow</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantcase">GlobalConstantCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantpointercase">GlobalConstantPointerCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantpointerprefix">GlobalConstantPointerPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantpointersuffix">GlobalConstantPointerSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantprefix">GlobalConstantPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantsuffix">GlobalConstantSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalfunctioncase">GlobalFunctionCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalfunctionprefix">GlobalFunctionPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalfunctionsuffix">GlobalFunctionSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalpointercase">GlobalPointerCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalpointerprefix">GlobalPointerPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalpointersuffix">GlobalPointerSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalvariablecase">GlobalVariableCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalvariableprefix">GlobalVariablePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalvariablesuffix">GlobalVariableSuffix</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/readability-magic-numbers.html#cmdoption-arg-ignoreallfloatingpointvalues">IgnoreAllFloatingPointValues</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/misc-non-private-member-variables-in-classes.html#cmdoption-arg-ignoreclasseswithallmembervariablesbeingpublic">IgnoreClassesWithAllMemberVariablesBeingPublic</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-macro-usage.html#cmdoption-arg-ignorecommandlinemacros">IgnoreCommandLineMacros</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-override.html#cmdoption-arg-ignoredestructors">IgnoreDestructors</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-equals-delete.html#cmdoption-arg-ignoremacros">[5]</a>, <a href="clang-tidy/checks/modernize-use-using.html#cmdoption-arg-ignoremacros">[6]</a>, <a href="clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html#cmdoption-arg-ignoremacros">[7]</a>, <a href="clang-tidy/checks/readability-redundant-declaration.html#cmdoption-arg-ignoremacros">[8]</a>, <a href="clang-tidy/checks/readability-redundant-smartptr-get.html#cmdoption-arg-ignoremacros">[9]</a>, <a href="clang-tidy/checks/readability-uppercase-literal-suffix.html#cmdoption-arg-ignoremacros">[10]</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignorepowersof2integervalues">IgnorePowersOf2IntegerValues</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-non-private-member-variables-in-classes.html#cmdoption-arg-ignorepublicmembervariables">IgnorePublicMemberVariables</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-exception-escape.html#cmdoption-arg-ignoredexceptions">IgnoredExceptions</a>, <a href="clang-tidy/checks/openmp-exception-escape.html#cmdoption-arg-ignoredexceptions">[1]</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignoredfloatingpointvalues">IgnoredFloatingPointValues</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignoredintegervalues">IgnoredIntegerValues</a>
+</li>
+        <li><a href="clang-tidy/checks/abseil-string-find-startswith.html#cmdoption-arg-includestyle">IncludeStyle</a>, <a href="clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html#cmdoption-arg-includestyle">[1]</a>, <a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-includestyle">[2]</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-includestyle">[3]</a>, <a href="clang-tidy/checks/modernize-pass-by-value.html#cmdoption-arg-includestyle">[4]</a>, <a href="clang-tidy/checks/modernize-replace-auto-ptr.html#cmdoption-arg-includestyle">[5]</a>, <a href="clang-tidy/checks/performance-move-constructor-init.html#cmdoption-arg-includestyle">[6]</a>, <a href="clang-tidy/checks/performance-unnecessary-value-param.html#cmdoption-arg-includestyle">[7]</a>
+</li>
+        <li><a href="clang-tidy/checks/fuchsia-restrict-system-includes.html#cmdoption-arg-includes">Includes</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-inlinenamespacecase">InlineNamespaceCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-inlinenamespaceprefix">InlineNamespacePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-inlinenamespacesuffix">InlineNamespaceSuffix</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/readability-identifier-naming.html#cmdoption-arg-localconstantcase">LocalConstantCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantpointercase">LocalConstantPointerCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantpointerprefix">LocalConstantPointerPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantpointersuffix">LocalConstantPointerSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantprefix">LocalConstantPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantsuffix">LocalConstantSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localpointercase">LocalPointerCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localpointerprefix">LocalPointerPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localpointersuffix">LocalPointerSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localvariablecase">LocalVariableCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localvariableprefix">LocalVariablePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localvariablesuffix">LocalVariableSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-too-small-loop-variable.html#cmdoption-arg-magnitudebitsupperlimit">MagnitudeBitsUpperLimit</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/bugprone-suspicious-missing-comma.html#cmdoption-arg-maxconcatenatedtokens">MaxConcatenatedTokens</a>
+</li>
+        <li><a href="clang-tidy/checks/misc-throw-by-value-catch-by-reference.html#cmdoption-arg-maxsize">MaxSize</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-membercase">MemberCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-memberprefix">MemberPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-membersuffix">MemberSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-methodcase">MethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-methodprefix">MethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-methodsuffix">MethodSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-auto.html#cmdoption-arg-mintypenamelength">MinTypeNameLength</a>
+</li>
+        <li><a href="clang-tidy/checks/zircon-temporary-objects.html#cmdoption-arg-names">Names</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-namespacecase">NamespaceCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-namespaceprefix">NamespacePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-namespacesuffix">NamespaceSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-nestingthreshold">NestingThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-uppercase-literal-suffix.html#cmdoption-arg-newsuffixes">NewSuffixes</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-nullptr.html#cmdoption-arg-nullmacros">NullMacros</a>
+</li>
+        <li><a href="clang-tidy/checks/modernize-use-override.html#cmdoption-arg-overridespelling">OverrideSpelling</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parametercase">ParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterpackcase">ParameterPackCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterpackprefix">ParameterPackPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterpacksuffix">ParameterPackSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterprefix">ParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parametersuffix">ParameterSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-parameterthreshold">ParameterThreshold</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-narrowing-conversions.html#cmdoption-arg-pedanticmode">PedanticMode</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-pointerparametercase">PointerParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-pointerparameterprefix">PointerParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-pointerparametersuffix">PointerParameterSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemembercase">PrivateMemberCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatememberprefix">PrivateMemberPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemembersuffix">PrivateMemberSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemethodcase">PrivateMethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemethodprefix">PrivateMethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemethodsuffix">PrivateMethodSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmembercase">ProtectedMemberCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmemberprefix">ProtectedMemberPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmembersuffix">ProtectedMemberSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmethodcase">ProtectedMethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmethodprefix">ProtectedMethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmethodsuffix">ProtectedMethodSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmembercase">PublicMemberCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmemberprefix">PublicMemberPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmembersuffix">PublicMemberSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmethodcase">PublicMethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmethodprefix">PublicMethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmethodsuffix">PublicMethodSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-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-nodiscard.html#cmdoption-arg-replacementstring">ReplacementString</a>, <a href="clang-tidy/checks/modernize-use-noexcept.html#cmdoption-arg-replacementstring">[1]</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/bugprone-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/readability-identifier-naming.html#cmdoption-arg-staticconstantcase">StaticConstantCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticconstantprefix">StaticConstantPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticconstantsuffix">StaticConstantSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticvariablecase">StaticVariableCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticvariableprefix">StaticVariablePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticvariablesuffix">StaticVariableSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/portability-simd-intrinsics.html#cmdoption-arg-std">Std</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html#cmdoption-arg-strict">Strict</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-strictmode">StrictMode</a>, <a href="clang-tidy/checks/bugprone-suspicious-enum-usage.html#cmdoption-arg-strictmode">[1]</a>, <a href="clang-tidy/checks/misc-unused-parameters.html#cmdoption-arg-strictmode">[2]</a>, <a href="clang-tidy/checks/performance-inefficient-string-concatenation.html#cmdoption-arg-strictmode">[3]</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-suspicious-string-compare.html#cmdoption-arg-stringcomparelikefunctions">StringCompareLikeFunctions</a>
+</li>
+        <li><a href="clang-tidy/checks/abseil-string-find-startswith.html#cmdoption-arg-stringlikeclasses">StringLikeClasses</a>, <a href="clang-tidy/checks/performance-faster-string-find.html#cmdoption-arg-stringlikeclasses">[1]</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-structcase">StructCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-structprefix">StructPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-structsuffix">StructSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/portability-simd-intrinsics.html#cmdoption-arg-suggest">Suggest</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templateparametercase">TemplateParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templateparameterprefix">TemplateParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templateparametersuffix">TemplateParameterSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templatetemplateparametercase">TemplateTemplateParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templatetemplateparameterprefix">TemplateTemplateParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templatetemplateparametersuffix">TemplateTemplateParameterSuffix</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/readability-identifier-naming.html#cmdoption-arg-typealiascase">TypeAliasCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typealiasprefix">TypeAliasPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typealiassuffix">TypeAliasSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-typesuffix">TypeSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typetemplateparametercase">TypeTemplateParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typetemplateparameterprefix">TypeTemplateParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typetemplateparametersuffix">TypeTemplateParameterSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typedefcase">TypedefCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typedefprefix">TypedefPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typedefsuffix">TypedefSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-simplify-subscript-expr.html#cmdoption-arg-types">Types</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-unioncase">UnionCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-unionprefix">UnionPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-unionsuffix">UnionSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-unsignedtypeprefix">UnsignedTypePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-type-member-init.html#cmdoption-arg-useassignment">UseAssignment</a>, <a href="clang-tidy/checks/modernize-use-default-member-init.html#cmdoption-arg-useassignment">[1]</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/readability-identifier-naming.html#cmdoption-arg-valuetemplateparametercase">ValueTemplateParameterCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-valuetemplateparameterprefix">ValueTemplateParameterPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-valuetemplateparametersuffix">ValueTemplateParameterSuffix</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/readability-identifier-naming.html#cmdoption-arg-variablecase">VariableCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-variableprefix">VariablePrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-variablesuffix">VariableSuffix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-variablethreshold">VariableThreshold</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/readability-identifier-naming.html#cmdoption-arg-virtualmethodcase">VirtualMethodCase</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-virtualmethodprefix">VirtualMethodPrefix</a>
+</li>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-virtualmethodsuffix">VirtualMethodSuffix</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/cppcoreguidelines-narrowing-conversions.html#cmdoption-arg-warnonfloatingpointnarrowingconversion">WarnOnFloatingPointNarrowingConversion</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-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-throw-by-value-catch-by-reference.html#cmdoption-arg-warnonlargeobject">WarnOnLargeObject</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-suspicious-string-compare.html#cmdoption-arg-warnonlogicalnotcomparison">WarnOnLogicalNotComparison</a>
+</li>
+        <li><a href="clang-tidy/checks/hicpp-multiway-paths-covered.html#cmdoption-arg-warnonmissingelse">WarnOnMissingElse</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofcomparetoconstant">WarnOnSizeOfCompareToConstant</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofconstant">WarnOnSizeOfConstant</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofintegerexpression">WarnOnSizeOfIntegerExpression</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofthis">WarnOnSizeOfThis</a>
+</li>
+        <li><a href="clang-tidy/checks/bugprone-unhandled-self-assignment.html#cmdoption-arg-warnonlyifthishassuspiciousfield">WarnOnlyIfThisHasSuspiciousField</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>
+    CommentBoolLiterals
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentboolliterals">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CommentCharacterLiterals
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentcharacterliterals">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CommentFloatLiterals
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentfloatliterals">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CommentIntegerLiterals
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentintegerliterals">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CommentNullPtrs
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentnullptrs">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CommentStringLiterals
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentstringliterals">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    CommentUserDefinedLiterals
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-argument-comment.html#cmdoption-arg-commentuserdefinedliterals">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantMemberCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantmembercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantMemberPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantmemberprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantMemberSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantmembersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantparametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantPointerParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantpointerparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantPointerParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantpointerparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantPointerParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantpointerparametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstantSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constantsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprFunctionCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprfunctioncase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprFunctionPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprfunctionprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprFunctionSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprfunctionsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprMethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprmethodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprMethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprmethodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprMethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprmethodsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprVariableCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprvariablecase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprVariablePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprvariableprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ConstexprVariableSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-constexprvariablesuffix">command line option</a>
+</li>
+      </ul></li>
+      <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>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    DisallowedSeedTypes
+
+      <ul>
+        <li><a href="clang-tidy/checks/cert-msc51-cpp.html#cmdoption-arg-disallowedseedtypes">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="E">E</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    EnumCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    EnumConstantCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumconstantcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    EnumConstantPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumconstantprefix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    EnumConstantSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumconstantsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    EnumPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    EnumSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-enumsuffix">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>
+    FinalSpelling
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-override.html#cmdoption-arg-finalspelling">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ForbiddenSuperClassNames
+
+      <ul>
+        <li><a href="clang-tidy/checks/objc-forbidden-subclassing.html#cmdoption-arg-forbiddensuperclassnames">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    FunctionCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-functioncase">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    FunctionPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-functionprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    FunctionsThatShouldNotThrow
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-exception-escape.html#cmdoption-arg-functionsthatshouldnotthrow">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    FunctionSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-functionsuffix">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>
+    GlobalConstantCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalConstantPointerCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantpointercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalConstantPointerPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantpointerprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalConstantPointerSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantpointersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalConstantPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalConstantSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalconstantsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalFunctionCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalfunctioncase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalFunctionPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalfunctionprefix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    GlobalFunctionSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalfunctionsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalPointerCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalpointercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalPointerPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalpointerprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalPointerSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalpointersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalVariableCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalvariablecase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalVariablePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalvariableprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    GlobalVariableSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-globalvariablesuffix">command line option</a>
+</li>
+      </ul></li>
+      <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>
+    IgnoreAllFloatingPointValues
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignoreallfloatingpointvalues">command line option</a>
+</li>
+      </ul></li>
+      <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>
+    IgnoreClassesWithAllMemberVariablesBeingPublic
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-non-private-member-variables-in-classes.html#cmdoption-arg-ignoreclasseswithallmembervariablesbeingpublic">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IgnoreCommandLineMacros
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-macro-usage.html#cmdoption-arg-ignorecommandlinemacros">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IgnoreDestructors
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-override.html#cmdoption-arg-ignoredestructors">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IgnoredExceptions
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-exception-escape.html#cmdoption-arg-ignoredexceptions">command line option</a>, <a href="clang-tidy/checks/openmp-exception-escape.html#cmdoption-arg-ignoredexceptions">[1]</a>
+</li>
+      </ul></li>
+      <li>
+    IgnoredFloatingPointValues
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignoredfloatingpointvalues">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IgnoredIntegerValues
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignoredintegervalues">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-equals-delete.html#cmdoption-arg-ignoremacros">[5]</a>, <a href="clang-tidy/checks/modernize-use-using.html#cmdoption-arg-ignoremacros">[6]</a>, <a href="clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html#cmdoption-arg-ignoremacros">[7]</a>, <a href="clang-tidy/checks/readability-redundant-declaration.html#cmdoption-arg-ignoremacros">[8]</a>, <a href="clang-tidy/checks/readability-redundant-smartptr-get.html#cmdoption-arg-ignoremacros">[9]</a>, <a href="clang-tidy/checks/readability-uppercase-literal-suffix.html#cmdoption-arg-ignoremacros">[10]</a>
+</li>
+      </ul></li>
+      <li>
+    IgnorePowersOf2IntegerValues
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-magic-numbers.html#cmdoption-arg-ignorepowersof2integervalues">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IgnorePublicMemberVariables
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-non-private-member-variables-in-classes.html#cmdoption-arg-ignorepublicmembervariables">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Includes
+
+      <ul>
+        <li><a href="clang-tidy/checks/fuchsia-restrict-system-includes.html#cmdoption-arg-includes">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    IncludeStyle
+
+      <ul>
+        <li><a href="clang-tidy/checks/abseil-string-find-startswith.html#cmdoption-arg-includestyle">command line option</a>, <a href="clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html#cmdoption-arg-includestyle">[1]</a>, <a href="clang-tidy/checks/modernize-make-shared.html#cmdoption-arg-includestyle">[2]</a>, <a href="clang-tidy/checks/modernize-make-unique.html#cmdoption-arg-includestyle">[3]</a>, <a href="clang-tidy/checks/modernize-pass-by-value.html#cmdoption-arg-includestyle">[4]</a>, <a href="clang-tidy/checks/modernize-replace-auto-ptr.html#cmdoption-arg-includestyle">[5]</a>, <a href="clang-tidy/checks/performance-move-constructor-init.html#cmdoption-arg-includestyle">[6]</a>, <a href="clang-tidy/checks/performance-unnecessary-value-param.html#cmdoption-arg-includestyle">[7]</a>
+</li>
+      </ul></li>
+      <li>
+    InlineNamespaceCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-inlinenamespacecase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    InlineNamespacePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-inlinenamespaceprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    InlineNamespaceSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-inlinenamespacesuffix">command line option</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>
+      <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>
+      <li>
+    LocalConstantCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalConstantPointerCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantpointercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalConstantPointerPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantpointerprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalConstantPointerSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantpointersuffix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    LocalConstantPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalConstantSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localconstantsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalPointerCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localpointercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalPointerPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localpointerprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalPointerSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localpointersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalVariableCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localvariablecase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalVariablePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localvariableprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    LocalVariableSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-localvariablesuffix">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>
+    MagnitudeBitsUpperLimit
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-too-small-loop-variable.html#cmdoption-arg-magnitudebitsupperlimit">command line option</a>
+</li>
+      </ul></li>
+      <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>
+      <li>
+    MaxConcatenatedTokens
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-suspicious-missing-comma.html#cmdoption-arg-maxconcatenatedtokens">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MaxSize
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-throw-by-value-catch-by-reference.html#cmdoption-arg-maxsize">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MemberCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-membercase">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    MemberPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-memberprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MemberSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-membersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-methodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-methodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-methodsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    MinTypeNameLength
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-auto.html#cmdoption-arg-mintypenamelength">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>
+    Names
+
+      <ul>
+        <li><a href="clang-tidy/checks/zircon-temporary-objects.html#cmdoption-arg-names">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    NamespaceCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-namespacecase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    NamespacePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-namespaceprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    NamespaceSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-namespacesuffix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <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>
+      <li>
+    NewSuffixes
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-uppercase-literal-suffix.html#cmdoption-arg-newsuffixes">command line option</a>
+</li>
+      </ul></li>
+      <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="O">O</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    OverrideSpelling
+
+      <ul>
+        <li><a href="clang-tidy/checks/modernize-use-override.html#cmdoption-arg-overridespelling">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>
+    ParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ParameterPackCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterpackcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ParameterPackPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterpackprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ParameterPackSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterpacksuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-parametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ParameterThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-parameterthreshold">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PedanticMode
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-narrowing-conversions.html#cmdoption-arg-pedanticmode">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PointerParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-pointerparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PointerParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-pointerparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PointerParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-pointerparametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li><a href="pp-trace.html#index-0">pp-trace</a>
+</li>
+      <li>
+    PrivateMemberCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemembercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PrivateMemberPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatememberprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PrivateMemberSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemembersuffix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    PrivateMethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemethodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PrivateMethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemethodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PrivateMethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-privatemethodsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ProtectedMemberCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmembercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ProtectedMemberPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmemberprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ProtectedMemberSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmembersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ProtectedMethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmethodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ProtectedMethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmethodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ProtectedMethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-protectedmethodsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PublicMemberCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmembercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PublicMemberPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmemberprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PublicMemberSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmembersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PublicMethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmethodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PublicMethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmethodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    PublicMethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-publicmethodsuffix">command line option</a>
+</li>
+      </ul></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/bugprone-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-nodiscard.html#cmdoption-arg-replacementstring">command line option</a>, <a href="clang-tidy/checks/modernize-use-noexcept.html#cmdoption-arg-replacementstring">[1]</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/bugprone-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>
+      <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>
+    StaticConstantCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticconstantcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StaticConstantPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticconstantprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StaticConstantSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticconstantsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StaticVariableCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticvariablecase">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    StaticVariablePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticvariableprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StaticVariableSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-staticvariablesuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Std
+
+      <ul>
+        <li><a href="clang-tidy/checks/portability-simd-intrinsics.html#cmdoption-arg-std">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Strict
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html#cmdoption-arg-strict">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/bugprone-suspicious-enum-usage.html#cmdoption-arg-strictmode">[1]</a>, <a href="clang-tidy/checks/misc-unused-parameters.html#cmdoption-arg-strictmode">[2]</a>, <a href="clang-tidy/checks/performance-inefficient-string-concatenation.html#cmdoption-arg-strictmode">[3]</a>
+</li>
+      </ul></li>
+      <li>
+    StringCompareLikeFunctions
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-suspicious-string-compare.html#cmdoption-arg-stringcomparelikefunctions">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StringLikeClasses
+
+      <ul>
+        <li><a href="clang-tidy/checks/abseil-string-find-startswith.html#cmdoption-arg-stringlikeclasses">command line option</a>, <a href="clang-tidy/checks/performance-faster-string-find.html#cmdoption-arg-stringlikeclasses">[1]</a>
+</li>
+      </ul></li>
+      <li>
+    StructCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-structcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StructPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-structprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    StructSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-structsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Suggest
+
+      <ul>
+        <li><a href="clang-tidy/checks/portability-simd-intrinsics.html#cmdoption-arg-suggest">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>
+    TemplateParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templateparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TemplateParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templateparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TemplateParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templateparametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TemplateTemplateParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templatetemplateparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TemplateTemplateParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templatetemplateparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TemplateTemplateParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-templatetemplateparametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <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>
+      <li>
+    TypeAliasCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typealiascase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypeAliasPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typealiasprefix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    TypeAliasSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typealiassuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypedefCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typedefcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypedefPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typedefprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypedefSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typedefsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    Types
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-simplify-subscript-expr.html#cmdoption-arg-types">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypeSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-typesuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypeTemplateParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typetemplateparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypeTemplateParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typetemplateparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    TypeTemplateParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-typetemplateparametersuffix">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>
+    UnionCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-unioncase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    UnionPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-unionprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    UnionSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-unionsuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    UnsignedTypePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/google-runtime-int.html#cmdoption-arg-unsignedtypeprefix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    UseAssignment
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-pro-type-member-init.html#cmdoption-arg-useassignment">command line option</a>, <a href="clang-tidy/checks/modernize-use-default-member-init.html#cmdoption-arg-useassignment">[1]</a>
+</li>
+      </ul></li>
+      <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>
+      <li>
+    ValueTemplateParameterCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-valuetemplateparametercase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ValueTemplateParameterPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-valuetemplateparameterprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    ValueTemplateParameterSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-valuetemplateparametersuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VariableCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-variablecase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VariablePrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-variableprefix">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    VariableSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-variablesuffix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VariableThreshold
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-function-size.html#cmdoption-arg-variablethreshold">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VectorLikeClasses
+
+      <ul>
+        <li><a href="clang-tidy/checks/performance-inefficient-vector-operation.html#cmdoption-arg-vectorlikeclasses">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VirtualMethodCase
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-virtualmethodcase">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VirtualMethodPrefix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-virtualmethodprefix">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    VirtualMethodSuffix
+
+      <ul>
+        <li><a href="clang-tidy/checks/readability-identifier-naming.html#cmdoption-arg-virtualmethodsuffix">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>
+    WarnOnFloatingPointNarrowingConversion
+
+      <ul>
+        <li><a href="clang-tidy/checks/cppcoreguidelines-narrowing-conversions.html#cmdoption-arg-warnonfloatingpointnarrowingconversion">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnImplicitComparison
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-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>
+    WarnOnLargeObject
+
+      <ul>
+        <li><a href="clang-tidy/checks/misc-throw-by-value-catch-by-reference.html#cmdoption-arg-warnonlargeobject">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnLogicalNotComparison
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-suspicious-string-compare.html#cmdoption-arg-warnonlogicalnotcomparison">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnlyIfThisHasSuspiciousField
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-unhandled-self-assignment.html#cmdoption-arg-warnonlyifthishassuspiciousfield">command line option</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    WarnOnMissingElse
+
+      <ul>
+        <li><a href="clang-tidy/checks/hicpp-multiway-paths-covered.html#cmdoption-arg-warnonmissingelse">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnSizeOfCompareToConstant
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofcomparetoconstant">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnSizeOfConstant
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofconstant">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnSizeOfIntegerExpression
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-sizeof-expression.html#cmdoption-arg-warnonsizeofintegerexpression">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    WarnOnSizeOfThis
+
+      <ul>
+        <li><a href="clang-tidy/checks/bugprone-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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/index.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/index.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/index.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,145 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Welcome to Extra Clang Tools's documentation! — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Extra Clang Tools 9.0.0 Release Notes" href="ReleaseNotes.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="#">
+          <span>Extra Clang Tools 9 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 9.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 APIs.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="ReleaseNotes.html">Extra Clang Tools 9.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/Integrations.html">Clang-tidy IDE/Editor Integrations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clang-tidy/Contributing.html">Getting Involved</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#suppressing-undesired-diagnostics">Suppressing Undesired Diagnostics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="clang-include-fixer.html">Clang-Include-Fixer</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clang-include-fixer.html#setup">Setup</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clang-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/index.html">clangd</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clangd/Installation.html">Getting started with clangd</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd/Features.html">Features</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd/index.html#what-is-clangd">What is clangd?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="clangd/DeveloperDocumentation.html">Developer documentation for clangd</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clangd/Extensions.html">Protocol extensions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd/DeveloperDocumentation.html#compiling-clangd">Compiling clangd</a></li>
+<li class="toctree-l2"><a class="reference internal" href="clangd/DeveloperDocumentation.html#contributing-to-clangd">Contributing to clangd</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="clang-doc.html">Clang-Doc</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="clang-doc.html#use">Use</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 9.0.0 Release Notes</a>  Â»
+        </p>
+
+      </div>
+
+    <div class="footer" role="contentinfo">
+        © Copyright 2007-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/modularize.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/modularize.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/modularize.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/modularize.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Modularize User’s Manual — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></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="clang-include-fixer.html" /> 
+  </head><body>
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 9 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="clang-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="https://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="https://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="https://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="https://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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">-coverage-check-only</span> <span class="pre">option</span></code>.</p>
+<p>For example:</p>
+<div class="highlight-default notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">header.h</span></code>,
+because <code class="docutils literal notranslate"><span class="pre">header</span></code> is a keyword, the module name will be <code class="docutils literal notranslate"><span class="pre">_header</span></code>.
+For a list of the module map keywords, please see:
+<a class="reference external" href="https://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="clang-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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

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

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

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/pp-trace.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/pp-trace.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/pp-trace.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/pp-trace.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,1503 @@
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>pp-trace User’s Manual — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 9 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="https://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 notranslate"><span class="pre">pp-trace</span> <span class="pre">[<pp-trace-options>]</span> <span class="pre"><source-file></span> <span class="pre">[--</span> <span class="pre"><front-end-options>]</span></code></p>
+<p><code class="docutils literal notranslate"><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 notranslate"><span class="pre"><source-file></span></code> specifies the source file to run through the preprocessor.</p>
+<p><code class="docutils literal notranslate"><span class="pre"><front-end-options></span></code> is a place-holder for regular
+<a class="reference external" href="https://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-callbacks">
+<code class="descname">-callbacks</code><code class="descclassname"> <comma-separated-globs></code><a class="headerlink" href="#cmdoption-callbacks" title="Permalink to this definition">¶</a></dt>
+<dd><p>This option specifies a comma-separated list of globs describing the list of
+callbacks that should be traced. Globs are processed in order of appearance.
+Positive globs add matched callbacks to the set, netative globs (those with
+the ‘-‘ prefix) remove callacks from the set.</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="https://yaml.org/">https://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 notranslate"><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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://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 notranslate"><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="https://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="https://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="https://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a> and <a class="reference external" href="https://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 notranslate"><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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/search.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/search.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/search.html (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/search.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Search — Extra Clang Tools 9 documentation</title>
+    <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="_static/clang-tools-extra-styles.css" />
+    
+    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.js"></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>
+      <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+          <span>Extra Clang Tools 9 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-2019, The Clang Team.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/searchindex.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/searchindex.js?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/searchindex.js (added)
+++ www-releases/trunk/9.0.0/tools/clang/tools/extra/docs/searchindex.js Thu Sep 19 07:32:46 2019
@@ -0,0 +1 @@
+Search.setIndex({docnames:["ModularizeUsage","ReleaseNotes","clang-doc","clang-include-fixer","clang-modernize","clang-rename","clang-tidy","clang-tidy/Contributing","clang-tidy/Integrations","clang-tidy/checks/abseil-duration-addition","clang-tidy/checks/abseil-duration-comparison","clang-tidy/checks/abseil-duration-conversion-cast","clang-tidy/checks/abseil-duration-division","clang-tidy/checks/abseil-duration-factory-float","clang-tidy/checks/abseil-duration-factory-scale","clang-tidy/checks/abseil-duration-subtraction","clang-tidy/checks/abseil-duration-unnecessary-conversion","clang-tidy/checks/abseil-faster-strsplit-delimiter","clang-tidy/checks/abseil-no-internal-dependencies","clang-tidy/checks/abseil-no-namespace","clang-tidy/checks/abseil-redundant-strcat-calls","clang-tidy/checks/abseil-str-cat-append","clang-tidy/checks/abseil-string-find-startswith","clang-tidy/checks/abseil-time-comparison","clang-tidy/checks/abseil-time-subtraction","clang-tidy/checks/abseil-upgrade-duration-conversions","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-pipe","clang-tidy/checks/android-cloexec-pipe2","clang-tidy/checks/android-cloexec-socket","clang-tidy/checks/android-comparison-in-temp-failure-retry","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-branch-clone","clang-tidy/checks/bugprone-copy-constructor-init","clang-tidy/checks/bugprone-dangling-handle","clang-tidy/checks/bugprone-exception-escape","clang-tidy/checks/bugprone-fold-init-type","clang-tidy/checks/bugprone-forward-declaration-namespace","clang-tidy/checks/bugprone-forwarding-reference-overload","clang-tidy/checks/bugprone-inaccurate-erase","clang-tidy/checks/bugprone-incorrect-roundings","clang-tidy/checks/bugprone-integer-division","clang-tidy/checks/bugprone-lambda-function-name","clang-tidy/checks/bugprone-macro-parentheses","clang-tidy/checks/bugprone-macro-repeated-side-effects","clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc","clang-tidy/checks/bugprone-misplaced-widening-cast","clang-tidy/checks/bugprone-move-forwarding-reference","clang-tidy/checks/bugprone-multiple-statement-macro","clang-tidy/checks/bugprone-parent-virtual-call","clang-tidy/checks/bugprone-posix-return","clang-tidy/checks/bugprone-sizeof-container","clang-tidy/checks/bugprone-sizeof-expression","clang-tidy/checks/bugprone-string-constructor","clang-tidy/checks/bugprone-string-integer-assignment","clang-tidy/checks/bugprone-string-literal-with-embedded-nul","clang-tidy/checks/bugprone-suspicious-enum-usage","clang-tidy/checks/bugprone-suspicious-memset-usage","clang-tidy/checks/bugprone-suspicious-missing-comma","clang-tidy/checks/bugprone-suspicious-semicolon","clang-tidy/checks/bugprone-suspicious-string-compare","clang-tidy/checks/bugprone-swapped-arguments","clang-tidy/checks/bugprone-terminating-continue","clang-tidy/checks/bugprone-throw-keyword-missing","clang-tidy/checks/bugprone-too-small-loop-variable","clang-tidy/checks/bugprone-undefined-memory-manipulation","clang-tidy/checks/bugprone-undelegated-constructor","clang-tidy/checks/bugprone-unhandled-self-assignment","clang-tidy/checks/bugprone-unused-raii","clang-tidy/checks/bugprone-unused-return-value","clang-tidy/checks/bugprone-use-after-move","clang-tidy/checks/bugprone-virtual-near-miss","clang-tidy/checks/cert-dcl03-c","clang-tidy/checks/cert-dcl16-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-msc32-c","clang-tidy/checks/cert-msc50-cpp","clang-tidy/checks/cert-msc51-cpp","clang-tidy/checks/cert-oop11-cpp","clang-tidy/checks/cert-oop54-cpp","clang-tidy/checks/cppcoreguidelines-avoid-c-arrays","clang-tidy/checks/cppcoreguidelines-avoid-goto","clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers","clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature","clang-tidy/checks/cppcoreguidelines-explicit-virtual-functions","clang-tidy/checks/cppcoreguidelines-interfaces-global-init","clang-tidy/checks/cppcoreguidelines-macro-usage","clang-tidy/checks/cppcoreguidelines-narrowing-conversions","clang-tidy/checks/cppcoreguidelines-no-malloc","clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes","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-calls","clang-tidy/checks/fuchsia-default-arguments-declarations","clang-tidy/checks/fuchsia-header-anon-namespaces","clang-tidy/checks/fuchsia-multiple-inheritance","clang-tidy/checks/fuchsia-overloaded-operator","clang-tidy/checks/fuchsia-restrict-system-includes","clang-tidy/checks/fuchsia-statically-constructed-objects","clang-tidy/checks/fuchsia-trailing-return","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-nsobject-new","clang-tidy/checks/google-objc-avoid-throwing-exception","clang-tidy/checks/google-objc-function-naming","clang-tidy/checks/google-objc-global-variable-declaration","clang-tidy/checks/google-readability-avoid-underscore-in-googletest-name","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-todo","clang-tidy/checks/google-runtime-int","clang-tidy/checks/google-runtime-operator","clang-tidy/checks/google-runtime-references","clang-tidy/checks/hicpp-avoid-c-arrays","clang-tidy/checks/hicpp-avoid-goto","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-multiway-paths-covered","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-uppercase-literal-suffix","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-prefer-isa-or-dyn-cast-in-conditionals","clang-tidy/checks/llvm-twine-local","clang-tidy/checks/misc-definitions-in-headers","clang-tidy/checks/misc-misplaced-const","clang-tidy/checks/misc-new-delete-overloads","clang-tidy/checks/misc-non-copyable-objects","clang-tidy/checks/misc-non-private-member-variables-in-classes","clang-tidy/checks/misc-redundant-expression","clang-tidy/checks/misc-static-assert","clang-tidy/checks/misc-throw-by-value-catch-by-reference","clang-tidy/checks/misc-unconventional-assign-operator","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-using-decls","clang-tidy/checks/modernize-avoid-bind","clang-tidy/checks/modernize-avoid-c-arrays","clang-tidy/checks/modernize-concat-nested-namespaces","clang-tidy/checks/modernize-deprecated-headers","clang-tidy/checks/modernize-deprecated-ios-base-aliases","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-nodiscard","clang-tidy/checks/modernize-use-noexcept","clang-tidy/checks/modernize-use-nullptr","clang-tidy/checks/modernize-use-override","clang-tidy/checks/modernize-use-trailing-return-type","clang-tidy/checks/modernize-use-transparent-functors","clang-tidy/checks/modernize-use-uncaught-exceptions","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/objc-super-self","clang-tidy/checks/openmp-exception-escape","clang-tidy/checks/openmp-use-default-none","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/portability-simd-intrinsics","clang-tidy/checks/readability-avoid-const-params-in-decls","clang-tidy/checks/readability-braces-around-statements","clang-tidy/checks/readability-const-return-type","clang-tidy/checks/readability-container-size-empty","clang-tidy/checks/readability-convert-member-functions-to-static","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-isolate-declaration","clang-tidy/checks/readability-magic-numbers","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-preprocessor","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-simplify-subscript-expr","clang-tidy/checks/readability-static-accessed-through-instance","clang-tidy/checks/readability-static-definition-in-anonymous-namespace","clang-tidy/checks/readability-string-compare","clang-tidy/checks/readability-uniqueptr-delete-release","clang-tidy/checks/readability-uppercase-literal-suffix","clang-tidy/checks/zircon-temporary-objects","clang-tidy/index","clangd","clangd/DeveloperDocumentation","clangd/Extensions","clangd/Features","clangd/Installation","clangd/index","cpp11-migrate","index","modularize","pp-trace"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,sphinx:54},filenames:["ModularizeUsage.rst","ReleaseNotes.rst","clang-doc.rst","clang-include-fixer.rst","clang-modernize.rst","clang-rename.rst","clang-tidy.rst","clang-tidy/Contributing.rst","clang-tidy/Integrations.rst","clang-tidy/checks/abseil-duration-addition.rst","clang-tidy/checks/abseil-duration-comparison.rst","clang-tidy/checks/abseil-duration-conversion-cast.rst","clang-tidy/checks/abseil-duration-division.rst","clang-tidy/checks/abseil-duration-factory-float.rst","clang-tidy/checks/abseil-duration-factory-scale.rst","clang-tidy/checks/abseil-duration-subtraction.rst","clang-tidy/checks/abseil-duration-unnecessary-conversion.rst","clang-tidy/checks/abseil-faster-strsplit-delimiter.rst","clang-tidy/checks/abseil-no-internal-dependencies.rst","clang-tidy/checks/abseil-no-namespace.rst","clang-tidy/checks/abseil-redundant-strcat-calls.rst","clang-tidy/checks/abseil-str-cat-append.rst","clang-tidy/checks/abseil-string-find-startswith.rst","clang-tidy/checks/abseil-time-comparison.rst","clang-tidy/checks/abseil-time-subtraction.rst","clang-tidy/checks/abseil-upgrade-duration-conversions.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-pipe.rst","clang-tidy/checks/android-cloexec-pipe2.rst","clang-tidy/checks/android-cloexec-socket.rst","clang-tidy/checks/android-comparison-in-temp-failure-retry.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-branch-clone.rst","clang-tidy/checks/bugprone-copy-constructor-init.rst","clang-tidy/checks/bugprone-dangling-handle.rst","clang-tidy/checks/bugprone-exception-escape.rst","clang-tidy/checks/bugprone-fold-init-type.rst","clang-tidy/checks/bugprone-forward-declaration-namespace.rst","clang-tidy/checks/bugprone-forwarding-reference-overload.rst","clang-tidy/checks/bugprone-inaccurate-erase.rst","clang-tidy/checks/bugprone-incorrect-roundings.rst","clang-tidy/checks/bugprone-integer-division.rst","clang-tidy/checks/bugprone-lambda-function-name.rst","clang-tidy/checks/bugprone-macro-parentheses.rst","clang-tidy/checks/bugprone-macro-repeated-side-effects.rst","clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst","clang-tidy/checks/bugprone-misplaced-widening-cast.rst","clang-tidy/checks/bugprone-move-forwarding-reference.rst","clang-tidy/checks/bugprone-multiple-statement-macro.rst","clang-tidy/checks/bugprone-parent-virtual-call.rst","clang-tidy/checks/bugprone-posix-return.rst","clang-tidy/checks/bugprone-sizeof-container.rst","clang-tidy/checks/bugprone-sizeof-expression.rst","clang-tidy/checks/bugprone-string-constructor.rst","clang-tidy/checks/bugprone-string-integer-assignment.rst","clang-tidy/checks/bugprone-string-literal-with-embedded-nul.rst","clang-tidy/checks/bugprone-suspicious-enum-usage.rst","clang-tidy/checks/bugprone-suspicious-memset-usage.rst","clang-tidy/checks/bugprone-suspicious-missing-comma.rst","clang-tidy/checks/bugprone-suspicious-semicolon.rst","clang-tidy/checks/bugprone-suspicious-string-compare.rst","clang-tidy/checks/bugprone-swapped-arguments.rst","clang-tidy/checks/bugprone-terminating-continue.rst","clang-tidy/checks/bugprone-throw-keyword-missing.rst","clang-tidy/checks/bugprone-too-small-loop-variable.rst","clang-tidy/checks/bugprone-undefined-memory-manipulation.rst","clang-tidy/checks/bugprone-undelegated-constructor.rst","clang-tidy/checks/bugprone-unhandled-self-assignment.rst","clang-tidy/checks/bugprone-unused-raii.rst","clang-tidy/checks/bugprone-unused-return-value.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-dcl16-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-msc32-c.rst","clang-tidy/checks/cert-msc50-cpp.rst","clang-tidy/checks/cert-msc51-cpp.rst","clang-tidy/checks/cert-oop11-cpp.rst","clang-tidy/checks/cert-oop54-cpp.rst","clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst","clang-tidy/checks/cppcoreguidelines-avoid-goto.rst","clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst","clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst","clang-tidy/checks/cppcoreguidelines-explicit-virtual-functions.rst","clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst","clang-tidy/checks/cppcoreguidelines-macro-usage.rst","clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst","clang-tidy/checks/cppcoreguidelines-no-malloc.rst","clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.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-calls.rst","clang-tidy/checks/fuchsia-default-arguments-declarations.rst","clang-tidy/checks/fuchsia-header-anon-namespaces.rst","clang-tidy/checks/fuchsia-multiple-inheritance.rst","clang-tidy/checks/fuchsia-overloaded-operator.rst","clang-tidy/checks/fuchsia-restrict-system-includes.rst","clang-tidy/checks/fuchsia-statically-constructed-objects.rst","clang-tidy/checks/fuchsia-trailing-return.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-nsobject-new.rst","clang-tidy/checks/google-objc-avoid-throwing-exception.rst","clang-tidy/checks/google-objc-function-naming.rst","clang-tidy/checks/google-objc-global-variable-declaration.rst","clang-tidy/checks/google-readability-avoid-underscore-in-googletest-name.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-todo.rst","clang-tidy/checks/google-runtime-int.rst","clang-tidy/checks/google-runtime-operator.rst","clang-tidy/checks/google-runtime-references.rst","clang-tidy/checks/hicpp-avoid-c-arrays.rst","clang-tidy/checks/hicpp-avoid-goto.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-multiway-paths-covered.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-uppercase-literal-suffix.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-prefer-isa-or-dyn-cast-in-conditionals.rst","clang-tidy/checks/llvm-twine-local.rst","clang-tidy/checks/misc-definitions-in-headers.rst","clang-tidy/checks/misc-misplaced-const.rst","clang-tidy/checks/misc-new-delete-overloads.rst","clang-tidy/checks/misc-non-copyable-objects.rst","clang-tidy/checks/misc-non-private-member-variables-in-classes.rst","clang-tidy/checks/misc-redundant-expression.rst","clang-tidy/checks/misc-static-assert.rst","clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst","clang-tidy/checks/misc-unconventional-assign-operator.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-using-decls.rst","clang-tidy/checks/modernize-avoid-bind.rst","clang-tidy/checks/modernize-avoid-c-arrays.rst","clang-tidy/checks/modernize-concat-nested-namespaces.rst","clang-tidy/checks/modernize-deprecated-headers.rst","clang-tidy/checks/modernize-deprecated-ios-base-aliases.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-nodiscard.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-trailing-return-type.rst","clang-tidy/checks/modernize-use-transparent-functors.rst","clang-tidy/checks/modernize-use-uncaught-exceptions.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/objc-super-self.rst","clang-tidy/checks/openmp-exception-escape.rst","clang-tidy/checks/openmp-use-default-none.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/portability-simd-intrinsics.rst","clang-tidy/checks/readability-avoid-const-params-in-decls.rst","clang-tidy/checks/readability-braces-around-statements.rst","clang-tidy/checks/readability-const-return-type.rst","clang-tidy/checks/readability-container-size-empty.rst","clang-tidy/checks/readability-convert-member-functions-to-static.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-isolate-declaration.rst","clang-tidy/checks/readability-magic-numbers.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-preprocessor.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-simplify-subscript-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-string-compare.rst","clang-tidy/checks/readability-uniqueptr-delete-release.rst","clang-tidy/checks/readability-uppercase-literal-suffix.rst","clang-tidy/checks/zircon-temporary-objects.rst","clang-tidy/index.rst","clangd.rst","clangd/DeveloperDocumentation.rst","clangd/Extensions.rst","clangd/Features.rst","clangd/Installation.rst","clangd/index.rst","cpp11-migrate.rst","index.rst","modularize.rst","pp-trace.rst"],objects:{"":{"-block-check-header-list-only":[0,0,1,"cmdoption-block-check-header-list-only"],"-callbacks":[306,0,1,"cmdoption-callbacks"],"-coverage-check-only":[0,0,1,"cmdoption-coverage-check-only"],"-display-file-lists":[0,0,1,"cmdoption-display-file-lists"],"-module-map-path":[0,0,1,"cmdoption-module-map-path"],"-no-coverage-check":[0,0,1,"cmdoption-no-coverage-check"],"-output":[306,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"],AbseilStringsMatchHeader:[22,0,1,"cmdoption-arg-abseilstringsmatchheader"],AbstractClassCase:[270,0,1,"cmdoption-arg-abstractclasscase"],AbstractClassPrefix:[270,0,1,"cmdoption-arg-abstractclassprefix"],AbstractClassSuffix:[270,0,1,"cmdoption-arg-abstractclasssuffix"],Allocations:[115,0,1,"cmdoption-arg-allocations"],AllowIntegerConditions:[272,0,1,"cmdoption-arg-allowintegerconditions"],AllowMissingMoveFunctions:[129,0,1,"cmdoption-arg-allowmissingmovefunctions"],AllowPointerConditions:[272,0,1,"cmdoption-arg-allowpointerconditions"],AllowSoleDefaultDtor:[129,0,1,"cmdoption-arg-allowsoledefaultdtor"],AllowedRegexp:[113,0,1,"cmdoption-arg-allowedregexp"],AllowedTypes:[259,0,1,"cmdoption-arg-allowedtypes"],AssertMacros:[43,0,1,"cmdoption-arg-assertmacros"],BranchThreshold:[269,0,1,"cmdoption-arg-branchthreshold"],ChainedConditionalAssignment:[288,0,1,"cmdoption-arg-chainedconditionalassignment"],ChainedConditionalReturn:[288,0,1,"cmdoption-arg-chainedconditionalreturn"],CheckCapsOnly:[113,0,1,"cmdoption-arg-checkcapsonly"],CheckFunctionCalls:[43,0,1,"cmdoption-arg-checkfunctioncalls"],CheckImplicitCasts:[59,0,1,"cmdoption-arg-checkimplicitcasts"],CheckThrowTemporaries:[201,0,1,"cmdoption-arg-checkthrowtemporaries"],CheckTriviallyCopyableMove:[254,0,1,"cmdoption-arg-checktriviallycopyablemove"],CheckedFunctions:[82,0,1,"cmdoption-arg-checkedfunctions"],ClassCase:[270,0,1,"cmdoption-arg-classcase"],ClassConstantCase:[270,0,1,"cmdoption-arg-classconstantcase"],ClassConstantPrefix:[270,0,1,"cmdoption-arg-classconstantprefix"],ClassConstantSuffix:[270,0,1,"cmdoption-arg-classconstantsuffix"],ClassMemberCase:[270,0,1,"cmdoption-arg-classmembercase"],ClassMemberPrefix:[270,0,1,"cmdoption-arg-classmemberprefix"],ClassMemberSuffix:[270,0,1,"cmdoption-arg-classmembersuffix"],ClassMethodCase:[270,0,1,"cmdoption-arg-classmethodcase"],ClassMethodPrefix:[270,0,1,"cmdoption-arg-classmethodprefix"],ClassMethodSuffix:[270,0,1,"cmdoption-arg-classmethodsuffix"],ClassPrefix:[270,0,1,"cmdoption-arg-classprefix"],ClassSuffix:[270,0,1,"cmdoption-arg-classsuffix"],CommentBoolLiterals:[42,0,1,"cmdoption-arg-commentboolliterals"],CommentCharacterLiterals:[42,0,1,"cmdoption-arg-commentcharacterliterals"],CommentFloatLiterals:[42,0,1,"cmdoption-arg-commentfloatliterals"],CommentIntegerLiterals:[42,0,1,"cmdoption-arg-commentintegerliterals"],CommentNullPtrs:[42,0,1,"cmdoption-arg-commentnullptrs"],CommentStringLiterals:[42,0,1,"cmdoption-arg-commentstringliterals"],CommentUserDefinedLiterals:[42,0,1,"cmdoption-arg-commentuserdefinedliterals"],ConstantCase:[270,0,1,"cmdoption-arg-constantcase"],ConstantMemberCase:[270,0,1,"cmdoption-arg-constantmembercase"],ConstantMemberPrefix:[270,0,1,"cmdoption-arg-constantmemberprefix"],ConstantMemberSuffix:[270,0,1,"cmdoption-arg-constantmembersuffix"],ConstantParameterCase:[270,0,1,"cmdoption-arg-constantparametercase"],ConstantParameterPrefix:[270,0,1,"cmdoption-arg-constantparameterprefix"],ConstantParameterSuffix:[270,0,1,"cmdoption-arg-constantparametersuffix"],ConstantPointerParameterCase:[270,0,1,"cmdoption-arg-constantpointerparametercase"],ConstantPointerParameterPrefix:[270,0,1,"cmdoption-arg-constantpointerparameterprefix"],ConstantPointerParameterSuffix:[270,0,1,"cmdoption-arg-constantpointerparametersuffix"],ConstantPrefix:[270,0,1,"cmdoption-arg-constantprefix"],ConstantSuffix:[270,0,1,"cmdoption-arg-constantsuffix"],ConstexprFunctionCase:[270,0,1,"cmdoption-arg-constexprfunctioncase"],ConstexprFunctionPrefix:[270,0,1,"cmdoption-arg-constexprfunctionprefix"],ConstexprFunctionSuffix:[270,0,1,"cmdoption-arg-constexprfunctionsuffix"],ConstexprMethodCase:[270,0,1,"cmdoption-arg-constexprmethodcase"],ConstexprMethodPrefix:[270,0,1,"cmdoption-arg-constexprmethodprefix"],ConstexprMethodSuffix:[270,0,1,"cmdoption-arg-constexprmethodsuffix"],ConstexprVariableCase:[270,0,1,"cmdoption-arg-constexprvariablecase"],ConstexprVariablePrefix:[270,0,1,"cmdoption-arg-constexprvariableprefix"],ConstexprVariableSuffix:[270,0,1,"cmdoption-arg-constexprvariablesuffix"],ContainersWithPushBack:[227,0,1,"cmdoption-arg-containerswithpushback"],Deallocations:[115,0,1,"cmdoption-arg-deallocations"],DisallowedSeedTypes:[104,0,1,"cmdoption-arg-disallowedseedtypes"],EnumCase:[270,0,1,"cmdoption-arg-enumcase"],EnumConstantCase:[270,0,1,"cmdoption-arg-enumconstantcase"],EnumConstantPrefix:[270,0,1,"cmdoption-arg-enumconstantprefix"],EnumConstantSuffix:[270,0,1,"cmdoption-arg-enumconstantsuffix"],EnumPrefix:[270,0,1,"cmdoption-arg-enumprefix"],EnumSuffix:[270,0,1,"cmdoption-arg-enumsuffix"],FinalSpelling:[233,0,1,"cmdoption-arg-finalspelling"],ForbiddenSuperClassNames:[242,0,1,"cmdoption-arg-forbiddensuperclassnames"],FunctionCase:[270,0,1,"cmdoption-arg-functioncase"],FunctionPrefix:[270,0,1,"cmdoption-arg-functionprefix"],FunctionSuffix:[270,0,1,"cmdoption-arg-functionsuffix"],FunctionsThatShouldNotThrow:[48,0,1,"cmdoption-arg-functionsthatshouldnotthrow"],GlobalConstantCase:[270,0,1,"cmdoption-arg-globalconstantcase"],GlobalConstantPointerCase:[270,0,1,"cmdoption-arg-globalconstantpointercase"],GlobalConstantPointerPrefix:[270,0,1,"cmdoption-arg-globalconstantpointerprefix"],GlobalConstantPointerSuffix:[270,0,1,"cmdoption-arg-globalconstantpointersuffix"],GlobalConstantPrefix:[270,0,1,"cmdoption-arg-globalconstantprefix"],GlobalConstantSuffix:[270,0,1,"cmdoption-arg-globalconstantsuffix"],GlobalFunctionCase:[270,0,1,"cmdoption-arg-globalfunctioncase"],GlobalFunctionPrefix:[270,0,1,"cmdoption-arg-globalfunctionprefix"],GlobalFunctionSuffix:[270,0,1,"cmdoption-arg-globalfunctionsuffix"],GlobalPointerCase:[270,0,1,"cmdoption-arg-globalpointercase"],GlobalPointerPrefix:[270,0,1,"cmdoption-arg-globalpointerprefix"],GlobalPointerSuffix:[270,0,1,"cmdoption-arg-globalpointersuffix"],GlobalVariableCase:[270,0,1,"cmdoption-arg-globalvariablecase"],GlobalVariablePrefix:[270,0,1,"cmdoption-arg-globalvariableprefix"],GlobalVariableSuffix:[270,0,1,"cmdoption-arg-globalvariablesuffix"],GslHeader:[119,0,1,"cmdoption-arg-gslheader"],HandleClasses:[47,0,1,"cmdoption-arg-handleclasses"],HeaderFileExtensions:[194,0,1,"cmdoption-arg-headerfileextensions"],IgnoreAllFloatingPointValues:[275,0,1,"cmdoption-arg-ignoreallfloatingpointvalues"],IgnoreArrays:[123,0,1,"cmdoption-arg-ignorearrays"],IgnoreClassesWithAllMemberVariablesBeingPublic:[198,0,1,"cmdoption-arg-ignoreclasseswithallmembervariablesbeingpublic"],IgnoreCommandLineMacros:[113,0,1,"cmdoption-arg-ignorecommandlinemacros"],IgnoreDestructors:[233,0,1,"cmdoption-arg-ignoredestructors"],IgnoreImplicitConstructors:[227,0,1,"cmdoption-arg-ignoreimplicitconstructors"],IgnoreMacros:[294,0,1,"cmdoption-arg-ignoremacros"],IgnorePowersOf2IntegerValues:[275,0,1,"cmdoption-arg-ignorepowersof2integervalues"],IgnorePublicMemberVariables:[198,0,1,"cmdoption-arg-ignorepublicmembervariables"],IgnoredExceptions:[245,0,1,"cmdoption-arg-ignoredexceptions"],IgnoredFloatingPointValues:[275,0,1,"cmdoption-arg-ignoredfloatingpointvalues"],IgnoredIntegerValues:[275,0,1,"cmdoption-arg-ignoredintegervalues"],IncludeStyle:[259,0,1,"cmdoption-arg-includestyle"],Includes:[135,0,1,"cmdoption-arg-includes"],InlineNamespaceCase:[270,0,1,"cmdoption-arg-inlinenamespacecase"],InlineNamespacePrefix:[270,0,1,"cmdoption-arg-inlinenamespaceprefix"],InlineNamespaceSuffix:[270,0,1,"cmdoption-arg-inlinenamespacesuffix"],LargeLengthThreshold:[66,0,1,"cmdoption-arg-largelengththreshold"],LegacyResourceConsumers:[117,0,1,"cmdoption-arg-legacyresourceconsumers"],LegacyResourceProducers:[117,0,1,"cmdoption-arg-legacyresourceproducers"],LineThreshold:[269,0,1,"cmdoption-arg-linethreshold"],LocalConstantCase:[270,0,1,"cmdoption-arg-localconstantcase"],LocalConstantPointerCase:[270,0,1,"cmdoption-arg-localconstantpointercase"],LocalConstantPointerPrefix:[270,0,1,"cmdoption-arg-localconstantpointerprefix"],LocalConstantPointerSuffix:[270,0,1,"cmdoption-arg-localconstantpointersuffix"],LocalConstantPrefix:[270,0,1,"cmdoption-arg-localconstantprefix"],LocalConstantSuffix:[270,0,1,"cmdoption-arg-localconstantsuffix"],LocalPointerCase:[270,0,1,"cmdoption-arg-localpointercase"],LocalPointerPrefix:[270,0,1,"cmdoption-arg-localpointerprefix"],LocalPointerSuffix:[270,0,1,"cmdoption-arg-localpointersuffix"],LocalVariableCase:[270,0,1,"cmdoption-arg-localvariablecase"],LocalVariablePrefix:[270,0,1,"cmdoption-arg-localvariableprefix"],LocalVariableSuffix:[270,0,1,"cmdoption-arg-localvariablesuffix"],MagnitudeBitsUpperLimit:[77,0,1,"cmdoption-arg-magnitudebitsupperlimit"],MakeSmartPtrFunction:[214,0,1,"cmdoption-arg-makesmartptrfunction"],MakeSmartPtrFunctionHeader:[214,0,1,"cmdoption-arg-makesmartptrfunctionheader"],MaxConcatenatedTokens:[71,0,1,"cmdoption-arg-maxconcatenatedtokens"],MaxSize:[201,0,1,"cmdoption-arg-maxsize"],MemberCase:[270,0,1,"cmdoption-arg-membercase"],MemberPrefix:[270,0,1,"cmdoption-arg-memberprefix"],MemberSuffix:[270,0,1,"cmdoption-arg-membersuffix"],MethodCase:[270,0,1,"cmdoption-arg-methodcase"],MethodPrefix:[270,0,1,"cmdoption-arg-methodprefix"],MethodSuffix:[270,0,1,"cmdoption-arg-methodsuffix"],MinTypeNameLength:[223,0,1,"cmdoption-arg-mintypenamelength"],Names:[295,0,1,"cmdoption-arg-names"],NamespaceCase:[270,0,1,"cmdoption-arg-namespacecase"],NamespacePrefix:[270,0,1,"cmdoption-arg-namespaceprefix"],NamespaceSuffix:[270,0,1,"cmdoption-arg-namespacesuffix"],NestingThreshold:[269,0,1,"cmdoption-arg-nestingthreshold"],NewSuffixes:[294,0,1,"cmdoption-arg-newsuffixes"],NullMacros:[232,0,1,"cmdoption-arg-nullmacros"],OverrideSpelling:[233,0,1,"cmdoption-arg-overridespelling"],ParameterCase:[270,0,1,"cmdoption-arg-parametercase"],ParameterPackCase:[270,0,1,"cmdoption-arg-parameterpackcase"],ParameterPackPrefix:[270,0,1,"cmdoption-arg-parameterpackprefix"],ParameterPackSuffix:[270,0,1,"cmdoption-arg-parameterpacksuffix"],ParameterPrefix:[270,0,1,"cmdoption-arg-parameterprefix"],ParameterSuffix:[270,0,1,"cmdoption-arg-parametersuffix"],ParameterThreshold:[269,0,1,"cmdoption-arg-parameterthreshold"],PedanticMode:[114,0,1,"cmdoption-arg-pedanticmode"],PointerParameterCase:[270,0,1,"cmdoption-arg-pointerparametercase"],PointerParameterPrefix:[270,0,1,"cmdoption-arg-pointerparameterprefix"],PointerParameterSuffix:[270,0,1,"cmdoption-arg-pointerparametersuffix"],PrivateMemberCase:[270,0,1,"cmdoption-arg-privatemembercase"],PrivateMemberPrefix:[270,0,1,"cmdoption-arg-privatememberprefix"],PrivateMemberSuffix:[270,0,1,"cmdoption-arg-privatemembersuffix"],PrivateMethodCase:[270,0,1,"cmdoption-arg-privatemethodcase"],PrivateMethodPrefix:[270,0,1,"cmdoption-arg-privatemethodprefix"],PrivateMethodSuffix:[270,0,1,"cmdoption-arg-privatemethodsuffix"],ProtectedMemberCase:[270,0,1,"cmdoption-arg-protectedmembercase"],ProtectedMemberPrefix:[270,0,1,"cmdoption-arg-protectedmemberprefix"],ProtectedMemberSuffix:[270,0,1,"cmdoption-arg-protectedmembersuffix"],ProtectedMethodCase:[270,0,1,"cmdoption-arg-protectedmethodcase"],ProtectedMethodPrefix:[270,0,1,"cmdoption-arg-protectedmethodprefix"],ProtectedMethodSuffix:[270,0,1,"cmdoption-arg-protectedmethodsuffix"],PublicMemberCase:[270,0,1,"cmdoption-arg-publicmembercase"],PublicMemberPrefix:[270,0,1,"cmdoption-arg-publicmemberprefix"],PublicMemberSuffix:[270,0,1,"cmdoption-arg-publicmembersuffix"],PublicMethodCase:[270,0,1,"cmdoption-arg-publicmethodcase"],PublicMethodPrefix:[270,0,1,"cmdoption-arg-publicmethodprefix"],PublicMethodSuffix:[270,0,1,"cmdoption-arg-publicmethodsuffix"],RatioThreshold:[71,0,1,"cmdoption-arg-ratiothreshold"],Reallocations:[115,0,1,"cmdoption-arg-reallocations"],RemoveStars:[223,0,1,"cmdoption-arg-removestars"],ReplacementString:[231,0,1,"cmdoption-arg-replacementstring"],SafeMode:[235,0,1,"cmdoption-arg-safemode"],ShortNamespaceLines:[191,0,1,"cmdoption-arg-shortnamespacelines"],ShortStatementLines:[262,0,1,"cmdoption-arg-shortstatementlines"],SignedTypePrefix:[155,0,1,"cmdoption-arg-signedtypeprefix"],SizeThreshold:[71,0,1,"cmdoption-arg-sizethreshold"],SmartPointers:[227,0,1,"cmdoption-arg-smartpointers"],SpacesBeforeComments:[191,0,1,"cmdoption-arg-spacesbeforecomments"],StatementThreshold:[269,0,1,"cmdoption-arg-statementthreshold"],StaticConstantCase:[270,0,1,"cmdoption-arg-staticconstantcase"],StaticConstantPrefix:[270,0,1,"cmdoption-arg-staticconstantprefix"],StaticConstantSuffix:[270,0,1,"cmdoption-arg-staticconstantsuffix"],StaticVariableCase:[270,0,1,"cmdoption-arg-staticvariablecase"],StaticVariablePrefix:[270,0,1,"cmdoption-arg-staticvariableprefix"],StaticVariableSuffix:[270,0,1,"cmdoption-arg-staticvariablesuffix"],Std:[260,0,1,"cmdoption-arg-std"],Strict:[273,0,1,"cmdoption-arg-strict"],StrictMode:[252,0,1,"cmdoption-arg-strictmode"],StringCompareLikeFunctions:[73,0,1,"cmdoption-arg-stringcomparelikefunctions"],StringLikeClasses:[247,0,1,"cmdoption-arg-stringlikeclasses"],StructCase:[270,0,1,"cmdoption-arg-structcase"],StructPrefix:[270,0,1,"cmdoption-arg-structprefix"],StructSuffix:[270,0,1,"cmdoption-arg-structsuffix"],Suggest:[260,0,1,"cmdoption-arg-suggest"],TemplateParameterCase:[270,0,1,"cmdoption-arg-templateparametercase"],TemplateParameterPrefix:[270,0,1,"cmdoption-arg-templateparameterprefix"],TemplateParameterSuffix:[270,0,1,"cmdoption-arg-templateparametersuffix"],TemplateTemplateParameterCase:[270,0,1,"cmdoption-arg-templatetemplateparametercase"],TemplateTemplateParameterPrefix:[270,0,1,"cmdoption-arg-templatetemplateparameterprefix"],TemplateTemplateParameterSuffix:[270,0,1,"cmdoption-arg-templatetemplateparametersuffix"],TupleMakeFunctions:[227,0,1,"cmdoption-arg-tuplemakefunctions"],TupleTypes:[227,0,1,"cmdoption-arg-tupletypes"],TypeAliasCase:[270,0,1,"cmdoption-arg-typealiascase"],TypeAliasPrefix:[270,0,1,"cmdoption-arg-typealiasprefix"],TypeAliasSuffix:[270,0,1,"cmdoption-arg-typealiassuffix"],TypeSuffix:[155,0,1,"cmdoption-arg-typesuffix"],TypeTemplateParameterCase:[270,0,1,"cmdoption-arg-typetemplateparametercase"],TypeTemplateParameterPrefix:[270,0,1,"cmdoption-arg-typetemplateparameterprefix"],TypeTemplateParameterSuffix:[270,0,1,"cmdoption-arg-typetemplateparametersuffix"],TypedefCase:[270,0,1,"cmdoption-arg-typedefcase"],TypedefPrefix:[270,0,1,"cmdoption-arg-typedefprefix"],TypedefSuffix:[270,0,1,"cmdoption-arg-typedefsuffix"],Types:[289,0,1,"cmdoption-arg-types"],UnionCase:[270,0,1,"cmdoption-arg-unioncase"],UnionPrefix:[270,0,1,"cmdoption-arg-unionprefix"],UnionSuffix:[270,0,1,"cmdoption-arg-unionsuffix"],UnsignedTypePrefix:[155,0,1,"cmdoption-arg-unsignedtypeprefix"],UseAssignment:[226,0,1,"cmdoption-arg-useassignment"],UseHeaderFileExtension:[194,0,1,"cmdoption-arg-useheaderfileextension"],UseNoexceptFalse:[231,0,1,"cmdoption-arg-usenoexceptfalse"],ValueTemplateParameterCase:[270,0,1,"cmdoption-arg-valuetemplateparametercase"],ValueTemplateParameterPrefix:[270,0,1,"cmdoption-arg-valuetemplateparameterprefix"],ValueTemplateParameterSuffix:[270,0,1,"cmdoption-arg-valuetemplateparametersuffix"],ValuesOnly:[215,0,1,"cmdoption-arg-valuesonly"],VariableCase:[270,0,1,"cmdoption-arg-variablecase"],VariablePrefix:[270,0,1,"cmdoption-arg-variableprefix"],VariableSuffix:[270,0,1,"cmdoption-arg-variablesuffix"],VariableThreshold:[269,0,1,"cmdoption-arg-variablethreshold"],VectorLikeClasses:[253,0,1,"cmdoption-arg-vectorlikeclasses"],VirtualMethodCase:[270,0,1,"cmdoption-arg-virtualmethodcase"],VirtualMethodPrefix:[270,0,1,"cmdoption-arg-virtualmethodprefix"],VirtualMethodSuffix:[270,0,1,"cmdoption-arg-virtualmethodsuffix"],WarnOnAllAutoCopies:[248,0,1,"cmdoption-arg-warnonallautocopies"],WarnOnFloatingPointNarrowingConversion:[114,0,1,"cmdoption-arg-warnonfloatingpointnarrowingconversion"],WarnOnImplicitComparison:[73,0,1,"cmdoption-arg-warnonimplicitcomparison"],WarnOnLargeLength:[66,0,1,"cmdoption-arg-warnonlargelength"],WarnOnLargeObject:[201,0,1,"cmdoption-arg-warnonlargeobject"],WarnOnLogicalNotComparison:[73,0,1,"cmdoption-arg-warnonlogicalnotcomparison"],WarnOnMissingElse:[168,0,1,"cmdoption-arg-warnonmissingelse"],WarnOnSizeOfCompareToConstant:[65,0,1,"cmdoption-arg-warnonsizeofcomparetoconstant"],WarnOnSizeOfConstant:[65,0,1,"cmdoption-arg-warnonsizeofconstant"],WarnOnSizeOfIntegerExpression:[65,0,1,"cmdoption-arg-warnonsizeofintegerexpression"],WarnOnSizeOfThis:[65,0,1,"cmdoption-arg-warnonsizeofthis"],WarnOnlyIfThisHasSuspiciousField:[80,0,1,"cmdoption-arg-warnonlyifthishassuspiciousfield"],WhiteListTypes:[157,0,1,"cmdoption-arg-whitelisttypes"]}},objnames:{"0":["std","cmdoption","program option"]},objtypes:{"0":"std:cmdoption"},terms:{"0421266555786133e":7,"0_km":42,"0abc":68,"0def":68,"0x00":[68,70],"0x01":68,"0x02":68,"0x12":68,"0x42":68,"0x8000":65,"0x800000":66,"0xabcd":70,"0xff":68,"14f":275,"2088400000005421e":7,"2137ll":41,"21l":227,"2418899999999974e":7,"294967296l":77,"2line3":71,"37l":227,"3rd":218,"65536ll":49,"abstract":270,"boolean":[42,113,168,188,272,275],"break":[7,80,135,168,210,212,244,268,274,300],"byte":[65,68,70],"case":[1,7,9,10,13,14,15,16,18,21,23,24,25,40,42,45,46,48,51,54,58,59,65,68,69,70,71,72,77,80,83,108,117,125,139,147,149,151,168,192,194,201,205,212,216,223,227,235,239,243,254,258,270,272,273,274,275,276,281,284,289,291,294,296,299,300,305,306],"catch":[1,17,77,93,98,117,188,299],"char":[40,42,47,58,67,68,70,71,94,114,115,188,194,201,208,216,227,232,235,238,239,270,279,289,296,306],"class":[1,5,7,18,22,25,46,47,51,64,65,68,76,79,80,83,84,105,117,123,125,129,133,136,138,145,147,162,166,188,194,196,202,206,208,215,218,226,227,230,233,234,237,242,247,252,253,255,265,267,269,270,272,283,295,296,299],"const":[1,7,42,43,46,51,64,65,68,71,77,80,83,87,94,117,129,134,137,143,148,163,188,194,212,215,216,218,229,230,234,235,237,246,248,250,252,258,259,264,267,270,274,275,291,306],"default":[0,1,3,5,7,22,42,43,45,46,47,48,49,51,59,65,66,69,71,73,77,80,82,104,113,114,115,117,119,123,129,135,140,144,155,157,168,183,188,189,191,194,201,205,213,214,215,218,223,224,227,229,231,232,233,235,237,242,245,247,248,252,253,254,255,258,259,260,262,269,272,273,275,281,283,285,288,289,294,295,296,301,306],"enum":[65,113,168,188,212,226,270,306],"export":[5,296,305],"final":[45,168,233],"float":[10,12,16,25,41,42,49,53,54,65,100,114,188,210,234,257,272,275,294],"function":[1,5,7,8,11,12,13,14,25,36,43,48,58,60,63,65,67,70,73,78,79,82,83,84,88,94,103,112,115,117,127,128,130,131,137,143,157,182,183,186,188,194,195,196,198,201,205,207,208,210,212,213,214,215,218,219,220,223,227,228,229,230,233,234,236,238,239,241,248,252,257,258,259,260,261,263,264,270,273,274,278,279,280,281,291,292,296,300,301,305,306],"goto":[188,301],"import":[8,123,135,276,299,306],"int":[1,7,9,10,11,14,23,24,25,28,29,41,42,49,51,52,53,54,59,62,64,65,67,70,76,77,80,83,87,90,94,104,108,114,115,117,123,128,130,131,133,134,136,137,143,147,162,168,178,188,194,195,205,207,208,212,217,218,219,222,223,226,227,230,231,232,234,235,236,237,239,243,246,250,251,252,253,254,263,266,267,268,270,272,273,274,275,277,279,280,281,282,290,291,293,296,306],"long":[42,59,71,77,155,191,223,234],"new":[3,5,7,58,72,80,89,117,188,212,213,214,218,226,227,232,240,290,295,296,298,299,300],"null":[1,69,72,92,188,192,232,239,272,274,288,305,306],"public":[7,46,51,62,80,87,93,105,117,133,136,138,162,194,198,215,267,270,272,283],"return":[1,3,7,12,45,47,49,52,58,59,64,65,68,73,80,81,87,103,117,130,131,133,143,146,147,188,192,194,202,207,212,218,219,223,230,232,236,250,254,270,272,273,275,279,280,288,292,299,305],"short":[69,77,155,215,238],"static":[1,7,8,85,96,117,119,147,148,163,188,193,194,198,205,212,270,296],"super":[1,188],"switch":[1,8,45,168,264],"throw":[1,48,93,96,97,98,162,188,227,231,245,268],"true":[1,42,45,60,68,69,113,143,199,212,224,231,272,288,299,301,306],"try":[7,194,270,299,301,306],"var":[1,192],"void":[7,42,51,55,58,60,65,70,75,76,80,83,84,94,104,114,117,128,146,162,168,188,191,194,195,205,207,208,209,215,218,222,230,231,232,237,238,246,252,254,258,259,261,268,270,272,273,274,277,280,284,290],"while":[3,5,40,65,72,75,114,212,218,223,252,262,272,280],Added:[1,3],And:[7,216,252],But:279,Doing:18,For:[0,1,2,3,5,7,8,12,40,45,51,52,71,72,77,80,83,108,113,114,119,123,130,131,133,134,135,136,137,138,140,144,146,148,149,189,194,195,196,209,210,212,215,223,226,227,230,233,243,252,253,257,263,270,275,284,295,296,298,299,301,304,305],IDE:[296,304],IDEs:8,Ids:306,Its:[5,40,208,296,299],NOT:7,Not:[82,145,276,295,299,300],One:[3,65,216,219,270,273],Such:[25,230,234,243,263,280,281],TUs:2,That:[5,12],The:[0,1,2,3,5,8,17,18,20,21,22,25,26,28,29,30,33,37,38,42,43,45,46,48,49,50,51,53,55,58,59,60,64,65,66,67,68,69,70,71,72,73,77,79,80,81,82,83,85,86,87,89,91,93,98,99,101,102,103,105,106,107,108,109,110,111,113,114,116,117,119,123,129,132,135,141,143,144,145,146,147,148,149,150,151,152,153,154,155,157,158,159,160,161,163,167,168,171,173,175,177,179,180,181,184,185,187,191,195,196,197,198,200,201,202,205,207,210,212,215,216,218,219,221,222,223,226,227,228,232,233,234,235,237,240,241,243,247,248,250,251,254,255,256,258,259,260,262,264,266,268,269,270,272,274,275,276,277,278,279,280,288,289,290,291,292,293,296,299,300,301,304,305,306],Their:[7,233],Then:[3,59,207,301],There:[7,24,65,80,115,212,277,296,301],These:[0,1,17,25,47,52,63,65,108,162,210,216,296,299,305],USING:7,Use:[0,7,11,13,14,21,67,122,124,125,145,188,275,292,296,301,304,306],Used:163,Useful:[1,164],Using:[7,37,65,117,212,246,264,304],Will:[41,66,104,209,212,259,274],With:[7,87,129,215,273,295,301,305,306],YES:146,Yes:300,__anotherstr:148,__attribute__:[230,242],__builtin_memcmp:73,__builtin_strcasecmp:73,__builtin_strcmp:73,__builtin_strncasecmp:73,__builtin_strncmp:73,__debug:306,__func__:55,__function__:55,__gnu_cxx:223,__line__:274,__normal_iter:223,_header:305,_identical_:7,_index:243,_km:42,_mbscmp:73,_mbscmp_l:73,_mbsicmp:73,_mbsicmp_l:73,_mbsnbcmp:73,_mbsnbcmp_l:73,_mbsnbicmp:73,_mbsnbicmp_l:73,_mbsncmp:73,_mbsncmp_l:73,_mbsnicmp:73,_mbsnicmp_l:73,_memicmp:73,_memicmp_l:73,_mm_add_epi32:260,_popen:92,_post:270,_stricmp:73,_stricmp_l:73,_strnicmp:73,_strnicmp_l:73,_val:117,_wcsicmp:73,_wcsicmp_l:73,_wcsnicmp:73,_wcsnicmp_l:73,a_bunch_of_vari:274,abbrevi:300,abc:[68,227],abc_lowercamelcas:243,abcisneg:147,abil:7,abl:[2,83,148,227,270],abnewpersonviewcontrol:242,about:[1,2,5,18,76,82,83,115,123,188,226,229,240,241,252,273,277,279,285,294,296,299,300,301,304,306],abov:[7,58,60,72,147,212,292,305],abpeoplepickernavigationcontrol:242,abpersonviewcontrol:242,abseil:[1,188,296],abseilstringsmatchhead:22,absent:273,absl:[1,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],absolut:[0,7,275,296],abstract_class:270,abstractclasscas:270,abstractclassprefix:270,abstractclasssuffix:270,abunknownpersonviewcontrol:242,accept4:[26,188],accept:[5,25,108,188,243,248,258,259,275],access:[7,112,118,120,122,124,125,128,188,198,201,212,265],accident:87,accommod:272,accord:[175,176,240,243,272],accordingli:117,account:[42,83,87,93,105,123,273,305],accumul:49,accur:[1,299],acronym:[1,243],across:[1,26,27,29,31,34,35,36,39,300],action:[1,5,299,301],activ:[168,218,299,304,306],actual:[1,52,92,122,124,125,206,254,267,272,306],adaptor:104,add:[3,7,25,37,38,42,48,58,66,69,73,83,123,207,212,215,218,227,230,233,242,270,274,296,301,302,306],add_new_check:7,add_on:137,addcheckfactori:7,added:[1,3,58,83,203,212,215,250,262,299],adding:[1,3,7,9,299,301],addit:[0,1,2,3,5,7,24,58,83,188,198,223,227,272,279,296,306],addition:[1,7,25,69,73,192],addmatch:7,addr:[26,27],address:[3,7,299],addrlen:[26,27],adher:[189,296],adjustcount:273,adopt:299,advanatag:251,advantag:279,advis:[7,129,268,275],advoc:296,affect:[5,201,212,223,261,296],after:[5,7,20,25,42,45,47,60,66,68,71,119,165,188,193,212,218,227,234,236,237,262,265,269,270,274,282,296,299,301,305],again:[1,16,83,265],against:[1,7,10,80,108,115,305],aggreg:65,agil:275,aim:5,alexandrescu:[201,275],algorithm:[52,77,103,188,260],alia:[1,80,85,86,89,91,93,98,99,101,102,105,106,107,109,110,111,116,117,132,140,150,152,153,158,159,160,161,163,164,165,166,167,169,170,171,173,174,176,177,178,179,180,181,182,183,184,185,186,187,188,191,196,197,198,200,201,208,255,262,269,270,294],alias:[117,188],align:[16,23,273],aligned_alloc:117,all:[1,3,4,5,7,15,47,50,52,59,64,69,77,83,87,88,93,95,96,97,104,105,108,113,114,117,118,119,120,121,122,123,124,125,126,127,129,135,141,147,148,168,178,198,205,208,210,223,229,234,239,246,254,256,262,272,275,278,292,294,295,296,297,299,300,301,303,305,306],alloc:[115,117,145,188,196,212,240],alloca:58,allow:[1,2,7,8,18,30,70,113,117,127,133,135,149,168,194,198,201,215,218,223,226,233,246,248,258,259,272,273,294,296,299,300],allowedregexp:113,allowedtyp:[248,258,259],allowintegercondit:272,allowmissingmovefunct:129,allowpointercondit:272,allowsoledefaultdtor:129,almost:55,almostbitmask:69,along:[8,232,296,301],alongsid:[8,299,301],alphabet:[148,301],alreadi:[3,7,168,203,215,262,296],alright:117,also:[0,3,5,7,8,14,15,17,37,38,45,46,47,48,49,51,56,59,80,83,87,123,194,196,201,203,212,213,214,219,223,227,233,243,264,270,273,276,292,296,298,299,300,301,305,306],alter:[72,230],altern:[5,118,210,230,260,275,301],although:[5,194,201,276],altivec:260,alwai:[25,48,55,60,63,68,75,83,104,199,202,235,240,273,275,276,296,299,305],ambigu:272,amount:[77,299],analysi:[3,7,8,117,212,296],analyz:[1,7,8,72,83,117,245,296],ancestor:299,anchor:7,andrei:275,android:[1,188,296],angl:306,ani:[1,2,3,5,7,12,18,19,50,51,52,63,72,80,83,87,104,123,129,135,139,149,168,201,212,216,222,227,230,232,248,264,272,275,296,301,305,306],anim:300,annot:117,anon:[140,188],anonym:[93,140,188,201],anoth:[0,3,8,20,50,69,79,117,126,148,219,264,270],another_fil:117,any_cas:270,anymor:[17,274],anywher:82,apart:8,api:[1,7,25,48,293,296,304],apiabbrevi:243,appear:[40,210,212,250,296,306],append:[2,5,188,252,270,296],appl:[240,243],apple_ref:243,appli:[7,8,81,113,135,195,212,217,229,230,236,248,258,259,263,265,291,296],applic:[8,49,114,201,216,222,288],appropri:[7,67,115,147,231,233,272,288,290],approxim:299,apt:301,architectur:[260,275],area:70,aren:[123,218,299],arg1:207,arg:[2,5,137,188,234,296,306],arguement:14,argument1:306,argument2:306,argument:[0,1,2,5,7,14,17,21,24,25,27,31,34,35,36,39,40,52,56,57,58,60,69,70,76,82,92,104,117,127,139,143,168,188,202,215,217,222,223,227,248,254,258,259,278,296,301,305,306],argv:[104,208],aris:[45,252],arithmet:[12,25,114,188],arm:260,armin:275,around:[0,7,188,281,288,296,300],arr:212,arrai:[47,64,71,80,120,123,188,212,223,238,253,289,296,301],arrang:306,array_of_str:64,arrayindex:119,arrayref:306,arrays:65,articl:243,ascii:[70,216],asin:257,aspect:[3,7],assembl:[188,299],assert:[1,12,85,188,192,210],assertmacro:43,assign:[1,48,83,106,114,117,123,129,134,174,188,215,218,226,228,232,243,256,259,267,288,296],assist:[0,8,300,305],associ:[1,2,7,212,227,251],assum:[0,7,51,72,76,83,126,127,215,301],assumpt:273,ast:[3,7,299],ast_match:7,async:82,asynchron:299,atoi:[94,104],atom:25,attach:[7,296],attempt:[1,55,72,92,115,212,296,299],attribut:[83,230,246],attributerefer:[230,242],auto:[1,7,17,41,49,117,137,188,192,207,212,213,214,227,234,248,250,251,253,294],auto_ptr:[218,227],autom:[3,7,42,151],automat:[3,7,115,123,274,281,296,300,301,305,306],avail:[1,2,3,5,7,141,212,219,221,270,296,299,300,301],avali:301,avoid:[0,1,3,5,7,27,31,34,35,39,59,80,83,114,143,188,193,215,227,229,243,253,274,275,276,279,292,306],avx:260,awar:[51,212,219,275],awesom:7,awesome_:7,awesomefunctionnamescheck:7,b69fc5221058:241,back:[1,16,270],backend:301,background:[1,188,301],backslash:[3,5],backward:108,bad:[108,117,241,261],bad_child1:133,bad_malloc:58,bad_new:58,bad_template_funct:117,badfil:117,badli:139,bah:193,bail:296,ban:122,bar1:5,bar2:5,bar:[5,42,60,133,135,145,208,215,220,231,252,258,295],bark:193,base:[1,2,3,5,7,44,46,79,84,105,113,117,123,125,128,168,188,215,227,233,248,250,253,255,269,275,295,296,300,301,302,305],base_a:133,base_b:133,baseclass:188,basedonstyl:296,basic:[7,205,301],basic_str:[22,67,82,83,247,252,289],basic_string_view:[47,289],baz:[220,252],bbcfheab:243,bcihcga:243,bear:301,beaucs:18,becaus:[0,24,40,41,43,45,51,60,65,69,72,77,113,120,126,127,195,218,227,228,234,257,265,267,274,275,283,291,296,305],becom:[22,25,26,27,28,29,30,31,32,33,34,35,36,39,45,56,60,143,191,193,205,213,214,216,223,226,228,229,247,251,257,259,277,280,281,287,288,293,300],been:[1,60,83,87,93,105,117,119,212,225,249,271,281,296,306],befor:[1,2,5,20,42,45,56,70,81,83,96,117,143,191,210,215,219,227,234,237,242,253,262,270,274,282,296,305],begin:[0,49,52,96,212,219,223,251,274,276,294],behav:[223,305],behavior:[7,25,43,45,48,53,60,78,81,83,87,90,93,105,121],behaviour:[41,56,175,212,245,281],behind:272,being:[1,3,7,8,10,16,20,23,40,60,201,212,216,223,272,299,306],bell:216,belong:[7,276],below:[0,53,69,83,117,212,219,223,236,270,296,300,301,306],benefici:215,besid:8,best:[7,215,275],better:[1,5,26,28,29,30,33,51,94,108,113,117,168,219,296,299,301],between:[1,65,69,71,82,129,208,223,272,292,296],beyond:123,bigger:[59,66],bin:[1,301],binari:[3,7,8,56,114,207,296,301],bind:[3,7,188,218,227,274],bionic:40,bit:[77,114,219,227,272,301],bitcod:2,bitfield:272,bitmask:69,bitset:64,bitwis:[69,188],blob:[112,114,118,119,120,121,122,123,124,125,126,127,128,129],block:[0,1,159,201,245,296,299,305],blog:241,blue:168,bodi:[7,72,123,191,205,212,228,253,262,269,273,280],bombardi:275,bool:[42,54,143,146,147,188,212,223,227,230,264,288,296,299,306],boost:[188,223,227,296],both:[3,5,7,22,40,51,53,58,69,83,117,128,159,219,275,296,306],bottom:245,bound:[3,5,171,188,299],boundari:82,box:301,brace:[1,123,188,191,223,276],bracket:306,branch:[1,83,168,188,269],branchthreshold:269,breadcrumb:300,breakag:[18,19],brew:301,bring:8,broader:298,broken:218,buf:[65,238,239],buff:94,buffer:[3,5,65,188,239,301],buflen:65,bug:[1,2,5,7,10,23,36,117,154,205,272,281,296,300],buggi:[40,63],bugpron:[1,106,165,178,188,296],bugtrack:[2,5],build:[1,2,3,5,7,8,43,91,132,188,296,298,299,301,304,305],built:[3,7,8,226,272,301,304,305],builtin:[123,223],bundl:[1,8,301],busi:299,byanychar:17,byte_count:70,c145:128,c21:129,c_externcsystem:306,c_str:286,c_system:306,c_user:306,calcul:[56,59,168],call:[1,3,5,7,13,17,21,25,38,41,46,51,52,54,55,58,60,63,66,70,72,73,78,79,80,81,82,83,87,92,94,95,112,117,126,127,128,145,178,188,212,213,214,215,218,220,221,223,227,230,236,244,247,248,254,257,258,259,260,264,265,283,285,286,289,296,300,306],callabl:143,callack:306,callback:[1,3,305],caller:[16,60,205],calloc:[58,115,117],camel:243,camel_snake_back:270,camel_snake_cas:270,camelback:270,camelcas:[243,270,300],can:[0,1,2,3,5,7,8,9,15,29,37,38,43,45,47,48,49,50,51,56,59,65,67,68,72,76,77,82,83,90,103,108,112,114,115,119,122,124,125,128,129,135,147,148,163,168,194,201,203,205,207,208,210,212,215,216,218,223,226,227,231,233,234,238,244,246,250,251,252,253,260,263,264,265,272,273,275,276,279,281,292,294,296,298,299,300,301,302,305,306],cannot:[18,117,126,127,212,234,235,267,275],canon:81,capabl:[1,299],capac:221,caps_onli:113,captur:[1,192,207],care:[7,80,215],careless:234,cast:[1,7,13,25,54,65,67,73,114,163,188,224,227,288,296],cat:[7,188],categori:[234,243,296],categorysupport:299,caught:[1,3,117,168,201,245],caus:[1,17,20,21,43,49,54,83,90,104,122,124,125,130,131,194,216,223,227,253,281,305],cautiou:[274,299],caveat:301,ce_funct:270,cert:[1,7,80,140,188,196,197,200,201,255,294,296],certain:[7,194,212,296],chain:[1,45,168,244,288],chainedconditionalassign:288,chainedconditionalreturn:288,chang:[3,5,7,14,17,25,41,81,209,212,218,219,233,272,273,279,281,288,290,296,299,301,306],chapter:275,charact:[17,42,65,66,67,68,70,135,148,201,216,247,306],characteristickind:306,charsourcerang:306,chart:67,cheap:215,check:[0,1,8,9,10,11,12,13,14,15,17,22,25,37,38,40,41,42,43,44,45,46,48,49,50,51,52,53,55,57,58,59,63,64,65,66,67,69,70,71,72,73,77,80,81,82,83,85,86,87,88,89,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,116,117,118,119,120,121,122,123,124,125,126,127,129,132,135,139,140,141,142,143,145,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,176,177,178,179,180,181,182,183,184,185,186,187,190,191,194,195,196,197,198,200,201,205,207,208,209,210,212,213,214,215,216,218,219,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,241,242,243,245,248,249,252,253,254,255,256,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,285,289,290,291,292,294,295,296,304,306],check_clang_tidi:7,checkcapsonli:113,checkedfunct:82,checker:69,checkfactori:7,checkfunctioncal:43,checkimplicitcast:59,checklist:8,checkopt:[7,296],checkthrowtemporari:201,checktriviallycopyablemov:254,child:[37,38],choic:[7,69],choos:[8,215,256,301],chosen:296,circlearea:275,circumst:305,circumv:212,clang:[0,4,6,15,18,71,83,114,117,119,135,215,230,242,281,298,299,301,302,303,304,305,306],clang_enable_static_analyz:7,clang_include_fixer_increment_num:3,clang_include_fixer_jump_to_includ:3,clang_include_fixer_maximum_suggested_head:3,clang_include_fixer_path:3,clang_include_fixer_query_mod:3,clangd:[8,297,299,300,304],clangdfilestatu:299,clangtidi:7,clangtidycheck:7,clangtidycheckfactori:7,clangtidycontext:7,clangtidymain:7,clangtidymodul:7,clangtidymoduleregistri:7,clangtidyopt:7,clangtidytest:7,clarifi:168,clash:234,class_const:270,class_memb:270,classcas:270,classconstantcas:270,classconstantprefix:270,classconstantsuffix:270,classmembercas:270,classmemberprefix:270,classmembersuffix:270,classmethodcas:270,classmethodprefix:270,classmethodsuffix:270,classprefix:270,classsuffix:270,claus:[1,246],clazz:263,clean:[8,275,301],cleaner:45,clear:[82,83,168,272,300],clearer:264,click:306,client:[218,299,301,306],clion:8,clj:207,clock:7,cloexec:[1,188],clone:[1,188],close:[29,30,37,38,191],closest:296,cmake:[3,7,296,301,305,306],cmath:257,cocoa:[240,243],code:[1,2,3,7,8,17,18,19,20,21,25,36,45,49,52,58,59,60,65,70,71,72,75,80,81,83,87,88,90,92,93,94,95,96,97,100,105,113,117,121,123,124,135,143,145,146,147,148,159,162,168,172,191,195,196,197,201,205,208,210,212,215,216,217,218,219,222,223,226,227,230,231,233,234,235,236,240,242,243,260,268,269,270,272,274,275,276,277,281,290,292,296,298,299,301,302,304,305,306],codeact:299,codeactionsinlin:299,codebas:[2,205,210,300],codecheck:8,codingguidelin:243,codingstandard:[190,191],col:306,collaps:[7,60],collect:[7,305],colon:[0,295],color:[168,300],column:[5,276,305],com:[1,112,114,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,136,137,138,233,240,241,243,275],combin:[0,294],come:[1,8,69,218,243,301],comma:[43,48,73,104,135,140,144,188,189,194,232,245,296,306],command:[1,2,3,5,7,8,92,113,296,301,305],comment:[1,2,154,168,188,205,296,300,306],commentboolliter:[1,42],commentcharacterliter:[1,42],commentfloatliter:[1,42],commentintegerliter:[1,42],commentnullptr:[1,42],commentstringliter:[1,42],commentuserdefinedliter:42,commentuserdefiniedliter:1,common:[5,36,45,59,65,66,68,69,71,73,80,208,216,223,244,260,274,275,292,300],commun:[298,301],compact:7,compani:301,compar:[3,10,22,23,42,188,272,273,275,305],comparearrai:65,comparison:[1,73,143,188,272,288,292],compat:[18,19,212],compil:[0,1,2,5,7,8,25,51,60,71,114,129,168,200,205,215,218,228,230,233,234,238,242,250,263,267,272,296,300,301,302,304,305,306],compilationcommand:299,compilationdatabasechang:299,compilationdatabasepath:299,compile_command:[3,7,296,299],compilecommand:299,complain:260,complement:114,complet:[1,56,198,205,231,301,302,305],completli:168,complex:[7,164,210,212,299],complic:[129,243,299],compon:[12,305],compound:[81,245,269],comput:[65,299],concat:188,concaten:[71,188],concept:117,conceptu:[117,240,243],concis:209,concret:133,cond1:276,cond2:276,condit:[1,43,44,45,61,69,72,75,83,117,188,200,223,230,262,272,284,288,305,306],condition:83,conditionrang:306,conditionvalu:306,confid:212,config:[7,296],configur:[8,82,104,115,270,274,275,296,299,301],conflict:[19,243],conform:[270,298],confus:[51,82,306],confusingli:306,consecut:[1,45],consid:[7,22,47,51,60,64,66,70,71,83,94,113,117,129,143,212,219,223,227,230,246,247,253,274,284,294,296,305],consider:299,consir:247,consist:[72,273,274,276,305],consol:7,const_cast:[121,122,223],const_iter:223,const_paramet:270,const_ptr:274,const_reverse_iter:223,constant:[58,65,69,73,104,114,148,157,188,199,232,239,254,264,270,275,279,288],constantcas:270,constantli:304,constantmembercas:270,constantmemberprefix:270,constantmembersuffix:270,constantparametercas:270,constantparameterprefix:270,constantparametersuffix:270,constantpointerparametercas:270,constantpointerparameterprefix:270,constantpointerparametersuffix:270,constantprefix:270,constantsuffix:270,constcast:121,constexpr:[112,136,194,270],constexpr_vari:270,constexprfunctioncas:270,constexprfunctionprefix:270,constexprfunctionsuffix:270,constexprmethodcas:270,constexprmethodprefix:270,constexprmethodsuffix:270,constexprvariablecas:270,constexprvariableprefix:270,constexprvariablesuffix:270,constmethd:259,constrain:299,constrefer:258,construct:[20,21,47,97,108,113,117,123,174,188,195,215,218,223,227,246,295,296],constructor:[7,48,51,68,80,83,105,123,129,136,163,188,205,213,214,218,220,223,226,227,228,248,254,258,259,267,283,296],consult:299,consum:[1,83,198],contain:[0,1,3,7,13,48,52,70,71,77,80,83,115,119,123,135,144,188,198,216,221,223,227,245,246,251,256,280,299,301,304,306],container_intern:18,containernam:299,containerswithpushback:227,content:[212,240,243,305],context:[7,12,40,54,72,73,215,234,300],contextu:1,continu:[25,188,268,280,305],contribut:[215,304],contributor:298,control:[7,83,104,108,188,242,268,269,294,296,299,300,301],conveni:[7,40,296],convent:[273,296],convers:[1,10,12,15,41,59,65,67,74,94,143,188,212,223,230,235,249,271,288,296],conversionsfrombool:272,conversionstobool:272,convert:[1,10,16,23,25,70,94,114,125,143,188,216,226,227,232,237,270,275],copi:[1,8,45,51,80,97,105,128,129,134,143,188,197,199,212,215,218,221,250,255,256,259,301],copyabl:[46,99,188,248,254,258,259],core:[7,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,275,296],corner:7,correct:[1,3,45,117,127,147,170,176,190,233,272,273,276,292,296,300],correctli:[1,65,117,233,299],correspond:[1,3,7,70,87,88,90,92,93,94,95,96,97,100,105,114,123,129,139,140,141,145,146,147,148,151,154,155,156,157,196,197,205,213,214,215,227,240,241,243,278,296,299,306],correspondig:155,could:[11,13,14,24,45,50,51,63,112,113,117,120,168,223,227,243,252,279,281,300],count:[48,70,81,223,245,251,262,269,273],count_input:273,count_param:270,counter:[100,253,275],counterexampl:146,coupl:301,cours:239,cout:[83,212,275],cover:[70,188,260,289,305],coverag:[0,304],cplusplu:296,cpp:[1,2,3,5,7,80,101,102,140,188,196,201,233,255,273,296,299,306],cppcheck:8,cppcoreguidelin:[1,159,163,166,171,173,176,187,188,198,208,296],cppdepend:8,cppguid:[140,142,143,144,146,151,154,155,156,157,191,278],cpplint:[70,139,140,141,151,154,155,156,278],cpprefer:233,cpu:1,craftsmanship:275,crash:[2,5],creat:[7,8,25,47,48,66,76,80,117,188,233,240,269,270,274,301,305],create1:188,createcustomizenserror:240,createinsert:7,creation:[66,79,213,214,240],creator:8,criteria:212,critic:[123,219],critical_sect:81,cst_expr_method:270,cstr:188,cstyle:[163,188],cstylecast:122,ctor:[51,178,255],ctrl:301,ctype:210,curli:[1,123],current:[2,3,5,7,8,25,59,83,112,117,210,215,234,253,274,289,294,296,299,300,301],cursor:[1,3,5,299,300],custom:[3,7,8,227,231,239,301],custom_except:162,customari:70,cxx:[130,131,133,134,136,137,138],danger:[59,201,208],dangl:[188,276],dark:7,data:[7,36,65,120,194,198,246,253,260,275,279,286,289,306],data_typ:65,databas:[1,2,5,7,296,299],datatyp:239,date:[145,273,296,304],dcl03:[188,200],dcl16:[188,294],dcl21:188,dcl50:188,dcl54:[188,196],dcl58:188,dcl59:[140,188],dcmake_export_compile_command:[296,301],deal:272,dealloc:[115,196],debian:301,debug:[43,113,301,306],debug_:113,debugtyp:306,decai:188,decid:[7,51],decim:294,decl:[7,69,188],declar:[1,2,64,65,71,87,88,96,117,121,130,133,143,144,147,186,188,194,197,198,202,204,206,208,210,212,215,218,222,223,226,228,229,242,253,256,258,259,261,269,278,279,301,306],decltyp:[137,234],decreas:45,decrement:87,dedic:212,deduc:[24,60,139,223,296],deduct:[60,117],dedupl:7,deep:250,def:68,default_argu:142,defaultvalu:7,defeat:40,defin:[1,2,3,5,24,42,61,65,80,83,88,113,114,123,129,138,175,194,196,223,230,232,236,239,255,256,262,270,274,284,305],definit:[1,2,5,7,50,64,88,117,123,129,188,191,202,220,273,299,301,302,305,306],degener:168,delai:188,deleg:[79,178],delet:[51,80,81,89,117,129,188,202,212,231,234],delete_own:117,deliber:[54,272],delimit:188,demo:300,demonstr:[117,301,302],depend:[0,7,23,65,77,188,199,260,272,292,300,305,306],depr:210,deprec:[188,218,231,236,241],dequ:[83,223,227,253],deref:188,derefer:[188,197,212],dereferenc:[83,238],deriv:[1,76,84,125,128,198,215,227,295,306],describ:[0,1,7,147,223,270,296,304,306],descript:[0,7,51,296,306],descriptor:[26,27,31,32,34,35,37,38,39],design:242,desir:[3,5,70,140,144,189,194,296],despit:[41,201],destin:[70,114,294],destroi:47,destructor:[48,81,126,129,231,233,248,259],detail:[1,3,7,8,18,51,128,210,275],detect:[1,37,42,45,47,58,59,61,62,69,73,75,77,83,94,199,201,211,234,241,253,254,270,272,274,275,284,294,305],detect_mismatch:306,determin:[0,72,201,212,275,299],determinethenumb:168,develop:[2,5,7,83,195,240,243,246,279,300,304],devic:219,diag:[7,306],diagnos:[21,40,69,104,108,117,130,168,195,198,208,222,233,235,246,274,275,294,296],diagnost:[1,7,8,58,119,205,212,246,274,294,300,301,304],dialect:272,dianost:306,did:[62,64,84,178,233],didchang:299,didn:296,differ:[0,1,3,7,8,10,11,14,23,43,65,69,81,151,205,212,234,260,269,270,273,281,294,301,305],difficult:7,direct:[1,3,7,123,141,144,215,218,223,246,274,284,300,305,306],directli:[5,11,48,212,215,223,273,288,304],directori:[0,2,3,296,299,301,305],disabl:[1,43,51,149,168,215,231,275,296,300,301,306],disabled_:149,disallow:[104,130,131,133,134,135,136,137,138,195,295],disallowedseedtyp:104,disappear:299,discard:128,disciplin:[126,127],discov:168,discover:7,discuss:298,disjoint:69,dispatch:260,displai:[0,2,5,7,296,299,305,306],dist:219,distanc:42,distinct:7,distinguish:194,distribut:301,divid:65,divis:[14,16,188],dmy_defin:[5,296],do_incr:61,do_some_oper:108,do_someth:45,doc:[7,130,131,133,134,136,137,138,190,191,230,242,243,296,304],documen:2,document:[1,6,7,223,240,242,243,296,297,299,300,305,306],doe:[0,3,7,12,19,21,42,45,72,83,92,94,112,114,117,147,149,195,196,212,235,239,245,246,250,263,274,279,293,295,296,299,301,305],doesn:[5,41,46,64,81,117,129,205,210,218,223,227,296,300,301,305],doing:[23,68,72,274,289],domain:[1,9,10,15,23,24,26,27,29,31,34,35,36,37,38,39],don:[0,1,46,210,246,265,296,301],done:[1,7,12,71,201,218,227],dont:128,dosometh:77,doubl:[10,11,12,13,15,16,42,53,54,59,65,114,137,226,238,257,275,288,296],double_express:53,double_typ:65,down:194,downcast:[122,163,188],download:[1,301],doxygen:[2,306],drive:168,driver:[0,1],dropdown:301,dsec1:12,dsec2:12,dsec:12,dst:65,due:[25,52,56,199,207,212,241,272,274,292,301],dump:[2,7,296],dup:188,duplic:[220,305],durat:[1,24,123,188],dure:[1,8,10,123,212,240],dusing_a:7,dusing_b:7,dyn:[1,188],dyn_cast:[1,192,223],dynam:[117,136,231],dynamic_cast:[125,223],e_file_not_found:275,each:[0,7,115,212,248,254,259,274,275,296,304,305,306],eagerli:299,eap:8,earli:[2,5,268,292],early_exit:108,eas:113,easi:[7,83,120],easier:[5,235,246,264,268,279,296,301],easiest:250,easili:[5,7,65,115,273],eclips:8,edit:[1,5,8,299,300,301],editor:[1,5,296,299,300,302,304],editsnearcursor:1,effect:[7,45,51,75,188,210,221,227,254,266,274,279,296],effici:[5,13,17,200,227,247,252,264],eglot:301,either:[0,1,3,5,7,12,24,40,63,72,80,117,119,129,205,208,246,305,306],elem:212,element:[52,65,69,82,140,144,189,194,212,227,251,253,289],elif:305,elimin:288,els:[1,45,82,83,94,168,188,262,274,276,288],elsewher:[212,219],emac:[8,301,304],emacs24:8,emb:300,embed:[1,188,216,275],emit:[3,83,168,208,238,274,296,299],emplac:188,emplace_back:[83,227,253],emploi:[8,248,259],empti:[0,48,66,72,73,82,83,135,140,144,155,157,168,188,189,194,205,222,230,245,248,258,259,287,295,296,305],enabl:[1,3,7,59,129,205,215,228,231,254,275,296,299,300,301,306],enable_if:51,enable_if_t:51,enclos:[0,234,299,305,306],encod:68,encount:[2,5,40,114],end:[0,49,52,60,72,81,188,219,223,251,262,274,280,288,305,306],endif:[274,284],enforc:[114,117,126,127,160,161,162,163,164,167,168,171,173,177,180,181,184,185,187,268,270,273],engin:[8,104],engine1:104,engine2:104,engine3:104,enough:[7,201,227],ensur:[1,3,7,19,38,56,104,117,162,170,242,248,259,270,299,301],enter:[1,81,306],enterfil:306,entir:[7,83],entiti:[65,234,305],entri:245,enumcas:270,enumconst:69,enumconstantcas:270,enumconstantprefix:270,enumconstantsuffix:270,enumer:[69,270,306],enumprefix:270,enumsuffix:270,env33:188,environ:3,epol:188,epoll_cloexec:[30,31],epoll_cr:30,epoll_create1:[30,31],epxr:65,equal:[73,188,225,234,275,292],equival:[12,32,45,65,71,207,211,212,272],eras:188,erenc:[248,258,259],err09:[188,201],err34:188,err52:188,err58:188,err60:188,err61:[188,201],errno:[63,210],erron:[83,212,234],error:[0,1,3,7,45,58,65,66,71,83,94,108,146,168,199,201,218,233,234,235,244,246,296,301,302,305,306],errorhandlingcocoa:240,errorwithdomain:[146,240],es46:114,es63:128,escap:[1,188,216],especi:[7,128,223],etc:[5,7,25,56,67,212,215,296,299,300,301,306],evalu:[1,43,56,65,75,83,188,192,200,256,305],evaluat:200,even:[1,25,45,53,58,83,114,117,121,223,275,296,299,301],eventu:[83,298,300],everi:[3,7,49,108,162,168,210,223,248,258,259,273,274,299],everyth:[117,306],evolv:299,exaclti:272,exactli:[83,114,273,299],examin:[7,45],exampl:[0,2,5,7,9,10,11,12,13,14,15,16,17,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,44,45,47,48,51,52,54,55,58,59,60,61,63,64,65,66,68,69,70,72,76,77,81,83,84,90,104,113,114,117,128,129,130,131,133,134,135,136,137,138,143,145,148,149,188,199,201,203,206,209,215,216,217,218,219,223,226,236,238,239,243,247,250,254,256,257,258,259,261,263,267,270,272,273,275,276,280,283,284,285,287,288,289,290,292,295,296,299,305,306],exce:[59,269],exceed:269,excel:301,except:[1,58,63,64,76,83,96,97,113,134,137,159,188,201,227,231,296],exceptionwithnam:146,exchang:117,exclud:[0,135,212,263,274,305],exclus:83,exe:216,exec:[26,27,29,30,31,34,35,36,39],execut:[3,7,61,83,92,96,168,245,301],exepath:301,exist:[0,3,5,7,50,113,266,296,305],exit:[72,245,268,296,306],exitfil:306,expand:[1,8,56,81,300,305],expans:[7,305,306],expect:[1,48,49,54,60,63,68,83,117,269,272,276,299],expects_own:117,expens:[48,219,245,248,250,259],expensivetocopi:259,experi:5,experiment:[47,260,300,301],explain:[7,83,212,296],explicit:[1,7,9,13,15,25,51,54,65,67,114,129,136,168,188,218,220,223,272,288,296,306],explicit_constructor:143,explicit_make_pair:139,explicitconstructorcheck:7,explicitli:[0,1,11,13,16,59,73,80,129,135,139,182,183,213,214,227,228,246,272,283,295,296,305],explor:7,expos:[198,300],expr:[188,256],express:[1,7,15,24,53,54,55,56,64,68,83,95,97,100,104,113,114,119,122,130,162,168,188,212,213,214,227,234,248,258,259,269,272,288,289,290,296,305],extend:[2,5,301],extens:[1,8,140,144,189,194,215,260,296,298,300,301,304,305,306],extern:[0,7,65,112,136,194,208,230,280,281,304,305],extra:[0,2,3,5,6,7,20,21,58,66,73,296,298,300,304,305,306],extract:[0,1,300],extrem:7,f10:194,f_dupfd_cloexec:29,f_t:217,f_textless:222,faa:18,face:7,fact:[72,250,301],factori:[25,117,145,188,240],fail:[40,139,234,244,306],failur:[63,146,188],faithfulli:301,fall:270,fallbackflag:299,fals:[1,7,42,43,45,67,75,80,81,113,117,123,162,194,199,212,224,227,229,231,256,272,275,288,299,306],familiar:[7,277],famou:108,fancyfunct:55,faq:[1,188],faster:[3,20,21,188,292,300],fclose:117,fcntl:29,fd_cloexec:32,fdelai:215,fdivdur:[12,16],featur:[1,2,5,8,71,130,131,133,134,136,137,138,298,299,301,302,304],feed:216,feedback:299,feel:301,fenv:210,few:[7,236,275],fewer:1,field:[80,123,215,227,259,306],file1:296,file2:296,file:[0,1,2,3,5,7,8,26,27,29,31,34,35,36,37,38,39,48,72,117,119,135,140,144,146,147,148,189,194,197,207,208,216,243,245,273,275,281,296,300,301,305,306],filechangereason:306,filecheck:7,fileentri:306,fileid:306,filenam:[2,5,7,36,135,140,144,189,194,296,306],filenamerang:306,filenametok:306,filenotfound:275,filestatu:299,filesystem:296,filetyp:306,fill:[66,70,300],fill_valu:70,filter:[1,7,77,113,296],finalspel:[1,233],find:[1,3,7,15,16,17,24,25,41,43,46,48,54,56,58,64,65,66,67,68,70,72,73,74,78,79,80,81,113,129,140,141,145,146,147,148,151,154,155,156,175,178,188,189,192,194,198,201,202,203,204,205,206,207,208,213,214,217,219,224,240,241,242,243,244,246,248,251,253,257,258,260,265,272,273,278,279,281,282,283,284,285,286,287,291,292,296,301,306],find_all_symbols_db:3,finder:7,fine:[7,263,267,294],fio38:[188,197],fire:227,first:[1,3,7,15,24,45,52,59,61,65,68,72,80,83,117,122,212,219,223,273,296,301,305],fit:188,five:129,fix:[0,1,3,5,7,8,10,11,13,15,16,22,23,24,25,40,42,45,46,50,58,60,62,63,115,119,123,125,135,148,149,151,172,189,205,208,217,219,222,230,231,236,243,247,254,263,270,272,273,281,291,294,296,301,305],fixer:304,fixit:301,fixithint:7,fixm:245,flag:[1,7,21,26,27,29,31,34,35,36,37,38,39,49,69,83,87,88,92,94,95,96,97,100,104,112,113,114,118,119,120,121,122,123,124,125,126,127,128,129,144,168,196,197,201,212,215,227,255,256,259,269,295,296,299,300,301],float_typ:65,floatfunc:54,flow:[7,83,108,117,188,268],flowsensit:117,flp30:188,flrag:201,fluent:301,fly:8,flycheck:8,fno:215,fold:[188,300],follow:[0,1,2,3,5,7,8,16,18,45,48,49,51,52,54,65,67,69,70,71,73,82,83,114,115,117,122,129,141,147,148,163,168,191,195,212,215,216,222,223,230,234,235,236,239,241,243,248,253,259,264,268,270,272,277,278,280,284,288,290,295,296,298,299,300,301,305,306],foo1:[5,276],foo2:[5,276],foo:[3,5,7,18,42,60,62,70,104,130,131,133,141,145,178,192,194,203,208,212,215,220,223,231,252,258,263,268,270,272,273,283,284,285,290,292,295,296,301],foo_n:270,foobar:231,fool:65,fopen:[117,188],forbid:145,forbidden:[141,172,188],forbiddensuperclassnam:242,forc:[5,7,246],forget:[59,71,83],forgot:[69,272],fork:[26,27,29,31,34,35,36,39],form:[0,7,42,163,210,216,275,305,306],formal:296,format:[1,3,7,8,42,114,223,243,296,304,305],formatstyl:296,former:114,forward:[7,108,117,188],forward_list:[83,223],found:[1,5,7,50,147,219,236,294,296,299,301,305,306],fraction:[12,13],fragil:[120,126,127],framework:[2,81,296],free:[114,115,117,193,196,207],freez:77,freopen:117,frequent:[7,223],friend:[18,247],friend_test:149,from:[0,1,2,5,7,8,11,15,24,41,44,47,52,54,55,60,66,69,72,76,81,83,84,87,93,105,108,112,114,126,133,141,146,148,151,165,194,210,216,218,223,227,233,236,242,252,257,260,262,269,270,272,275,281,294,296,298,300,301,304,305,306],fromunixsecond:[23,24],front:[0,305,306],fubo:5,fuchsia:[1,140,188,296],full:[0,7,19,194,234,243,301],fulli:[5,115,117,168,295,301],func:[84,94,212,295],funcion:48,funciton:257,function_declarations_and_definit:278,function_that_returns_own:117,functioncas:270,functiondecl:7,functionprefix:270,functionsthatshouldnotthrow:48,functionsuffix:270,functiontakingbool:272,functiontakingint:272,functor:[21,188],funk:84,funtion:82,further:[7,299],furthermor:[83,115,117,168,264,274],futur:[1,2,5,83,227,264,299],fuzzi:301,gap:305,gather:7,gcc:[1,230,306],gen:300,gener:[0,1,2,3,5,7,50,51,71,103,104,117,119,123,126,127,151,193,215,219,223,231,233,264,270,272,273,296,301,304,306],genuin:103,get:[0,3,5,55,65,70,117,120,126,127,188,227,279,296,299,302,304,306],get_add_on:137,get_cwd:215,get_i:136,get_ptr:218,get_ref:218,get_str:215,get_typ:65,get_valu:218,getansw:275,getfoo:272,getinfo:223,getint:65,getloc:7,getmessag:65,getnam:7,getnodea:7,getter:300,getvalu:117,getvector:212,github:[1,112,114,118,119,120,121,122,123,124,125,126,127,128,129,140,142,143,144,146,147,148,151,154,155,156,157,191,278],give:[5,17,69,148,213,214,224,228,237,281,292,305,306],given:[0,3,48,65,130,135,142,207,234,270,275,288,294,295,306],glibc:40,glob:[135,296,306],global3:270,global:[83,136,188,210,270,274,301,305],global_funct:270,global_mutex:81,globalconstantcas:270,globalconstantpointercas:270,globalconstantpointerprefix:270,globalconstantpointersuffix:270,globalconstantprefix:270,globalconstantsuffix:270,globalfunctioncas:270,globalfunctionprefix:270,globalfunctionsuffix:270,globalpointercas:270,globalpointerprefix:270,globalpointersuffix:270,globalvariablecas:270,globalvariableprefix:270,globalvariablesuffix:270,gmystr:148,gnu:269,good:[0,7,12,45,69,103,117,202,246,261,298],good_child1:133,googl:[1,7,22,91,119,132,163,188,191,213,214,215,218,255,259,262,269,278,296],googlemoduletest:7,googlesourc:[130,131,133,134,136,137,138],googletest:[1,188],googletidymodul:7,gracefulli:[80,299],grain:294,grand:62,greater:[65,66,73,235],greatli:[1,252],green:168,greet:83,grep:5,group:[7,296,299],gsl:[117,119,223],gslheader:119,guarante:[83,210,235,264],guard:[1,51,188,276,306],gui:8,guid:[1,141,144,145,146,147,148,154,155,157,243,278,304],guidelin:[18,19,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,159,270,275,296],hack:7,had:126,hagen:275,half:69,hand:[69,83,301],handbook:275,handl:[1,3,45,80,94,96,115,117,188,201,207,215,223],handleclass:47,handlemacroexpandedidentifi:306,handwritten:108,happen:[5,49,63,73,83,128,201,215,250,254,273,274],hard:[207,299],harder:[45,276],has:[1,6,7,8,45,56,60,65,76,77,80,83,84,100,119,136,191,205,212,219,225,229,233,249,254,259,261,264,266,271,276,277,281,288,294,296,301,305,306],hashloc:306,have:[0,1,2,4,5,7,32,40,45,46,56,64,69,72,75,77,80,83,87,93,105,114,117,119,123,137,147,168,170,176,191,196,210,211,212,215,223,230,246,248,254,255,259,262,281,296,299,300,301,303,305,306],haven:301,head:306,header1:[0,305],header2:[0,305],header3:[0,305],header4:305,header:[0,1,3,7,135,140,188,208,213,214,218,251,273,281,296,300,305,306],headerfileextens:[140,144,189,194],headerfilterregex:296,heap_int:117,heavi:[81,117,269],hello:[22,42,60,65,83,148,216],help:[1,2,5,233,268,272,273,276,296],helper:201,henc:7,herb:275,here:[1,6,7,25,45,69,71,72,80,117,140,147,168,191,196,197,198,200,201,208,212,216,219,254,255,262,269,275,279,294,300,301,302,305],heurist:[81,248,259,299],hexadecim:[68,216,294],hicpp:[188,208,294,296],hidden:[2,5,65,215,296],hide:[51,205,272,276,300],hierachi:1,hierarchi:[300,305],high:[108,159,162,168,172,175,275,296,306],higher:[219,227,235,237],highli:5,highlight:[1,230,300,301],hint:[7,115,231,272,273,294,300],his:148,hit:[1,301],hoc:306,hold:[168,215],holder:[0,306],homebrew:301,hood:301,hook:301,horizont:216,hour:[14,16,25],hover:[1,300,301],how:[2,5,7,215,268,272,296,299,301,304,305,306],howev:[5,60,77,87,93,105,143,148,208,223,281,296,301],howtosetuptoolingforllvm:296,hpp:[140,144,189,194,273],html:[140,142,143,144,146,147,148,151,154,155,156,157,190,191,230,240,242,243,278,296],http:[1,6,18,112,114,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,136,137,138,140,142,143,144,146,147,148,151,154,155,156,157,190,191,230,233,240,241,242,243,275,278,296,306],human:[205,299],hxx:[140,144,189,194],idea:[2,5,7],ideal:3,iden:45,ident:[7,45,235,278],identifi:[1,3,5,188,212,299,306],identifierinfo:306,idiom:215,idomat:201,ieee754:114,ifconfigur:274,ifdef:[284,305],ifloc:306,ifndef:[284,305],ignor:[0,1,5,42,58,65,77,81,82,113,149,192,194,198,202,205,208,212,223,227,230,269,272,275,296,305],ignoreallfloatingpointvalu:275,ignorearrai:123,ignoreclasseswithallmembervariablesbeingpubl:198,ignorecommandlinemacro:113,ignoredestructor:233,ignoredexcept:[48,245],ignoredfloatingpointvalu:275,ignoredintegervalu:275,ignoreimplicitconstructor:227,ignoremacro:[213,214,224,226,228,229,237,273,281,285,294],ignorepowersof2integervalu:275,ignorepublicmembervari:198,illegal_testcasenam:149,illegal_testnam:149,illustr:[215,268],immedi:289,impair:223,imped:216,implement:[1,2,3,7,18,45,48,83,87,108,114,117,141,145,159,163,165,166,169,170,175,178,182,183,186,196,219,223,229,233,234,251,260,264,278,298,300,302],impli:[72,194,288],implicit:[65,73,74,143,188,212,257,288,296],implicitli:[25,67,73,143,194,196,227,305],importloc:306,improp:240,improt:210,improv:[5,117,223,272,275,299],imy_project:[5,296],in_cloexec:[33,34],in_nonblock:34,inaccur:188,inappropri:52,inc:305,incld:270,includ:[0,1,5,7,8,18,22,27,31,32,34,35,36,39,66,94,119,140,149,188,189,194,212,213,214,215,218,234,242,255,259,288,296,298,301,304,305,306],includedefaultacronym:1,includeinextern:305,includestyl:[22,119,213,214,215,218,255,259],includetok:306,inclus:[305,306],incompat:65,inconsist:[188,305],incorpor:8,incorrect:[7,40,73,117,188,212,292],incorrectli:[40,45,71],increas:[43,212,246,274],increment:[3,72,87,301],increment_two:61,inde:45,indent:[1,45,72,188,191,268,274,300],indentwidth:296,indetermin:60,index:[1,188,299,300,304],index_fil:301,indic:[1,10,23,50,72,82,146,275,306],indici:233,indirectli:48,individu:[83,149],induct:100,ineffect:59,ineffici:188,inequ:292,infer:[9,15,148],infinit:77,info:[7,227],inform:[1,2,3,5,7,12,18,19,24,82,85,86,89,91,93,98,99,101,102,105,106,107,108,109,110,111,116,117,132,150,152,153,158,160,161,167,171,173,177,179,180,181,184,185,187,207,212,215,233,240,241,272,296,299,300,305,306],infostruct:223,infrastructur:1,inherit:[188,234,295],init1:188,init:[1,105,145,188,215],initi:[1,7,49,69,71,79,96,104,105,112,117,123,136,166,188,205,212,217,219,220,223,226,240,244,255,262,275,283,287,288,296,299],initialis:226,initializationopt:299,initializeobject:65,initializer_list:[143,223],inlin:[7,172,194,208,209,234,269,270,296],inlinenamespac:270,inlinenamespacecas:270,inlinenamespaceprefix:270,inlinenamespacesuffix:270,inner:[215,262,276,284],innermost:305,inotifi:188,inotify_init1:[33,34],inotify_init:33,input:[0,5,7,49,77,275,296,301,305,306],insensit:[273,294],insert:[1,3,123,143,227,234,253],insid:[0,5,7,17,61,178,188,213,214,224,226,227,228,229,237,262,272,273,281,284,285,294,296,301,305],inspect:[7,8,50,296],instal:5,instanc:[1,3,17,59,71,72,162,188,195,196,244,252,265,281,288,305],instanti:[7,104,145,218,272],instead:[1,5,7,8,10,11,13,14,15,21,23,24,58,59,60,62,64,65,66,70,83,87,94,123,145,146,168,198,205,208,212,215,218,227,230,231,233,240,242,244,246,250,252,255,256,264,272,275,279,292,296,299,301,306],instruct:[7,296,298,301,304],instrument:8,insuffici:[7,238],int64:12,int64_t:25,int_arrai:115,int_member_:114,int_ptr:[195,218],int_sz:65,inted:45,integ:[1,9,10,11,12,13,16,23,41,42,53,59,65,66,70,71,73,94,114,119,175,188,191,219,224,264,272,275,288,294,296],integer_typ:155,integr:[7,54,108,159,162,168,175,275,288,294,296,299,301,304],intend:[16,55,64,70,113,128,139,168,178,292,296],intent:[59,65,72,76,83,143,212,244,264],interact:[7,301],interest:[215,298,299],interfac:[5,7,82,188,238,239,242,279,296,306],interface_a:133,interface_b:133,interfer:301,intergr:172,intermedi:[0,2],intern:[14,188,194,219,304,306],interpret:[9,15,54,292,299],interrupt:[40,268],interv:77,interval:69,intfunc:54,intrins:188,introduc:[117,209,214,216,218,223,230,231,233,234,235,275,296,305,306],introduct:[113,260],inttyp:210,intxx:155,invalid:[120,188,244,306],invalu:7,investig:69,invoc:[1,7,241,244,259,305,306],invok:[3,123,244,248,258,259,305],involv:[95,288,296,304],io_stat:211,ios:[188,241],ios_bas:[211,224],iostat:211,ipsum:83,is_posit:147,is_speci:51,isa:[1,188],isa_and_nonnul:192,isangl:306,iserror:146,ishead:305,isn:[82,83,115,139,301],isneg:147,iso646:210,iso8601:7,isocpp:[112,114,118,119,120,121,122,123,124,125,126,127,128,129],isol:188,isposit:147,issu:[2,5,7,8,22,45,51,72,114,117,264,272,273,294,296,299,300],item:[1,51,77,227,275],itempric:275,iter:[52,77,82,83,188,212,248,250],its:[1,7,8,27,31,34,35,39,46,58,65,70,76,87,115,123,126,210,260,273,296,300,305,306],itself:[135,223,256,296,298,305],job:299,json:[3,7,296,299],jump:[3,108,300],just:[7,17,201,212,260,296,301,305,306],justif:[87,93,105],kdev:8,kdevelop:8,keep:[68,82,194,273,274],kei:[3,5,7,296,299,306],kept:[168,294],kernel32:306,kernel:[295,296],keystrok:299,keyword:[65,188,232,233,237,262,263,305],kind:[1,83,117,162,212,219,236,246,253,264,270,274,306],kmessag:65,kmyconststr:148,know:[7,24,72,201,299,301],known:[8,9,15,53,117,188,243,296],label:[45,108,168],lambda:[137,188,207,230,269],land:117,langserv:301,languag:[0,3,7,108,113,123,126,127,215,233,274,296,298,299,300,301,302],languagecli:301,languageserv:1,larg:[1,2,5,48,66,201,245,269,273],largelengththreshold:66,larger:[7,77,207],last:[45,83,126,262],later:[3,8,117,222,301],latest:[1,301],latter:[0,49,293,305],launch:8,launder:82,lead:[42,65,77,82,112,117,120,168,175,194,240],leader:[3,5],leak:[36,37,38,48,82,117,227],leakag:[27,31,34,35,39],least:[59,123,168,301],leav:[81,123,140,144,168,189,194,223],left:[60,83,123,215,216,281],legaci:117,legacyresourceconsum:117,legacyresourceproduc:117,len:300,length:[66,68,70,223],less:[80,194,195,223,227,235],let:[3,7,8,80,299,300,301],letter:243,level1b:306,level2b:306,level3a:305,level:[0,7,212,234,261,263,269,306],lexem:223,lexic:305,lexical_cast:[41,223],lexicograph:292,lhs:137,lib:[301,306],librari:[1,7,117,210,215,218,240,243,257,260,296,305,306],libstdc:1,libtool:[2,5,296],libtorr:113,lies:60,life:301,lift:40,like:[0,7,12,22,36,40,41,45,47,49,51,52,54,55,58,60,63,64,65,68,70,71,79,80,81,83,114,115,117,148,195,212,216,223,227,236,238,247,252,253,265,268,296,299,301,305],limit:[0,1,77,188,210,291,301,305],line:[1,2,3,5,7,8,18,71,72,83,113,115,117,191,212,216,262,269,274,296,300,301,305],linethreshold:269,link:[3,7,12],linkag:194,linker:7,lint:[7,8,296],linter:[7,8,296],list:[0,1,2,3,5,7,8,22,43,47,48,56,71,82,83,104,115,117,123,135,140,144,157,188,189,194,210,215,217,223,227,232,234,242,243,245,247,248,253,258,259,275,289,292,294,295,296,298,301,304,305,306],lit:7,liter:[1,13,17,42,65,66,67,70,71,86,123,127,188,201,222,247,256,272,275,287,296,306],livelock:241,llu:294,llvm:[1,2,3,5,6,22,119,153,188,213,214,215,218,223,230,242,255,259,268,296,298,301,302,305,306],llvmmoduletest:7,llvmnewmod:306,llvmtidymodul:7,load:[3,5],loc:306,local:[1,83,188,210,258,268,270,274,300,301],local_const:270,localconstantcas:270,localconstantpointercas:270,localconstantpointerprefix:270,localconstantpointersuffix:270,localconstantprefix:270,localconstantsuffix:270,localpointercas:270,localpointerprefix:270,localpointersuffix:270,localvariablecas:270,localvariableprefix:270,localvariablesuffix:270,locat:[5,7,8,22,59,151,234,296,299,305,306],lock:81,log:[212,301],log_stderr:301,logic:[65,73,168],longer:[1,25,45,210,212,219,272],longjmp:[95,245],look:[1,3,7,12,14,40,51,63,72,74,79,81,192,193,216,236,280,288,296,298,300,301,305],lookup:[3,234,294],loop:[1,72,75,83,100,108,188,223,248,253,262,274,275,280],loop_start:108,loos:117,lorem:83,loss:[49,54,59,272],lossi:[25,114],lost:[82,117],lot:[1,299],low:7,lower:[26,27,29,31,34,35,36,37,38,39,73,212,243],lower_cas:270,lowercamelcas:243,lowercas:243,lsp:[299,300,301],lstrcmp:73,lstrcmpi:73,lvalu:[51,60,83,201,215],m_foo:272,m_pi:275,maco:301,macro1:236,macro2:236,macro:[1,7,40,43,65,81,149,188,213,214,224,226,228,229,230,231,232,233,237,269,272,273,274,281,285,294,305,306],macroarg:306,macrodirect:306,macronametok:306,made:[1,54,87,115,137,265,272,294],magic:188,magicnumb:275,magnitud:77,magnitudebitsupperlimit:[1,77],mai:[1,7,15,18,19,23,48,56,60,65,71,83,90,96,104,114,123,135,141,149,175,199,205,212,215,218,227,245,253,264,269,272,276,296,299,300,301,306],mail:298,main:[7,48,77,96,208,236,296,299,306],maintain:[223,230,231,233,235],major:[1,3,40,301],make:[3,7,9,15,20,21,65,72,81,82,83,141,168,188,212,215,218,223,227,246,258,259,264,265,268,272,275,276,279,301,304],make_pair:[139,227],make_shar:213,make_tupl:227,make_uniqu:214,makemytupl:227,makesmartptrfunct:[213,214],makesmartptrfunctionhead:[213,214],makeuniqueresult:18,malloc:[58,117,188],manag:[3,115,215],mandat:114,mani:[7,83,215,260,270,275,279,299,300,301,302],manipul:[68,103,188],mantissa:114,manual:[3,115,215,250,281,304],map:[0,2,83,223,235,250,253,304,306],map_error:306,map_fat:306,map_ignor:306,map_iter:223,map_warn:306,maplead:[3,5],mark:[0,37,38,48,83,114,143,163,174,212,229,230,231,233,256,265,267],markdown:1,martin:275,master:[112,114,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,136,137,138],match:[0,1,3,7,22,42,51,192,212,218,223,226,239,248,250,258,259,264,273,295,296,301,306],matcheddecl:7,matcher:7,matchfind:7,matchresult:7,math:[188,210],mathemat:103,mathematical_error:162,matter:60,max:201,maxconcatenatedtoken:71,maximum:[3,71,201],maxsiz:[1,201],maxsplit:17,md_defin:306,md_undefin:306,md_visibl:306,mean:[7,8,12,60,62,64,72,77,82,83,84,114,122,215,223,230,245,248,250,259,262,281,296],meaningoflif:42,meant:[72,79,197,257],measur:305,mechan:[296,305],member1:306,member2:306,member:[1,43,62,83,105,126,128,182,183,188,194,207,211,212,228,229,230,234,252,255,270,272,274,288,290,306],member_method:270,member_vari:270,membercas:270,memberfunct:270,memberinit:123,memberprefix:270,membersuffix:270,memcmp:[65,73],memcpi:[65,78],memfd:188,memfd_creat:35,memicmp:73,memmov:78,memori:[2,58,70,115,123,188,213,214,227,253],memory_intern:18,memset:[65,78,188],mention:[18,300],messag:[0,1,7,83,114,148,238,239,240,243,274,296,305,306],method:[1,7,22,52,62,64,80,84,123,130,131,142,145,221,227,240,247,248,251,258,259,264,265,270,285,292,300],methodcas:270,methodprefix:270,methodsuffix:270,metric:269,meyer:[51,227],mfd_allow_s:35,mfd_cloexec:35,micro:260,microsecond:10,microsoft:[1,215,301],might:[0,2,5,10,16,49,104,114,117,147,168,194,227,228,234,265,279,300,305,306],migrat:[218,260],millisecond:[14,25],minconfid:188,minim:[7,262],minimum:[71,212],mintypenamelength:223,minut:[14,25],misc:[1,7,85,89,93,98,99,110,116,170,174,177,188,296],miscellan:1,mislead:[128,188,195,279],mismatch:[49,188,270,276],misplac:[178,188],miss:[3,46,56,128,168,188,267,276,300,301,306],mistak:[65,66,68,70,71,73,279,292],mistaken:195,misunderstood:82,misus:[65,69,296],mix:[276,277,306],mode:[3,28,32,108,139,296,301,305],model:[8,245],modern:[1,4,7,51,107,108,111,158,161,180,181,182,183,184,185,186,188,296,303],modif:[87,90,218,265,279],modifi:[7,87,90,121,209,212,215,218,227,288,305],modul:[0,1,4,7,303,304,306],modular:[296,304],moduleidpath:306,modulemap:305,moment:284,month:275,months_in_a_year:275,moo:193,more:[1,2,3,5,7,12,13,17,18,19,72,77,83,85,86,89,91,93,98,99,101,102,105,106,107,108,109,110,111,114,116,132,150,152,153,158,160,161,163,167,168,171,173,177,179,180,181,184,185,187,191,200,205,209,210,212,215,221,223,227,228,233,247,252,264,265,270,274,279,296,299,301,302,305],most:[3,7,8,48,64,65,69,72,79,212,273,299,301,306],mostli:[7,117],motiv:[260,296],move:[1,4,6,48,51,72,80,105,117,129,134,143,188,201,202,203,215,218,228,259,281,296,297,300,303],moveconstructor:[174,188],mozilla:296,mpi:[7,188,296],mpi_char:[238,239],mpi_comm_world:[238,239],mpi_send:[238,239],mpi_short:238,msc30:188,msc32:[104,188],msc50:[101,188],msc51:[102,188],mt19937:[104,219],much:[218,301],multi:[5,223],multidimension:238,multimap:[83,223],multipl:[2,3,5,7,14,15,71,83,164,188,194,223,253,260,273,274,281,305],multipli:65,multiset:[83,223],multiwai:188,must:[0,1,7,24,52,80,97,117,202,230,273,295,296,300,301,306],mutabl:230,mutat:87,mutual:83,my_constmember_str:270,my_contain:223,my_fil:117,my_first_point:223,my_function_str:270,my_map:250,my_method_str:270,my_nice_typ:274,my_nul:232,my_param:223,my_point:223,my_ptr:[213,214],my_second_point:223,my_struct_typ:270,my_structur:270,mycheck:7,myclass:[114,227],myconst:270,myconst_arrai:270,myconstantglobalpoint:270,myconstglobal_arrai:270,myconststatic_arrai:270,myconststr:148,myfunctor:235,myint:270,mylist:223,mymap:223,mymodul:7,mymoduleanchordestin:7,mymoduleanchorsourc:7,mypair:[213,214],myproject:301,myptrtyp:237,mystatic_arrai:270,mystr:148,mytupl:227,mytyp:235,myvari:270,myvec:223,name:[0,1,3,5,7,22,35,42,43,47,48,50,62,65,70,73,76,84,104,113,115,117,119,139,140,141,148,151,156,157,188,201,205,213,214,223,227,232,234,242,243,245,247,248,253,258,259,274,275,295,296,299,305,306],nameloc:306,namespac:[0,3,5,7,18,64,90,91,117,144,188,194,204,206,210,223,236,260,270,295,299,305,306],namespacecas:270,namespaceprefix:270,namespacesuffix:270,namingbas:243,namingivarsandtyp:243,narrow:188,narrow_cast:223,nativ:8,natur:[7,45],navig:1,necessari:[7,215,218,274],need:[0,3,7,8,17,25,80,108,123,148,219,230,233,235,243,256,275,281,296,301,305],needl:247,needlessli:220,neg:[1,53,63,201,275,292,296],negat:[272,288],neither:275,neon:260,neovim:301,nest:[15,72,108,188,269,284,305],nestingthreshold:269,net:306,never:[1,44,55,63,206],new_own:117,newer:299,newli:[117,212],newlin:[0,216],newnam:5,newsuffix:294,next:[7,269,276,296],ninja:[3,7],nline:216,no_discard:230,node:[1,7],nodiscard:188,noexcept:[48,162,188,234],noisi:[168,301],nolint:[212,296],nolintnextlin:296,non:[0,1,13,43,48,51,59,63,65,66,69,73,80,83,99,112,114,117,123,136,148,157,188,194,196,211,212,213,214,215,218,223,224,226,227,228,229,230,231,233,235,237,248,254,258,259,260,265,272,273,281,285,288,294,295],nonatom:243,none:[1,188,296],nonexist:5,nonfil:306,nonown:117,nontrivi:126,noproblemsassist:305,nor:[149,230,275],noremap:3,noreturn:230,normal:[0,3,281,305],notat:275,note:[0,3,5,7,11,15,16,25,45,69,83,112,117,122,129,135,140,144,188,189,194,210,221,263,269,274,276,295,296,301,304,305,306],noth:[51,68,168],nothrow:97,notic:45,notif:299,now:[1,7,55,144,145,168,194,207,208,215,227],nsdate:145,nserror:[146,188],nsexcept:146,nshashtabl:242,nsmaptabl:242,nsobject:[1,188,244],nspointerarrai:242,nspointerfunct:242,nsstring:148,nstimer:242,nuisanc:3,nul:188,nullmacro:232,nullptr:[42,80,117,188,270,272,274,285,288,293],num_of_end_cal:212,number:[3,43,53,65,69,71,81,94,103,104,114,154,168,188,191,262,269,292,306],numbyt:65,numel:65,numer:[1,16,24,67],numeric_limit:201,o_cloexec:[1,28,36,37,38],o_creat:28,o_nonblock:38,o_rdwr:36,o_trunc:28,o_wronli:28,obj:212,objc:[1,7,188,296],objc_subclassing_restrict:242,objcguid:[146,147,148],objcmoduletest:7,objctidymodul:7,object:[1,7,12,65,76,77,78,79,80,81,83,87,96,97,99,112,115,120,128,143,145,146,147,148,165,178,188,201,207,213,214,215,234,240,242,243,244,260,288,296,299,305],obscur:223,obtain:[248,258,289],obviou:[114,216,246],occur:[15,23,65,83,117],occurr:[68,83,219,236,272],octal:216,odr:194,off:296,offer:[2,5,17,70,172],offici:[299,301],offset:[1,5,71],often:[40,53,82,195,201,273],okai:295,old:301,older:[113,123,210],oldfd:29,oldnam:5,omit:[2,45,276],omp:246,onc:[5,7,72,188,215,259],one:[1,3,5,7,8,9,12,15,52,58,69,80,83,123,126,129,199,212,216,223,250,268,270,274,275,276,299,301,305,306],ones:[61,151,210,235,296],onli:[0,1,2,3,5,7,22,25,43,45,47,50,52,59,61,63,65,69,72,80,82,83,108,114,117,120,122,127,129,144,159,188,201,207,210,215,216,218,219,221,222,223,226,227,229,231,232,234,243,247,248,252,253,258,259,260,274,275,276,279,294,296,298,300,301,304,305,306],oop11:[188,255],oop54:[1,80,188],opaqu:299,open64:36,open:[19,26,27,28,29,31,34,35,39,188,296,299,300,301],open_mod:211,openat:36,opencl:306,openmod:211,openmp:[1,188,296],oper:[1,7,11,16,24,25,42,45,48,49,54,55,56,65,67,69,80,83,87,103,110,114,129,143,163,175,188,196,199,215,218,228,229,231,248,252,256,258,259,260,267,288,289,292,299,306],operand:[24,54,65],operator_overload:156,opportun:[228,265],oppos:5,opposit:288,opt:7,optim:[228,247,260,263,306],option:[1,2,3,5,7,8,77,80,188,229,273,285,296,299,300,301,305],optionmap:7,order:[25,45,56,67,83,112,166,188,230,251,262,270,274,295,296,306],orderedvalu:65,org:[6,190,191,230,242,296,301,306],organ:[7,300],origin:[9,10,11,13,14,15,16,17,23,24,148,212,223,235,244,274,278],osspinlock:241,osspinlocklock:241,osspinlocktri:241,osspinlockunlock:241,other:[0,1,3,7,8,9,15,40,46,48,61,75,83,94,108,129,134,135,140,144,159,163,168,189,192,194,212,215,223,226,227,229,230,231,242,243,246,267,272,273,274,296,299,300,301,305],otherwis:[29,42,45,59,137,168,210,218,223,240,256,260,296,306],our:[7,212],out:[0,1,3,5,7,40,70,77,83,108,119,205,212,245,260,296,301,304,305,306],outer:284,outlin:[212,300],output:[0,2,7,8,55,83,216,234,296,301,304,305],outsid:[201,212,296,299,300],over:[7,212,281,296,299],overflow:49,overhead:252,overlai:296,overlap:15,overload:[1,13,17,41,52,87,89,156,170,188,247],overrid:[1,7,62,84,111,128,133,145,188,296],overridden:[7,62,233,275,306],overriden:233,overridespel:[1,233],overview:296,overwrit:5,own:[7,148,188,243,296],owned_object:117,ownedint:117,ownedobject:117,ownedvalu:117,owner1:117,owner2:117,owner:117,ownership:[117,218],p0214:260,p0_0:246,p0_1:246,p0_2:246,pack:270,packag:301,page:[297,298,304],pair:[5,188,196,227,239,250,284],panel:301,paper:108,paragraph:216,parallel:[246,260],param:[188,272,295,296],paramet:[1,7,42,46,48,51,58,65,66,83,131,157,188,201,208,215,230,234,257,259,261,269,270,299,300,301,306],parameter_1:270,parameter_nam:42,parametercas:270,parameternam:42,parameterpackcas:270,parameterpackprefix:270,parameterpacksuffix:270,parameterprefix:270,parametersuffix:270,parameterthreshold:269,parent:[3,188,296,301],parentfil:306,parenthes:[58,65,188,288,296,306],parenthesi:296,pars:[2,3,8,188,305],parser:305,part:[1,7,51,54,77,112,114,118,119,120,121,122,123,124,125,126,127,129,159,163,165,212,215,223,274,276,300,302],parti:218,partial:[7,178,305],particular:[3,7,8,15,83,296,299],particularli:[1,7],pascal:147,pass:[0,1,7,8,20,25,51,60,68,83,126,127,146,188,197,227,230,238,239,247,254,259,279,295,296,300,301],past:[45,199],patch:[298,306],path:[0,1,2,3,5,7,25,28,188,215,216,296,299,301,305,306],pattern:[1,7,53,70,80,83,147,148,192,218,243,300],pedanticmod:114,peopl:279,per:[7,245,274,296,299,301],perfect:51,perfectli:7,perform:[1,5,7,8,9,11,15,22,24,94,105,122,123,167,188,201,212,215,219,272,296,300,305],perhap:305,permiss:205,person:51,phabric:7,phase:71,physic:216,pick:3,piec:[17,234,260,268],pik___pragma:306,pik__pragma:306,pik_hashpragma:306,pipe2:[1,37,188],pipe:[1,188],pipefd:[37,38],pitfal:7,place:[0,40,42,59,60,71,83,163,205,219,272,274,298,300,301,305,306],placehold:296,placement:196,plan:5,platform:[1,301],pleas:[1,2,5,85,86,89,91,93,98,99,101,102,105,106,107,109,110,111,116,132,150,152,153,158,160,161,167,171,173,177,179,180,181,184,185,187,268,269,274,298,304,305],plu:306,plug:7,plugin:[8,302],pmk_error:306,pmk_messag:306,pmk_warn:306,point:[3,5,10,12,13,16,25,41,49,50,54,65,80,100,114,188,218,260,272,275,279,294,296,301,305],pointe:[65,195,223],pointer:[1,58,65,70,80,82,83,92,117,123,128,171,188,192,195,197,201,218,223,226,227,230,232,234,238,239,263,270,272,274,279,282,285,288,293,306],pointerparametercas:270,pointerparameterprefix:270,pointerparametersuffix:270,polici:298,pollut:[141,144],polymorph:128,poor:[219,301],poorli:305,pop:306,popen:92,popular:5,port:117,portabl:[172,188,296],posit:[7,43,63,67,80,81,117,123,194,229,275,292,296,306],posix:[1,90,188,197],posix_fadvis:63,posix_memalign:115,posix_openpt:[1,63],possibl:[1,7,8,15,25,48,51,60,65,70,83,122,168,212,223,235,245,246,253,264,268,274,277,279,300],postfix:87,postmat:241,potenti:[3,37,38,50,70,74,76,83,194,208,227,241,272,284],pow:69,power:[7,8,260,275],ppcallback:[7,306],practic:[10,11,23,275],pragma:[246,306],pragmaintroducerkind:306,pragmamessagekind:306,pre:[230,233,272],pre_:270,pre_abstract_class_post:270,pre_ce_function_post:270,pre_class_constant_post:270,pre_class_member_post:270,pre_const_parameter_post:270,pre_constexpr_variable_post:270,pre_count_params_post:270,pre_cst_expr_method_post:270,pre_foo_ns_post:270,pre_foo_post:270,pre_global3_post:270,pre_global_function_post:270,pre_inlinenamespace_post:270,pre_local_constant_post:270,pre_member_function_post:270,pre_member_method_post:270,pre_member_variable_post:270,pre_my_constmember_string_post:270,pre_my_function_string_post:270,pre_my_method_string_post:270,pre_my_struct_type_post:270,pre_myconst_array_post:270,pre_myconstantglobalpointer_post:270,pre_myconstglobal_array_post:270,pre_myconststatic_array_post:270,pre_myint_post:270,pre_mystatic_array_post:270,pre_myvariable_post:270,pre_one_post:270,pre_parameter_post:270,pre_t_post:270,pre_three_post:270,pre_tpl_parameter_post:270,pre_two_post:270,pre_type_parameters_post:270,preambl:1,preced:[0,296],precis:[7,49,54,59,83,275],precisionbit:114,precondit:168,predict:[103,104],prefer:[1,23,145,146,188,235,251,301],prefix:[0,3,7,140,144,147,148,149,155,189,194,243,270,273,296,301,306],prepar:205,prepend:[0,2,5,270,296,305],preprocess:[45,305],preprocessor:[1,7,56,71,188,274,305,306],presenc:[92,216,233],present:[7,201,234,275,283,300,301],preserv:[25,45,235,274],preset:8,press:[3,5,301],pressbutton:42,pretti:301,prevent:[25,80,212,216,234,242,263,279],prevfid:306,previou:[1,87,210,281,299,306],previous:1,principl:301,print:[5,7,212,296,301],printabl:216,printf:55,prior:[5,87,212],priority_queu:223,priu64:71,privat:[0,51,117,136,188,196,202,215,229,267,270,283],privatemembercas:270,privatememberprefix:270,privatemembersuffix:270,privatemethodcas:270,privatemethodprefix:270,privatemethodsuffix:270,privileg:[26,27,29,31,34,35,36,37,38,39],pro:[1,163,166,171,187,188],probabl:[7,64,65,66,69,219,257,301],problem:[0,3,45,53,67,69,80,112,241,276,300,305],problemat:[113,117,162,296],procedur:280,process:[7,8,37,38,296,306],processlin:72,processor:92,produc:[1,43,53,83,103,117,207,218,234,235,275,299,305],profil:[112,114,118,119,120,121,122,123,124,125,126,127,129,296],program:[2,3,5,7,48,108,122,124,125,168,216,243,281,296,301,305],programm:[51,53,54,65,66,71,72,76,82,126,127,244,272,277],prohibit:[1,87,145,295],project:[1,2,3,5,7,8,273,296,300,302,304],promot:188,prompt:[3,19],prone:[83,108,193,235,300],proper:[59,243],properli:[56,104,279],properti:[1,103,188,299],propos:[1,73,149,260,272],protect:[1,80,270],protectedmembercas:270,protectedmemberprefix:270,protectedmembersuffix:270,protectedmethodcas:270,protectedmethodprefix:270,protectedmethodsuffix:270,protocol:[1,104,275,298,300,301,302,304],prototyp:7,provid:[1,3,7,8,13,40,115,123,125,222,231,243,260,272,294,296,299,300,301,305],prvalu:215,pseudo:104,pseudorandom:[103,104],pthread_mutex_t:197,ptr:[188,195,212,213,214,227,231,285],publicli:242,publicmembercas:270,publicmemberprefix:270,publicmembersuffix:270,publicmethodcas:270,publicmethodprefix:270,publicmethodsuffix:270,publishdiagnost:299,pull:1,pupos:306,pure:[117,133,234,301],purpos:[5,40,296],purposefulli:0,push:[1,306],push_back:[47,212,227,253],push_front:227,put:[0,2,5,7,59,72,261,301],pwd:3,pyf:3,qa1908:243,qtcreator:8,qualif:263,qualifi:[3,5,62,115,117,195,234,248,258,259,263,290,291,295],qualifiednam:5,qualiti:[7,219],quantiti:288,queri:[1,7,65],question:83,queue:223,quick:[8,300],quickli:0,quiet:296,quit:[219,301],quot:[216,306],radiu:275,raii:[115,117,188],rais:[72,212],rand:103,random:[66,103,104,188],random_devic:219,random_shuffl:219,randomfunc:219,rang:[49,69,70,72,77,114,188,250,252,253,274,296,306],range_express:253,rank:301,rare:[10,11,16,23],rate:[7,194],rather:[1,7,17,115,168,192,195],ratio:71,ratiothreshold:71,raw:[1,117,188,293],reach:[3,83,306],read:[7,40,108,126,127,207,215,227,235,275,276,296,304,305,306],readabl:[1,7,17,22,45,86,109,160,164,169,179,188,191,216,221,223,226,246,296,299],reader:205,readfil:146,readfilewitherror:146,readlin:72,readnexttoken:72,readonli:215,readwhitespac:72,real:[69,77,201,272,275,296,306],realloc:[58,115,117,253],rearrang:45,reason:[40,45,60,72,146,159,188,277,296,300,301,306],receiv:[3,7,65,219,299],recent:[300,301],recogn:117,recommend:[1,5,7,11,12,26,28,29,30,33,37,56,87,93,105,201,208,212,244,263,268,292,301],record:[123,301],recov:[299,306],recoverypath:306,red:[168,301],redeclar:273,redirect:[80,140,188,191,196,197,198,200,201,208,255,262,269,294],reduc:[1,2,81,221,226,268],redund:[1,7,52,188,195,210,226,288,291],ref:[212,248,250,258,259],refactor:[5,272,273,274,275,281],refactorrenam:301,refer:[1,3,5,18,47,62,83,87,93,98,120,128,188,210,215,218,223,227,230,234,248,254,258,259,260,263,273,275,301,304],referenc:[215,246,305],reference_argu:157,reflect:72,reflow:300,reformat:[1,300],regard:[69,295],regardless:[72,270,306],regener:299,regex:[7,216],registercheck:7,registermatch:7,registerppcallback:7,regress:227,regular:[0,7,113,248,258,259,296,306],reindent:1,reiniti:188,reinterpret:[163,188],reinterpret_cast:[122,124,223],reinterpretcast:124,rel:[0,7,45,296,306],relat:[1,7,94,296,298,299],relatedinform:1,relationship:[129,292],relativepath:306,releas:[25,43,80,82,117,188,301,304],relev:[113,117,128,144,154],reli:[126,127,299,305],remain:[26,27,29,31,34,35,36,39,272],rememb:83,remov:[1,13,16,20,21,52,59,72,82,87,93,105,135,205,210,212,217,223,226,227,231,233,254,263,281,285,288,291,296,306],remove_if:82,removestar:223,renam:[1,7,225,249,271,300,301,304,306],rename_check:7,renamefil:306,repeat:[1,45,188,226,235],repeatedli:40,replac:[1,5,7,17,22,37,38,41,56,70,108,155,188,192,200,203,207,210,211,212,213,214,215,216,220,221,222,223,227,228,231,232,234,236,248,258,259,264,265,272,273,275,288,290,293,294,296,299],replacementstr:[230,231],report:[2,5,7,45,54,94,151,272,296,305],repres:[65,69,71,77,114,275,305,306],represent:[2,53,114,275,306],reproduc:[2,5],request:[2,5],requir:[1,2,3,7,87,93,105,117,159,168,191,207,212,219,227,233,234,235,237,293,299,300,301,305],rerun:3,res:236,reserv:253,reset:[82,83,188,213,214],resharp:8,resid:7,resiz:47,resolut:299,resolv:[7,299],resourc:[48,82,115,117],respect:[0,1,135,259,275,296,300,305],respons:[223,299],rest:[7,149,296],restart:301,restrict:[7,172,188,242],result:[2,7,9,10,11,15,16,17,18,19,20,22,23,24,25,40,47,48,49,56,58,59,65,69,72,73,78,83,87,90,103,117,168,178,195,207,223,227,230,235,244,250,254,272,274,288,299,300,306],result_typ:219,ret:301,ret_ptr:232,retri:188,retriev:[65,299],reus:3,reverse_iter:223,revert:201,review:[7,298],revis:299,rewrit:[1,234],rewritten:[234,252],rhs:[51,80,137],rich:[3,301],richer:1,right:[1,11,42,69,126,127,144,166,207,208,227,300,305,306],risk:[143,212,292],riski:188,robert:275,root:[0,1,3,301,305],round:188,row:305,rst:7,ruin:80,rule:[60,83,88,90,92,94,95,96,97,100,104,112,114,118,119,120,121,122,123,124,125,126,127,129,141,145,146,147,148,155,157,159,160,161,162,163,164,165,166,167,168,169,170,171,173,174,175,176,177,178,180,181,182,183,184,185,186,187,196,197,201,243,270,272,275,278],run:[3,5,8,15,40,103,135,227,235,237,265,296,300,301,306],runnnig:265,runtim:[1,70,73,188,240,296],runtime_error:[76,162],rvalu:[60,83,203,215,227],s_other:83,safe:[118,120,126,127,188,223,227,235,248,258,259,279],safemod:235,safer:[1,83,200,279],safeti:[117,118,119,120,121,122,123,124,125,126,127],sai:305,said:246,same:[0,5,7,17,50,69,76,79,82,83,84,104,117,146,159,196,205,210,219,223,245,256,260,274,276,283,284,295,296,299,301,305,306],sampl:147,satisfi:[223,230],save:[5,7],scalar:306,scale:[5,9,16,188],scanf:94,scc:306,scenario:7,scientif:275,scope:[81,196,230,234,274,300],scoped_lock:81,scott:[51,227],screenshot:300,script:7,seamless:8,search:[3,80,296,299,300,301,304,306],searchpath:306,sec1:12,sec2:12,second:[7,9,10,11,12,13,14,15,16,24,72,80,83,117,208,219,281],section:[1,60,83,113,117,128,144,154,164,175,210,301,306],secur:[36,104,296],see:[0,1,2,3,4,5,7,12,18,19,51,60,80,83,85,86,89,91,93,98,99,101,102,104,105,106,107,109,110,111,112,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,142,143,150,152,153,158,160,161,167,171,173,177,179,180,181,184,185,187,190,205,212,223,230,233,242,279,296,300,301,303,304,305,306],seed:[103,104,219],seed_seq:219,seek_dir:211,seekdir:211,seem:301,seen:[273,300,306],seh:245,select:[3,216,270,300,301,306],self:[1,106,146,188,223,301],selinux:[26,27,29,31,34,35,36,37,38,39],semant:[1,3,83,114,117,212,215,235,300],semi:295,semicolon:[22,47,82,115,117,157,188,227,242,247,248,253,258,259,275],send:299,sens:[65,72,218],sensit:[26,27,29,31,34,35,36,37,38,39,117],sent:[3,299],separ:[0,7,8,22,43,47,48,73,82,104,115,117,135,140,144,157,189,194,227,232,242,245,247,248,253,258,259,275,295,296,306],seq:219,sequenc:[83,103,104,306],serial:2,seriou:276,server:[298,299,300,301,302],set:[0,1,3,5,7,8,29,32,77,80,83,114,119,123,129,201,212,213,214,223,224,226,227,228,229,230,231,232,233,235,237,251,253,260,273,275,281,285,294,296,299,301,305,306],setfoo:272,setjmp:[95,210,245],setter:300,setup:[2,5,7,296,304],setvalu:259,sever:[7,306],sfina:127,share:[188,208,246],shared_ptr:[83,213,227],shift:301,shorter:[45,293],shortnamespacelin:191,shortstatementlin:262,should:[1,3,7,9,10,11,12,15,16,19,21,23,27,31,32,34,35,36,39,47,48,60,65,66,68,87,108,115,117,118,120,138,140,143,144,145,147,148,151,168,189,193,194,198,212,219,223,230,238,240,242,243,251,252,261,262,264,273,276,278,294,295,300,301,305,306],show:[3,8,264,292,296,300],shown:[1,3,7,212,301,306],shrink:188,shrink_to_fit:221,shrinkabl:221,shuffl:188,side:[45,69,71,83,188,274,279],sign:[54,77,114,155,188],signal:210,signatur:[1,84,170,176,188,233,234,238,261,264],signedtypeprefix:155,signifi:[205,233],significantli:[269,276],signitur:84,silenc:[58,83,296],silent:[40,114],simd:188,similar:[3,7,9,25,84,135,151,168,205,218,232,296],similarli:[87,208,212,234,295],simpl:[40,45,63,117,207,301],simpler:293,simpli:[65,72,272,289],simplifi:[65,188,260,272,292],sin:257,sinc:[8,24,115,117,143,208,210,212,215,218,223,236,243,253,272,275,294,304],sinf:257,singl:[1,2,3,5,17,72,120,143,216,219,222,238,245,247,253,272,273,275,289,291],singlelin:216,site:1,situat:[45,83,168,212,215,223,227],size:[7,30,64,65,71,77,123,188,201,208,212,253],size_t:[65,70,201,305],size_typ:264,sizeof:[40,70,115,188,222],sizethreshold:71,skeleton:7,skip:[159,232,239,306],slice:[188,201],slightli:[7,252],slow:[53,299],small:[1,188],smaller:[20,21],smallest:53,smallvectorimpl:306,smart:[227,285,302],smartpoint:[115,227],smartptr:188,snake_cas:300,snapshot:87,snippet:301,sock_cloexec:[26,27,39],sock_nonblock:27,sock_stream:39,socket:188,sockfd:[26,27],softwar:[65,275,304],sole:129,solut:[8,250],solv:[45,72,272],some:[1,3,7,45,46,75,83,123,129,151,168,205,208,210,212,227,230,243,251,264,272,273,296,299,300,301,305,306],some_fil:301,some_funct:274,some_object:117,some_oper:108,some_str:115,some_struct:115,somecondit:274,somedecl:305,someobject:223,someopt:[7,296],someoption1:7,someoption2:7,someth:[18,22,40,55,117,168,231,268,299],sometim:[60,300],sometyp:305,soon:47,sort:[7,292,301],sourc:[0,1,2,3,7,36,48,67,135,216,223,230,231,233,245,275,296,298,299,300,301,304,305,306],source0:[2,5,296],sourceloc:306,sourcen:[2,5,296],sourcerang:306,space:[0,191,223,276],spacesbeforecom:191,span:[118,120],speak:1,spec:231,special:[60,68,182,183,188,194,228,229,243,273,275,305],specif:[0,1,3,5,7,44,72,114,212,223,231,245,270,295,296,299,300,301,306],specifi:[0,1,2,5,7,8,22,66,71,73,77,115,119,137,139,155,191,198,210,213,214,215,218,223,227,230,231,233,238,246,255,259,260,269,295,296,299,305,306],speed:[199,215,227],spell:[5,223],spinlock:188,spot:246,spuriou:301,srand:104,srcmgr:306,sse:260,stabl:299,stack:[115,117,223],stage:[2,3,5],stai:218,stale:[87,299],stand:68,standalon:[8,305,306],standard:[1,7,8,60,83,87,88,90,92,93,94,95,96,97,100,105,114,162,168,172,175,196,197,201,210,215,223,239,260,268,275,296,299,301],star:223,start:[0,7,8,253,296,302,304,306],startswith:[7,188],startup:299,state:[60,80,87,117,123,215,219,230,299,306],state_s:219,stateloc:306,statement:[1,45,68,72,75,81,83,108,114,168,172,188,202,220,245,252,253,266,269,274,276,280,288,292],statementthreshold:269,static_assert:[200,222],static_cast:[11,13,25,67,114,122,125,223,224,272,288],staticconstantcas:270,staticconstantprefix:270,staticconstantsuffix:270,staticfunctiona:205,staticvariablecas:270,staticvariableprefix:270,staticvariablesuffix:270,statist:[103,296],statu:[1,300,301],std:[7,20,21,22,25,41,47,49,51,52,60,64,66,67,68,76,77,80,82,83,90,103,104,115,117,119,162,193,201,203,207,208,211,213,214,215,218,219,223,224,227,235,236,247,251,252,253,254,257,259,260,275,283,286,287,289,292,293,306],std_arrai:64,stdalign:210,stdarg:210,stdbool:210,stddef:210,stderr:[5,7,296,301],stdin_fileno:40,stdint:210,stdio:210,stdlib:[94,210],stdout:[296,306],step:[3,8],still:[0,1,3,7,10,12,23,47,112,117,129,149,212,272,301],sting:201,stl:[64,227,251,256],stop:[299,305],storag:[7,123,136,147],store:[2,5,7,82,196,218,296],storeopt:7,str1:292,str2:[194,292],str:[17,41,58,66,68,83,188,193,194,215,247,306],strai:72,straight:117,stranger:83,strappend:[20,21],strcasecmp:73,strcat:[21,188],strcmp:73,strcmpi:73,streamoff:211,streampo:211,stricmp:73,strict:[7,273,279],strictli:263,strictmod:[42,69,205,252],string:[1,2,5,7,17,20,21,32,42,47,48,58,60,64,65,71,83,94,115,119,135,140,144,155,188,189,193,194,201,210,213,214,215,218,222,223,227,235,245,250,254,255,258,259,261,275,283,289,296,299,301,306],string_view:47,stringcomparelikefunct:73,stringlikeclass:[22,247],stringref:[7,306],strings_intern:18,strlen:188,strncasecmp:73,strncmp:73,strnicmp:73,strnlen:58,strnlen_:58,strong:301,strsplit:188,strtol:94,struct:[18,50,62,64,65,83,84,115,128,129,143,178,194,215,226,228,229,231,234,258,270,274,279,288,290],structcas:270,structprefix:270,structsuffix:270,structur:[1,245,252,274,276,299,300,305,306],studio:[8,301,302],style:[1,2,7,22,88,114,115,119,122,127,141,144,145,146,147,148,151,154,155,157,189,190,208,213,214,215,218,223,227,243,255,259,270,278,296,300],styleguid:[140,142,143,144,146,147,148,151,154,155,156,157,191,278],stylist:234,sub:83,subclass:[1,62,188,244],subcommand:5,subdirectori:[7,296,305],subhead:305,subl:18,sublim:301,submit:[2,5],submodule1:305,submodule2:305,subrang:52,subscript:[119,188],subsect:83,subsequ:[87,299],subset:[8,296],substitut:7,subtl:65,subtract:[1,120,188],succe:40,success:[63,146],sudo:301,suffic:[248,258,259,289,292],suffici:[7,238],suffix:[7,86,155,188,243,248,258,259,270,273,296],suggest:[1,2,5,7,9,10,11,13,14,15,16,17,20,21,22,23,24,37,38,42,46,50,58,60,72,115,123,135,143,148,151,155,168,205,209,219,246,254,258,259,260,265,268,296,300,301],suitabl:[0,7],sum:275,superclass:[1,244],superflu:[13,263],suppli:299,support:[1,3,5,7,8,117,219,227,228,242,270,274,275,294,296,299,301,305],supportedformat:71,suppos:[7,87,117],suppress:[51,67,129,212,243,300,304],sure:[3,201,301],surpris:60,surround:[56,58],suscept:201,suspici:[66,80,188],sutter:[201,275],swap:[1,48,66,70,80,188,221],switchsourcehead:299,symbol:[1,5,210,275,300,301,305,306],symboldetail:299,symbolinfo:299,symlink:[7,301],sync:273,sync_with_stdio:224,synchron:82,syntact:276,syntast:8,syntax:[0,1,8,209,230,277,296,300,306],sys:7,syscal:40,sysmbol:3,system:[7,77,92,104,188,215,296,301,305,306],systemheaderpragma:306,tab:[216,276],tabl:[7,8,306],tabul:[7,296],take:[7,60,83,103,123,143,215,251,272,296,298,305],take_ownership_fn:218,taken:[42,273],tandem:3,target:[7,260,275,296,305,306],task:113,tax_rat:275,team:1,technic:279,tell:[0,301],temp:[60,188],temp_failure_retri:40,templat:[7,21,51,60,117,137,139,188,194,208,218,223,230,270,272,273,300],templateparametercas:270,templateparameterprefix:270,templateparametersuffix:270,templatetemplateparametercas:270,templatetemplateparameterprefix:270,templatetemplateparametersuffix:270,temporari:[7,20,21,47,76,79,80,81,87,93,178,188,201,227,305],tend:223,term:0,termin:[48,68,188,292],ternari:288,test:[1,5,66,71,81,149,296,306],test_f:149,test_p:149,test_valu:45,testcasenam:149,testnam:149,text:[1,5,7,216,231,301,306],textdocu:[1,299],textdocumentidentifi:299,textdocumentpositionparam:299,textual:0,tgmath:210,than:[1,3,7,17,40,51,65,66,69,73,168,191,192,195,210,212,215,221,223,230,231,246,274,292,299,301],thei:[0,3,18,42,43,45,48,68,69,81,83,201,236,248,259,261,275,281,283,299,301,305],them:[0,3,7,8,20,21,42,45,68,69,129,155,218,223,236,259,262,288,290,292,296,298,299,300,301],themselv:112,therebi:60,therefor:[60,83,112,117,208,212,276],thi:[0,1,2,3,5,7,8,10,11,12,13,14,15,16,18,22,23,25,26,27,31,32,34,35,37,38,39,40,41,45,48,49,50,51,52,53,56,59,60,63,68,70,71,72,73,75,77,80,81,82,83,87,88,90,92,93,94,95,96,97,100,103,104,105,108,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,135,140,141,143,145,147,149,151,162,163,164,165,166,168,169,170,174,176,178,182,183,186,188,191,195,196,197,198,200,201,202,208,210,212,213,214,215,216,218,219,220,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,241,242,243,245,249,250,252,253,255,257,258,260,262,263,265,267,268,269,270,271,272,273,274,275,276,277,279,280,285,289,291,292,294,295,296,299,300,301,304,305,306],thing:219,think:279,third:[80,208],those:[0,51,77,80,113,125,137,211,223,227,233,300,301,305,306],though:[1,7,83,223,235,301],thread:[1,299],thread_loc:96,three:[8,69,212,216,254,270],threshold:[66,71],through:[1,7,25,49,65,128,188,198,212,215,255,265,296,302,306],throwing2:162,thrown:[1,48,76,96,245],thu:[7,87,212,219,246,292],tidi:[4,6,15,18,135,281,303,304],time:[1,3,5,7,9,15,69,71,104,188,194,200,210,223,230,233,264,275,296,299,305],time_t:104,timestamp:7,titl:18,tmp:7,tmpfile:117,to_str:[41,67],to_wstr:41,todo:188,todo_com:154,todoublesecond:[10,11,12,15,16],togeth:[281,296,300],toggl:113,toint64hour:16,toint64microsecond:10,toint64second:[11,12,24],token:[71,72,306],tokennam:306,tomv564:301,too:[1,5,188,252,274,299],tool:[2,3,5,7,8,212,296,298,301,304,305,306],toolchain:1,top:[0,3,234,245,261,263,306],topic:298,torrent:113,total:7,totalcharg:275,tounixsecond:[9,23,24],toward:12,tpl_paramet:270,trace:304,track:68,trail:[1,42,140,144,188,189,194,263,299],trailingspac:216,train:275,transfer:218,transform:[4,15,17,115,212,215,220,223,224,227,230,231,232,234,235,268,270,274,288,303],translat:[3,5,7,71,194,205,229,273,291,296],transpar:188,trap:300,treat:[43,47,228,296],tree:[1,3,296,301],tri:[3,42,80,115,270,274],trick:221,trigger:[1,18,65,83,117,144,149,201,218,253,262,289,295,301],trivial:[1,81,136,201,205,228,248,254,258,259],triviallycopy:78,trucat:49,trunc:[11,16],truncat:[10,11,12,16,49,70,114,188],ttwo:216,tupl:227,tuplemakefunct:227,tupletyp:227,turn:[227,296,301,306],turnkei:42,tweak:301,twice:[1,192,223],twine:188,two:[3,7,9,12,15,24,45,52,69,70,71,80,83,114,117,120,135,168,216,219,270,275,292,301],txt:[117,305],type:[1,5,7,13,16,24,25,27,31,34,35,39,41,48,51,54,59,60,64,65,67,69,73,76,77,81,83,87,100,104,114,117,120,137,155,157,163,166,175,187,188,195,201,202,207,208,211,215,218,220,223,226,227,230,235,238,245,248,250,253,254,256,258,259,264,270,272,274,279,288,289,295,300,301,305,306],type_paramet:270,typealiascas:270,typealiasprefix:270,typealiassuffix:270,typed_test:149,typed_test_p:149,typedef:[117,195,217,223,237,239,270,305],typedefcas:270,typedefprefix:270,typedefsuffix:270,typeinform:117,typenam:[51,60,117,137,194,208,215,218,219,223,270],typesuffix:155,typetemplateparametercas:270,typetemplateparameterprefix:270,typetemplateparametersuffix:270,typic:[7,60,65,80,199,296,299],typo:[3,42,281],ubuntu:301,uchar:210,uiactionsheet:242,uialertview:242,uid:243,uiimagepickercontrol:242,uint64_t:[114,201],uint:[5,155],uitextinputmod:242,uiwebview:242,ull:294,umbrella:305,unari:[56,156,188],unbrac:61,uncaught:188,uncaught_except:236,unchang:[7,216,218],uncom:0,uncondit:274,uncondition:[61,275],unconvent:[110,188],uncov:25,undef:306,undefin:[3,48,90,121,123,175,188,215,245],undeleg:188,under:[3,8,242,296,299,300,301,304,305],underli:[1,195],underlin:301,underneath:301,underscor:[1,42,188,305],understand:[1,42,268,276,299,301,302],undesir:[212,274,304],unexpect:[48,56,76,87,168,274],unexpectedli:72,unhandl:[1,106,188],uni:113,unicod:201,unidentifi:3,unifi:[260,299],uniform_int_distribut:219,unimpl:229,uniniti:279,unintend:[25,54,70],unintent:[143,279,281],union:[188,270],unioncas:270,unionprefix:270,unionsuffix:270,uniqu:[82,188],unique_ptr:[82,83,117,203,214,218,227,293],uniqueptr:188,unit:[3,5,7,12,194,205,229,273,291,296],unittest:7,univers:227,unless:[0,45,136,230],unlik:[1,45,81,143,205],unnam:[273,278],unnecessari:[1,20,21,188,227,253,266,283,286,287,288],unnecessarili:53,unnecessarycopi:258,unnecessarycopy1:258,unnecessarycopy2:258,unnot:[205,272],unordered_map:[83,223],unordered_multimap:[83,223],unordered_multiset:[83,223],unordered_set:[83,223,253],unprotect:81,unqualifi:[234,299],unrel:[122,124,125],unsaf:122,unsav:3,unsequenc:188,unset:299,unsigend:77,unsign:[7,69,70,71,77,114,155,191,223,234,270,306],unsignedtypeprefix:155,unsuccess:272,until:[3,40,262,305],untouch:[215,235],unus:[7,50,188,230],unusu:277,unutter:137,unwant:235,upcom:25,updat:[7,205,215,273,299,300,301],upgrad:[188,296],upon:18,upper:[77,294],upper_cas:270,uppercas:[86,188],uri:299,usabl:301,usag:[1,2,5,26,28,29,30,33,37,40,53,63,64,68,73,103,108,120,125,146,151,157,159,188,201,211,212,218,232,237,241,252,296,304,305],use:[0,1,2,3,5,7,8,11,12,16,26,28,29,30,33,40,45,52,53,64,66,67,69,77,79,80,81,95,100,103,111,115,117,122,127,128,139,140,141,144,145,165,188,189,193,194,205,207,208,209,212,215,240,248,250,251,252,263,264,265,268,272,273,274,275,276,288,292,293,296,298,299,300,301,304,305,306],useassign:[1,123,226],used:[0,1,2,7,13,17,21,22,44,48,56,58,60,61,65,69,71,73,83,94,115,118,119,122,149,159,163,205,206,212,213,214,215,218,223,233,239,245,248,255,256,258,259,260,272,275,276,279,296,299,305,306],useful:[0,7,230,231,233,296,298,300],useheaderfileextens:194,usenoexceptfals:231,user:[1,3,5,7,25,42,49,64,77,79,80,104,115,123,129,148,198,201,212,215,219,223,231,232,233,239,243,255,256,275,296,299,304],userinfo:240,usernam:154,uses:[12,19,21,49,108,114,117,121,124,130,146,155,175,188,207,210,215,218,223,231,290,292,296,301,305,306],using:[0,1,5,7,8,14,17,18,36,41,49,52,59,65,68,69,70,72,80,82,94,115,117,118,137,144,168,188,201,208,212,215,218,219,223,227,235,236,242,246,252,258,264,270,275,279,292,296,299,301,304,305,306],usr:[299,301],usual:[82,201,215,218,250,263,301],utf:1,util:[215,218,259,299],va_arg:127,val:[69,136,223],valid:[7,32,68,72,73,94,227,256,294,296],valu:[1,7,9,10,12,13,14,15,16,25,42,47,48,49,51,54,56,58,63,65,69,70,73,77,87,93,98,104,113,114,130,131,162,188,191,192,197,202,205,207,218,223,230,234,235,245,248,258,261,262,263,267,268,269,270,272,274,275,280,292,296,299,305,306],valuabl:263,value1:306,value2:306,valuesonli:215,valuetemplateparametercas:270,valuetemplateparameterprefix:270,valuetemplateparametersuffix:270,var_nam:274,vararg:188,vari:301,variabl:[1,3,5,7,69,83,96,100,115,117,121,122,123,124,125,128,188,193,194,201,212,223,230,237,246,248,250,254,258,269,270,274,275,277,281,291,296,300,301,305],variablecas:270,variableprefix:270,variablesuffix:270,variablethreshold:269,variad:[88,230],variou:[8,13,69,269,274],vast:40,vec:[212,219],vec_add:260,vector:[47,52,77,82,83,115,117,188,208,212,219,223,227,250,289],vectorlikeclass:253,vendor:216,verbos:[227,301],veri:[2,5,10,11,23,81,84,274,298],verif:239,verifi:[7,94,233,238,239],versa:1,version:[2,5,7,8,13,123,212,273,296,299,301],vertic:216,vfsoverlai:296,via:[8,123,146,227,230,275,296,301,305],vice:1,view:[47,87,93,105,117,300,301],vim:[8,301,304],vimrc:[3,301],violat:[18,19,122,124,125,168,194,201,296],virtual:[1,128,129,133,142,186,188,233,234,270,296],virtualmethodcas:270,virtualmethodprefix:270,virtualmethodsuffix:270,visibl:[272,291],visual:[3,8,216,301,302],vla:208,volatil:7,vscode:[1,300,301],vsx:260,vtabl:128,vulner:[65,104],wai:[3,5,7,8,18,44,48,72,117,215,216,219,220,223,252,274,276,296,298,301],wait:3,wall:7,want:[3,5,7,12,45,59,64,65,83,215,219,265,301],wantdiagnost:299,warm:1,warn:[1,7,8,18,19,42,43,45,48,50,51,52,54,59,60,62,64,65,66,69,71,72,73,76,77,80,82,83,84,87,90,103,104,113,114,115,117,123,130,131,133,134,135,136,137,138,148,168,194,201,208,213,214,215,219,224,226,228,229,230,236,237,238,240,243,245,246,248,250,251,252,253,254,257,258,259,264,272,273,275,277,279,281,285,291,292,294,295,296,305,306],warn_unused_result:230,warningnam:306,warningsaserror:296,warningspec:306,warnonallautocopi:248,warnonfloatingpointnarrowingconvers:114,warnonimplicitcomparison:73,warnonlargelength:66,warnonlargeobject:[1,201],warnonlogicalnotcomparison:73,warnonlyifthishassuspiciousfield:80,warnonmissingels:168,warnonsizeofcomparetoconst:65,warnonsizeofconst:65,warnonsizeofintegerexpress:65,warnonsizeofthi:65,warrai:119,wchar:210,wchar_t:[42,201],wcscasecmp:73,wcscmp:73,wcsicmp:73,wcslen:58,wcsncmp:73,wcsnicmp:73,wcsnlen:58,wcsnlen_:58,wctype:210,weak_ptr:83,web:1,webkit:296,weiss:275,welcom:[210,215,216,304],well:[0,8,17,117,143,168,196,201,243,296,300,301,306],were:[1,70,122,124,125,210,212,233,283,296],what:[7,49,55,60,72,83,114,218,219,236,246,272,294,299,300,301,304,306],when:[1,3,7,8,9,13,15,20,24,42,45,52,56,59,60,65,66,69,72,73,80,81,83,94,104,114,122,128,129,149,186,194,195,196,205,212,215,218,223,227,230,231,233,234,235,244,247,248,252,258,270,272,273,274,276,279,281,294,296,299,301,306],whenev:[3,69,264,306],where:[1,7,9,10,13,14,15,16,17,21,23,45,46,47,53,54,58,65,68,69,77,96,97,100,114,125,129,168,192,207,212,215,218,223,235,248,250,256,266,268,272,273,274,296],wherea:296,whether:[1,7,22,40,43,51,72,83,149,212,261,264,275,300,305,306],which:[0,1,3,5,7,8,10,13,17,22,23,24,29,30,45,48,49,50,51,55,63,65,69,77,80,82,83,92,104,117,119,129,135,143,145,149,168,175,192,193,194,199,200,212,213,214,215,218,223,224,230,241,242,245,246,248,250,251,255,259,263,269,272,273,274,284,289,296,299,300,301,304,305,306],whichev:83,whitelist:157,whitelisttyp:157,whitespac:296,whole:[1,58,126,300,301],whose:[25,72,147,299],why:[108,241],wide:[7,8,300],widen:188,widestr:42,wiki:[87,93,105,275],wil:49,wildcard:135,window:[48,215,301],winmain:48,within:[1,3,7,55,68,196,212,300,301,305],without:[1,24,26,27,31,34,35,36,37,38,39,117,123,130,140,144,154,168,189,194,201,223,231,238,272,275,281,295,296,299],wliter:296,wmemcmp:73,wold:151,won:[3,7,71,73,117,129,218,227,274],word:[18,223,300],work:[0,1,5,7,12,65,77,117,202,268,273,276,296,299,300,301,302,304],worker:299,workflow:[5,7],workingdirectori:299,workspac:[300,301],world:[22,42,60,65,83,148,272],wors:53,worst:281,would:[3,7,25,26,27,29,31,32,34,35,36,39,41,45,58,60,87,114,123,149,195,212,223,227,234,248,258,259,268,274,279,283,296,298,299],wouldn:227,write:[126,201,216,250,296,305],written:[1,7,59,60,80,83,126,168,223,260,301,306],wrong:[12,50,73,120,202,215,276],wstr:41,wstring:[41,67],wswitch:168,wunus:205,x03:68,x12:68,x42:68,x86:260,x_impl:306,xref:301,yaml:[3,5,7,296,306],ycm:301,ycm_clangd_arg:301,ycm_clangd_binary_path:301,ycm_clangd_uses_ycmd_cach:301,ycmcomplet:301,ycmdebuginfo:301,ycmtogglelog:301,yellow:168,yet:[83,117,228,263,272,300,301],yield:[10,11,23,65,117],you:[0,2,3,5,7,8,11,12,18,40,59,62,64,72,84,108,114,117,129,141,168,178,219,242,252,257,265,276,281,296,298,299,300,301,304,305,306],youcompletem:301,your:[0,1,2,3,5,104,242,276,296,298,300,301,302],yourself:7,zero:[14,42,59,65,66,70,73,80,114,123,194,199,205,213,214,215,223,224,226,227,228,229,233,235,237,248,252,254,260,272,273,281,285,288,292,294],zerodur:14,zircon:[130,131,133,134,136,137,138,188,296]},titles:["Modularize Usage","Extra Clang Tools 9.0.0 Release Notes","Clang-Doc","Clang-Include-Fixer","<no title>","Clang-Rename","<no title>","Getting Involved","Clang-tidy IDE/Editor Integrations","clang-tidy - abseil-duration-addition","clang-tidy - abseil-duration-comparison","clang-tidy - abseil-duration-conversion-cast","clang-tidy - abseil-duration-division","clang-tidy - abseil-duration-factory-float","clang-tidy - abseil-duration-factory-scale","clang-tidy - abseil-duration-subtraction","clang-tidy - abseil-duration-unnecessary-conversion","clang-tidy - abseil-faster-strsplit-delimiter","abseil-no-internal-dependencies","clang-tidy - abseil-no-namespace","clang-tidy - abseil-redundant-strcat-calls","clang-tidy - abseil-str-cat-append","clang-tidy - abseil-string-find-startswith","clang-tidy - abseil-time-comparison","clang-tidy - abseil-time-subtraction","clang-tidy - abseil-upgrade-duration-conversions","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-pipe","clang-tidy - android-cloexec-pipe2","clang-tidy - android-cloexec-socket","clang-tidy - android-comparison-in-temp-failure-retry","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-branch-clone","clang-tidy - bugprone-copy-constructor-init","clang-tidy - bugprone-dangling-handle","clang-tidy - bugprone-exception-escape","clang-tidy - bugprone-fold-init-type","clang-tidy - bugprone-forward-declaration-namespace","clang-tidy - bugprone-forwarding-reference-overload","clang-tidy - bugprone-inaccurate-erase","clang-tidy - bugprone-incorrect-roundings","clang-tidy - bugprone-integer-division","clang-tidy - bugprone-lambda-function-name","clang-tidy - bugprone-macro-parentheses","clang-tidy - bugprone-macro-repeated-side-effects","clang-tidy - bugprone-misplaced-operator-in-strlen-in-alloc","clang-tidy - bugprone-misplaced-widening-cast","clang-tidy - bugprone-move-forwarding-reference","clang-tidy - bugprone-multiple-statement-macro","clang-tidy - bugprone-parent-virtual-call","clang-tidy - bugprone-posix-return","clang-tidy - bugprone-sizeof-container","clang-tidy - bugprone-sizeof-expression","clang-tidy - bugprone-string-constructor","clang-tidy - bugprone-string-integer-assignment","clang-tidy - bugprone-string-literal-with-embedded-nul","clang-tidy - bugprone-suspicious-enum-usage","clang-tidy - bugprone-suspicious-memset-usage","clang-tidy - bugprone-suspicious-missing-comma","clang-tidy - bugprone-suspicious-semicolon","clang-tidy - bugprone-suspicious-string-compare","clang-tidy - bugprone-swapped-arguments","clang-tidy - bugprone-terminating-continue","clang-tidy - bugprone-throw-keyword-missing","clang-tidy - bugprone-too-small-loop-variable","clang-tidy - bugprone-undefined-memory-manipulation","clang-tidy - bugprone-undelegated-constructor","clang-tidy - bugprone-unhandled-self-assignment","clang-tidy - bugprone-unused-raii","clang-tidy - bugprone-unused-return-value","clang-tidy - bugprone-use-after-move","clang-tidy - bugprone-virtual-near-miss","clang-tidy - cert-dcl03-c","clang-tidy - cert-dcl16-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-msc32-c","clang-tidy - cert-msc50-cpp","clang-tidy - cert-msc51-cpp","clang-tidy - cert-oop11-cpp","clang-tidy - cert-oop54-cpp","clang-tidy - cppcoreguidelines-avoid-c-arrays","clang-tidy - cppcoreguidelines-avoid-goto","clang-tidy - cppcoreguidelines-avoid-magic-numbers","clang-tidy - cppcoreguidelines-c-copy-assignment-signature","clang-tidy - cppcoreguidelines-explicit-virtual-functions","clang-tidy - cppcoreguidelines-interfaces-global-init","clang-tidy - cppcoreguidelines-macro-usage","clang-tidy - cppcoreguidelines-narrowing-conversions","clang-tidy - cppcoreguidelines-no-malloc","clang-tidy - cppcoreguidelines-non-private-member-variables-in-classes","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-calls","clang-tidy - fuchsia-default-arguments-declarations","clang-tidy - fuchsia-header-anon-namespaces","clang-tidy - fuchsia-multiple-inheritance","clang-tidy - fuchsia-overloaded-operator","clang-tidy - fuchsia-restrict-system-includes","clang-tidy - fuchsia-statically-constructed-objects","clang-tidy - fuchsia-trailing-return","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-nsobject-new","clang-tidy - google-objc-avoid-throwing-exception","clang-tidy - google-objc-function-naming","clang-tidy - google-objc-global-variable-declaration","clang-tidy - google-readability-avoid-underscore-in-googletest-name","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-todo","clang-tidy - google-runtime-int","clang-tidy - google-runtime-operator","clang-tidy - google-runtime-references","clang-tidy - hicpp-avoid-c-arrays","clang-tidy - hicpp-avoid-goto","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-multiway-paths-covered","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-uppercase-literal-suffix","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-prefer-isa-or-dyn-cast-in-conditionals","clang-tidy - llvm-twine-local","clang-tidy - misc-definitions-in-headers","clang-tidy - misc-misplaced-const","clang-tidy - misc-new-delete-overloads","clang-tidy - misc-non-copyable-objects","clang-tidy - misc-non-private-member-variables-in-classes","clang-tidy - misc-redundant-expression","clang-tidy - misc-static-assert","clang-tidy - misc-throw-by-value-catch-by-reference","clang-tidy - misc-unconventional-assign-operator","clang-tidy - misc-uniqueptr-reset-release","clang-tidy - misc-unused-alias-decls","clang-tidy - misc-unused-parameters","clang-tidy - misc-unused-using-decls","clang-tidy - modernize-avoid-bind","clang-tidy - modernize-avoid-c-arrays","clang-tidy - modernize-concat-nested-namespaces","clang-tidy - modernize-deprecated-headers","clang-tidy - modernize-deprecated-ios-base-aliases","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-nodiscard","clang-tidy - modernize-use-noexcept","clang-tidy - modernize-use-nullptr","clang-tidy - modernize-use-override","clang-tidy - modernize-use-trailing-return-type","clang-tidy - modernize-use-transparent-functors","clang-tidy - modernize-use-uncaught-exceptions","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 - objc-super-self","clang-tidy - openmp-exception-escape","clang-tidy - openmp-use-default-none","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 - portability-simd-intrinsics","clang-tidy - readability-avoid-const-params-in-decls","clang-tidy - readability-braces-around-statements","clang-tidy - readability-const-return-type","clang-tidy - readability-container-size-empty","clang-tidy - readability-convert-member-functions-to-static","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-isolate-declaration","clang-tidy - readability-magic-numbers","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-preprocessor","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-simplify-subscript-expr","clang-tidy - readability-static-accessed-through-instance","clang-tidy - readability-static-definition-in-anonymous-namespace","clang-tidy - readability-string-compare","clang-tidy - readability-uniqueptr-delete-release","clang-tidy - readability-uppercase-literal-suffix","clang-tidy - zircon-temporary-objects","Clang-Tidy","<no title>","Developer documentation for clangd","Protocol extensions","Features","Getting started with clangd","clangd","<no title>","Welcome to Extra Clang Tools's documentation!","Modularize User\u2019s Manual","pp-trace User\u2019s Manual"],titleterms:{"boolean":288,"catch":201,"char":65,"class":[116,198],"const":[121,167,195,254,261,263,279],"default":[130,131,142,182,212,225,226,228,246,267],"enum":69,"float":[13,59],"function":[55,111,129,147,152,164,176,265,269,282],"goto":[108,159],"int":155,"new":[1,145,170,196,223],"null":266,"return":[63,82,137,220,234,263,268],"static":[125,136,177,200,222,265,290,291],"super":244,"switch":299,"throw":[76,146,201],"void":217,IDE:8,The:7,Use:[2,83],Using:[5,296],about:215,abseil:[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],accept4:27,accept:26,access:[126,165,290],addit:9,after:[83,268],algorithm:251,alia:204,alias:211,alloc:58,android:[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],anon:132,anonym:291,append:21,arg:[167,217,254],argument:[42,74,130,131,142],arithmet:120,around:[150,160,262],arrai:[107,118,119,158,171,208,277],assembl:172,assert:[43,177,200,222],assign:[67,80,110,202],auto:[180,218,223],avoid:[107,108,109,145,146,149,158,159,207,208,240,241,261],background:[51,60],base:[211,212],baseclass:162,between:299,bind:207,bitwis:175,bool:[44,224,271,272],boost:41,bound:[118,119,120],brace:[150,160,220,262],branch:45,buffer:238,bugpron:[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,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],build:[139,140,141,306],call:[20,62,130],callback:306,cast:[11,59,121,122,124,125,151,192,223,249,271],cat:21,categori:299,cert:[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106],check:[7,188,300,305],choos:7,clang:[1,2,3,5,7,8,188,296,300],clangd:[1,298,301,302],cloexec:[26,27,28,29,30,31,32,33,34,35,36,37,38,39],clone:45,code:300,comma:71,command:[0,299,306],comment:[42,153,191,212],compar:[73,292],comparison:[10,23,40],compil:[3,298,299],compile_command:301,compile_flag:301,complet:300,concat:209,concaten:252,condit:192,configur:7,constant:119,construct:136,constructor:[46,66,79,143,178,215,255,256],contain:[64,212,264],content:[2,3,5,296,299,300,301,304],continu:75,contribut:298,control:280,convers:[11,16,25,44,114,163,250,272],convert:[212,265],copi:[46,110,248,258],copyabl:197,cover:168,coverag:305,cpp:[87,88,89,90,91,93,95,96,97,98,103,104,105,106],cppcoreguidelin:[107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],creat:[3,28,30,35],create1:31,cross:300,cstr:286,cstyle:122,dangl:47,databas:3,dcl03:85,dcl16:86,dcl21:87,dcl50:88,dcl54:89,dcl58:90,dcl59:91,decai:[118,171],decl:[204,206,261],declar:[50,131,148,243,273,274,281,300],defin:306,definit:[194,291,300],delai:215,delet:[170,183,196,229,266,267,293],delimit:17,depend:18,deprec:[161,210,211],deref:238,derefer:282,detail:306,develop:298,diagnost:[296,299],directori:7,divis:[12,54],doc:2,document:[298,304],downcast:125,doxygen:304,dup:29,durat:[9,10,11,12,13,14,15,16,25],dyn:192,editor:[8,301],effect:[43,57,212],elif:306,els:[268,306],emac:[3,5],embed:68,emplac:[181,227],empti:264,end:212,endif:306,endofmainfil:306,env33:92,epol:[30,31],equal:[182,183,228,229],eras:52,err09:93,err34:94,err52:95,err58:96,err60:97,err61:98,error:300,escap:[48,68,245],evalu:212,exampl:[212,227,230,231,232,234,246,294],except:[48,146,162,236,245],explicit:[111,139,143,163],expr:[65,288,289],express:[65,199,223],extens:299,extra:1,factori:[13,14],failur:40,faq:114,faster:[17,247],featur:300,file:299,filechang:306,filenotfound:306,fileskip:306,find:[22,247,300],fio38:99,fit:221,fix:[299,300],fixer:3,flow:280,flp30:100,fold:49,fopen:32,forbidden:242,forc:299,format:[300,306],forward:[50,51,60],from:3,fuchsia:[130,131,132,133,134,135,136,137,138],functor:235,gener:[299,305],get:[7,285,301,305],global:[112,144,148],googl:[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157],googletest:149,guard:189,handl:47,header:[132,144,161,189,194,210,212,299],help:300,hicpp:[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],how:3,ident:306,identifi:270,ifdef:306,ifndef:306,implement:299,implicit:[44,59,249,250,271,272],improv:1,inaccur:52,includ:[3,135,190,300],inclusiondirect:306,inconsist:273,incorrect:53,indent:276,index:[3,119,277,301],indic:304,ineffici:[251,252,253],info:299,inherit:[133,138],init1:34,init:[33,46,49,112,123,166,220,226,240,255,283,287],initi:258,inlin:299,inotifi:[33,34],insert:300,insid:212,instal:301,instanc:290,integ:[54,67],integr:[3,5,8],interfac:112,intern:18,intrins:260,introduct:[1,304],invalid:[68,165],involv:7,ios:211,isa:192,isol:274,iter:223,json:301,keyword:76,known:[215,218,223,234],lambda:55,limit:[117,212,215,218,223,234,274,276],line:[0,306],list:[220,300],liter:[68,179,216,224,294],llvm:[7,189,190,191,192,193],local:193,loop:[77,212,249,250],macro:[56,57,61,113],macrodefin:306,macroexpand:306,macroundefin:306,magic:[109,275],make:[139,213,214],malloc:[115,173],manipul:78,manual:[305,306],map:305,math:257,member:[116,123,129,166,176,198,226,265,283],memfd:35,memori:[78,117],memset:70,minconfid:212,misc:[194,195,196,197,198,199,200,201,202,203,204,205,206],mislead:276,mismatch:239,misplac:[58,59,195,277],miss:[71,76,84],modern:[207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237],modul:305,modular:[0,305],moduleimport:306,move:[60,83,165,167,174,254,255,256],mpi:[238,239],msc30:101,msc32:102,msc50:103,msc51:104,multipl:[61,133],multiwai:168,name:[55,144,147,149,169,270,273,278],namespac:[19,50,132,140,141,153,191,209,291,300],narrow:114,navig:300,nest:209,nodiscard:230,noexcept:[174,184,231,256],non:[116,197,198,279],none:246,note:[1,215],nserror:240,nsobject:145,nul:68,nullptr:[185,232],number:[109,275],objc:[145,146,147,148,240,241,242,243,244],object:[136,197,295],onc:212,onli:212,oop11:105,oop54:106,open:36,openmp:[212,245,246],oper:[58,134,156,170,202,212,253],option:[0,22,42,43,47,48,59,65,66,69,71,73,82,104,113,114,115,117,119,123,129,135,140,144,155,157,168,189,191,194,198,201,205,212,213,214,215,218,223,224,226,227,228,230,231,232,233,235,237,242,245,247,248,252,253,254,255,258,259,260,262,269,270,272,275,281,288,289,294,295,306],order:190,output:306,overload:[51,134,196,212],overrid:[186,233],own:117,pair:139,param:[259,261],paramet:[169,205,273,278,279],parent:62,parenthes:56,pars:215,pass:215,path:168,perform:[247,248,249,250,251,252,253,254,255,256,257,258,259],pipe2:38,pipe:37,place:7,plugin:301,point:59,pointer:[44,118,120,212,266],portabl:260,posix:63,pragmacom:306,pragmadebug:306,pragmadetectmismatch:306,pragmadiagnost:306,pragmadiagnosticpop:306,pragmadiagnosticpush:306,pragmadirect:306,pragmamessag:306,pragmaopenclextens:306,pragmawarn:306,pragmawarningpop:306,pragmawarningpush:306,prefer:192,prepar:7,preprocessor:284,privat:[116,198],pro:[118,119,120,121,122,123,124,125,126,127],profil:7,project:301,promot:257,properti:243,protocol:299,ptr:[218,282],qualifi:300,raii:81,random:219,rang:[212,248],raw:216,readabl:[149,150,151,152,153,154,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294],reason:212,redund:[20,199,217,280,281,282,283,284,285,286,287],refer:[51,60,157,201,212,300],regist:7,reiniti:83,reinterpret:124,releas:[1,203,293],renam:5,repeat:57,replac:[218,219],request:299,reset:203,restrict:135,retri:40,right:7,riski:212,round:53,run:7,runtim:[155,156,157],safe:212,scale:14,self:[80,244],semicolon:72,setup:[3,301],share:213,shrink:221,shuffl:219,side:[43,57,212],sign:175,signatur:[110,300],simd:260,simplifi:[288,289],size:[152,164,264,269],sizeof:[64,65],slice:128,small:77,smartptr:285,socket:39,sourcerangeskip:306,special:[129,176],spinlock:241,start:[301,305],startswith:22,statement:[61,150,160,262],statu:299,str:21,strcat:20,string:[22,41,66,67,68,73,216,247,252,286,287,292],strlen:58,strsplit:17,structur:7,subclass:242,subscript:289,subtract:[15,24],suffix:[179,294],suppress:296,suspici:[65,69,70,71,72,73],swap:74,symbol:[3,299],system:135,tabl:304,temp:40,templat:215,temporari:295,termin:75,test:7,thi:65,through:290,tidi:[1,7,8,188,296,300],time:[23,24],todo:154,too:77,tool:1,trace:[1,306],trail:[137,234],transpar:235,truncat:68,twine:193,txt:301,type:[49,121,122,123,124,125,126,127,234,239,257,263],unari:222,uncaught:236,unconvent:202,undefin:78,undeleg:[79,178],underscor:149,undesir:296,unhandl:80,union:126,uniqu:214,uniqueptr:[203,293],unnecessari:[16,258,259],unsequenc:83,unus:[81,82,204,205,206],upgrad:25,uppercas:[179,294],usag:[0,65,69,70,113,306],use:[41,83,180,181,182,183,184,185,186,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,246],user:[305,306],uses:83,using:[141,206,237],valu:[82,201,215,259],vararg:[127,187],variabl:[77,116,148,198],vector:253,vim:[3,5],virtual:[62,84,111,138],warn:300,what:[1,302,305],wide:301,widen:59,work:3,workspac:7,write:7,your:7,zircon:295}})
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/.buildinfo
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/.buildinfo?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/.buildinfo (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/.buildinfo Thu Sep 19 07:32:46 2019
@@ -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: 3646b90eb4f2066804b3e3a0a49e41fb
+tags: 645f666f9bcd5a90fca523b33c5a78b7

Added: www-releases/trunk/9.0.0/tools/lld/docs/AtomLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/AtomLLD.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/AtomLLD.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/AtomLLD.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,209 @@
+
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>ATOM-based lld — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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="Missing Key Function" href="missingkeyfunction.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head><body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" 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="missingkeyfunction.html" title="Missing Key Function"
+             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="missingkeyfunction.html"
+                        title="previous chapter">Missing Key Function</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>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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#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="missingkeyfunction.html" title="Missing Key Function"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/Driver.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/Driver.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/Driver.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/Driver.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Driver — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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>
+<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>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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 notranslate"><span class="pre">-flavor</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ lld -flavor gnu
+</pre></div>
+</div>
+<p>There is a shortcut for <code class="docutils literal notranslate"><span class="pre">-flavor</span> <span class="pre">core</span></code> as <code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">include/lld/Common/Driver.h</span></code> to
+<code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">lld::UniversalDriver::Flavor</span></code>.</li>
+<li>Add an entry in <code class="file docutils literal notranslate"><span class="pre">lib/Driver/UniversalDriver.cpp</span></code> to
+<code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">lld::Driver::strToFlavor()</span></code> and
+<code class="xref cpp cpp-func docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">lib/Driver/CMakeLists.txt</span></code>.</li>
+<li>Add a <code class="docutils literal notranslate"><span class="pre">{flavor}Driver</span></code> as a subclass of <code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">lld::Driver</span></code>
+in <code class="file docutils literal notranslate"><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-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/NewLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/NewLLD.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/NewLLD.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/NewLLD.html Thu Sep 19 07:32:46 2019
@@ -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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>The ELF, COFF and Wasm Linkers — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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="Missing Key Function" href="missingkeyfunction.html" />
+    <link rel="prev" title="LLD - The LLVM Linker" href="index.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head><body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" 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="missingkeyfunction.html" title="Missing Key Function"
+             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>
+<li><a class="reference internal" href="#other-info">Other Info</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="missingkeyfunction.html"
+                        title="next chapter">Missing Key Function</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>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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 handle (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 times 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 links
+it.  It is doable because LLD does not forget symbols it has seen in archive
+files.</p>
+<p>We believe that LLD’s way is efficient and easy to justify.</p>
+<p>The semantics of LLD’s archive handling are 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 archive 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 class="section" id="other-info">
+<h2>Other Info<a class="headerlink" href="#other-info" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="missingkeyfunction.html">Missing Key Function</a></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="missingkeyfunction.html" title="Missing Key Function"
+             >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-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/Partitions.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/Partitions.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/Partitions.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/Partitions.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,223 @@
+
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Partitions — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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="lld 9.0.0 Release Notes" href="ReleaseNotes.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>
+<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="ReleaseNotes.html" title="lld 9.0.0 Release Notes"
+             accesskey="N">next</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="#">Partitions</a><ul>
+<li><a class="reference internal" href="#usage">Usage</a></li>
+<li><a class="reference internal" href="#restrictions">Restrictions</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="windows_support.html"
+                        title="previous chapter">Windows support</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="ReleaseNotes.html"
+                        title="next chapter">lld 9.0.0 Release Notes</a></p>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/Partitions.rst.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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="partitions">
+<h1>Partitions<a class="headerlink" href="#partitions" title="Permalink to this headline">¶</a></h1>
+<div class="admonition warning">
+<p class="first admonition-title">Warning</p>
+<p class="last">This feature is currently experimental, and its interface is subject
+to change.</p>
+</div>
+<p>LLD’s partitioning feature allows a program (which may be an executable
+or a shared library) to be split into multiple pieces, or partitions. A
+partitioned program consists of a main partition together with a number of
+loadable partitions. The loadable partitions depend on the main partition
+in a similar way to a regular ELF shared object dependency, but unlike a
+shared object, the main partition and the loadable partitions share a virtual
+address space at link time, and each loadable partition is assigned a fixed
+offset from the main partition. This allows the loadable partitions to refer
+to code and data in the main partition directly without the binary size and
+performance overhead of PLTs, GOTs or symbol table entries.</p>
+<div class="section" id="usage">
+<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
+<p>A program that uses the partitioning feature must decide which symbols are
+going to be used as the “entry points” for each partition. An entry point
+could, for example, be the equivalent of the partition’s <code class="docutils literal notranslate"><span class="pre">main</span></code> function, or
+there could be a group of functions that expose the functionality implemented
+by the partition. The intent is that in order to use a loadable partition,
+the program will use <code class="docutils literal notranslate"><span class="pre">dlopen</span></code>/<code class="docutils literal notranslate"><span class="pre">dlsym</span></code> or similar functions to dynamically
+load the partition at its assigned address, look up an entry point by name
+and call it. Note, however, that the standard <code class="docutils literal notranslate"><span class="pre">dlopen</span></code> function does not
+allow specifying a load address. On Android, the <code class="docutils literal notranslate"><span class="pre">android_dlopen_ext</span></code>
+function may be used together with the <code class="docutils literal notranslate"><span class="pre">ANDROID_DLEXT_RESERVED_ADDRESS</span></code>
+flag to load a shared object at a specific address.</p>
+<p>Once the entry points have been decided, the translation unit(s)
+containing the entry points should be compiled using the Clang compiler flag
+<code class="docutils literal notranslate"><span class="pre">-fsymbol-partition=<soname></span></code>, where <code class="docutils literal notranslate"><span class="pre"><soname></span></code> is the intended soname
+of the partition. The resulting object files are passed to the linker in
+the usual way.</p>
+<p>The linker will then use these entry points to automatically split the program
+into partitions according to which sections of the program are reachable from
+which entry points, similarly to how <code class="docutils literal notranslate"><span class="pre">--gc-sections</span></code> removes unused parts of
+a program. Any sections that are only reachable from a loadable partition’s
+entry point are assigned to that partition, while all other sections are
+assigned to the main partition, including sections only reachable from
+loadable partitions.</p>
+<p>The following diagram illustrates how sections are assigned to partitions. Each
+section is colored according to its assigned partition.</p>
+<img alt="_images/partitions.svg" src="_images/partitions.svg" /><p>The result of linking a program that uses partitions is essentially an
+ELF file with all of the partitions concatenated together. This file is
+referred to as a combined output file. To extract a partition from the
+combined output file, the <code class="docutils literal notranslate"><span class="pre">llvm-objcopy</span></code> tool should be used together
+with the flag <code class="docutils literal notranslate"><span class="pre">--extract-main-partition</span></code> to extract the main partition, or
+<code class="docutils literal notranslate"><span class="pre">-extract-partition=<soname></span></code> to extract one of the loadable partitions.
+An example command sequence is shown below:</p>
+<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1"># Compile the main program.</span>
+clang -ffunction-sections -fdata-sections -c main.c
+
+<span class="c1"># Compile a feature to be placed in a loadable partition.</span>
+<span class="c1"># Note that this is likely to be a separate build step to the main partition.</span>
+clang -ffunction-sections -fdata-sections -fsymbol-partition<span class="o">=</span>libfeature.so -c feature.c
+
+<span class="c1"># Link the combined output file.</span>
+clang main.o feature.o -fuse-ld<span class="o">=</span>lld -shared -o libcombined.so -Wl,-soname,libmain.so -Wl,--gc-sections
+
+<span class="c1"># Extract the partitions.</span>
+llvm-objcopy libcombined.so libmain.so --extract-main-partition
+llvm-objcopy libcombined.so libfeature.so --extract-partition<span class="o">=</span>libfeature.so
+</pre></div>
+</div>
+<p>In order to allow a program to discover the names of its loadable partitions
+and the locations of their reserved regions, the linker creates a partition
+index, which is an array of structs with the following definition:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span> <span class="n">partition_index_entry</span> <span class="p">{</span>
+  <span class="kt">int32_t</span> <span class="n">name_offset</span><span class="p">;</span>
+  <span class="kt">int32_t</span> <span class="n">addr_offset</span><span class="p">;</span>
+  <span class="kt">uint32_t</span> <span class="n">size</span><span class="p">;</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">name_offset</span></code> field is a relative pointer to a null-terminated string
+containing the soname of the partition, the <code class="docutils literal notranslate"><span class="pre">addr_offset</span></code> field is a
+relative pointer to its load address and the <code class="docutils literal notranslate"><span class="pre">size</span></code> field contains the
+size of the region reserved for the partition. To derive an absolute pointer
+from the relative pointer fields in this data structure, the address of the
+field should be added to the value stored in the field.</p>
+<p>The program may discover the location of the partition index using the
+linker-defined symbols <code class="docutils literal notranslate"><span class="pre">__part_index_begin</span></code> and <code class="docutils literal notranslate"><span class="pre">__part_index_end</span></code>.</p>
+</div>
+<div class="section" id="restrictions">
+<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
+<p>This feature is currently only supported in the ELF linker.</p>
+<p>The partitioning feature may not currently be used together with the
+<code class="docutils literal notranslate"><span class="pre">SECTIONS</span></code> or <code class="docutils literal notranslate"><span class="pre">PHDRS</span></code> linker script features, nor may it be used with the
+<code class="docutils literal notranslate"><span class="pre">--section-start</span></code>, <code class="docutils literal notranslate"><span class="pre">-Ttext</span></code>, <code class="docutils literal notranslate"><span class="pre">-Tdata</span></code> or <code class="docutils literal notranslate"><span class="pre">-Tbss</span></code> flags. All of these
+features assume a single set of output sections and/or program headers, which
+makes their semantics ambiguous in the presence of more than one partition.</p>
+<p>The partitioning feature may not currently be used on the MIPS architecture
+because it is unclear whether the MIPS multi-GOT ABI is compatible with
+partitions.</p>
+<p>The current implementation only supports creating up to 254 partitions due
+to implementation limitations. This limit may be relaxed in the future.</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="ReleaseNotes.html" title="lld 9.0.0 Release Notes"
+             >next</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-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/Readers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/Readers.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/Readers.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/Readers.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,291 @@
+
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Developing lld Readers — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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>
+<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>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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 notranslate"><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 notranslate"><span class="pre">lld::Reader</span></code> which lives in
+<code class="file docutils literal notranslate"><span class="pre">include/lld/Core/Reader.h</span></code> and
+<code class="file docutils literal notranslate"><span class="pre">lib/Core/Reader.cpp</span></code>.</p>
+<p>The Reader infrastructure for an object format <code class="docutils literal notranslate"><span class="pre">Foo</span></code> requires the
+following pieces in order to fit into lld:</p>
+<p><code class="file docutils literal notranslate"><span class="pre">include/lld/ReaderWriter/ReaderFoo.h</span></code></p>
+<blockquote>
+<div><dl class="class">
+<dt id="_CPPv416ReaderOptionsFoo">
+<span id="_CPPv316ReaderOptionsFoo"></span><span id="_CPPv216ReaderOptionsFoo"></span><span id="ReaderOptionsFoo"></span><em class="property">class </em><code class="descname">ReaderOptionsFoo</code> : <em class="property">public</em> ReaderOptions<a class="headerlink" href="#_CPPv416ReaderOptionsFoo" 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 notranslate"><span class="pre">lld::Reader</span></code> object.  This class
+should be declared in the <code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">lld</span></code> namespace.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="_CPPv415createReaderFooR16ReaderOptionsFoo">
+<span id="_CPPv315createReaderFooR16ReaderOptionsFoo"></span><span id="_CPPv215createReaderFooR16ReaderOptionsFoo"></span><span id="createReaderFoo__ReaderOptionsFooR"></span>Reader *<code class="descname">createReaderFoo</code><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv416ReaderOptionsFoo" title="ReaderOptionsFoo">ReaderOptionsFoo</a> &<em>reader</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv415createReaderFooR16ReaderOptionsFoo" 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 notranslate"><span class="pre">lld</span></code> namespace.</p>
+</dd></dl>
+
+</div></blockquote>
+<p><code class="file docutils literal notranslate"><span class="pre">lib/ReaderWriter/Foo/ReaderFoo.cpp</span></code></p>
+<blockquote>
+<div><dl class="class">
+<dt id="_CPPv49ReaderFoo">
+<span id="_CPPv39ReaderFoo"></span><span id="_CPPv29ReaderFoo"></span><span id="ReaderFoo"></span><em class="property">class </em><code class="descname">ReaderFoo</code> : <em class="property">public</em> Reader<a class="headerlink" href="#_CPPv49ReaderFoo" 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 notranslate"><span class="pre">lld::WriterFoo</span></code> you
+can make a nested namespace (e.g. <code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">lld::foo</span></code>).</p>
+</dd></dl>
+
+</div></blockquote>
+<p>You may have noticed that <a class="reference internal" href="#_CPPv49ReaderFoo" title="ReaderFoo"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">ReaderFoo</span></code></a> is not declared in the
+<code class="docutils literal notranslate"><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="#_CPPv415createReaderFooR16ReaderOptionsFoo" title="createReaderFoo"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">createReaderFoo()</span></code></a> factory function. The creation of the Reader is
+parametrized through a <a class="reference internal" href="#_CPPv416ReaderOptionsFoo" title="ReaderOptionsFoo"><code class="xref cpp cpp-class docutils literal notranslate"><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 notranslate"><span class="pre">ELF</span></code>, <code class="docutils literal notranslate"><span class="pre">PECOFF</span></code>, <code class="docutils literal notranslate"><span class="pre">MachO</span></code>, and lld’s native <code class="docutils literal notranslate"><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 notranslate"><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 function to implement in a reader is:</p>
+<div class="highlight-default notranslate"><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-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/ReleaseNotes.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/ReleaseNotes.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/ReleaseNotes.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,334 @@
+
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>lld 9.0.0 Release Notes — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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="Partitions" href="Partitions.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head><body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related" 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="Partitions.html" title="Partitions"
+             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 9.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>
+<li><a class="reference internal" href="#mingw-improvements">MinGW Improvements</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="Partitions.html"
+                        title="previous chapter">Partitions</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>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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-9-0-0-release-notes">
+<h1>lld 9.0.0 Release Notes<a class="headerlink" href="#lld-9-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="id3">Introduction</a></li>
+<li><a class="reference internal" href="#non-comprehensive-list-of-changes-in-this-release" id="id4">Non-comprehensive list of changes in this release</a><ul>
+<li><a class="reference internal" href="#elf-improvements" id="id5">ELF Improvements</a></li>
+<li><a class="reference internal" href="#coff-improvements" id="id6">COFF Improvements</a></li>
+<li><a class="reference internal" href="#webassembly-improvements" id="id7">WebAssembly Improvements</a></li>
+<li><a class="reference internal" href="#mingw-improvements" id="id8">MinGW Improvements</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="introduction">
+<h2><a class="toc-backref" href="#id3">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>lld is a high-performance linker that supports ELF (Unix), COFF
+(Windows), Mach-O (macOS), MinGW and WebAssembly. lld is
+command-line-compatible with GNU linkers and Microsoft link.exe and is
+significantly faster than the system default linkers.</p>
+<p>lld 9 has lots of feature improvements and bug fixes.</p>
+</div>
+<div class="section" id="non-comprehensive-list-of-changes-in-this-release">
+<h2><a class="toc-backref" href="#id4">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="#id5">ELF Improvements</a><a class="headerlink" href="#elf-improvements" title="Permalink to this headline">¶</a></h3>
+<ul>
+<li><p class="first">ld.lld now has typo suggestions for flags:
+<code class="docutils literal notranslate"><span class="pre">$</span> <span class="pre">ld.lld</span> <span class="pre">--call-shared</span></code> now prints
+<code class="docutils literal notranslate"><span class="pre">unknown</span> <span class="pre">argument</span> <span class="pre">'--call-shared',</span> <span class="pre">did</span> <span class="pre">you</span> <span class="pre">mean</span> <span class="pre">'--call_shared'</span></code>.
+(<a class="reference external" href="https://reviews.llvm.org/rL361518">r361518</a>)</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">--allow-shlib-undefined</span></code> and <code class="docutils literal notranslate"><span class="pre">--no-allow-shlib-undefined</span></code>
+options are added. <code class="docutils literal notranslate"><span class="pre">--no-allow-shlib-undefined</span></code> is the default for
+executables.
+(<a class="reference external" href="https://reviews.llvm.org/rL352826">r352826</a>)</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">-nmagic</span></code> and <code class="docutils literal notranslate"><span class="pre">-omagic</span></code> options are fully supported.
+(<a class="reference external" href="https://reviews.llvm.org/rL360593">r360593</a>)</p>
+</li>
+<li><p class="first">Segment layout has changed. PT_GNU_RELRO, which was previously
+placed in the middle of readable/writable PT_LOAD segments, is now
+placed at the beginning of them. This change permits lld-produced
+ELF files to be read correctly by GNU strip older than 2.31, which
+has a bug to discard a PT_GNU_RELRO in the former layout.</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">-z</span> <span class="pre">common-page-size</span></code> is supported.
+(<a class="reference external" href="https://reviews.llvm.org/rL360593">r360593</a>)</p>
+</li>
+<li><p class="first">Diagnostics messages have improved. A new flag <code class="docutils literal notranslate"><span class="pre">--vs-diagnostics</span></code>
+alters the format of diagnostic output to enable source hyperlinks
+in Microsoft Visual Studio IDE.</p>
+</li>
+<li><p class="first">Linker script compatibility with GNU BFD linker has generally improved.</p>
+</li>
+<li><p class="first">The clang <code class="docutils literal notranslate"><span class="pre">--dependent-library</span></code> form of autolinking is supported.</p>
+<p>This feature is added to implement the Windows-style autolinking for
+Unix. On Unix, in order to use a library, you usually have to
+include a header file provided by the library and then explicitly
+link the library with the linker <code class="docutils literal notranslate"><span class="pre">-l</span></code> option. On Windows, header
+files usually contain pragmas that list needed libraries. Compilers
+copy that information to object files, so that linkers can
+automatically link needed libraries. <code class="docutils literal notranslate"><span class="pre">--dependent-library</span></code> is
+added for implementing that Windows semantics on Unix.
+(<a class="reference external" href="https://reviews.llvm.org/rL360984">r360984</a>)</p>
+</li>
+<li><p class="first">AArch64 BTI and PAC are supported.
+(<a class="reference external" href="https://reviews.llvm.org/rL362793">r362793</a>)</p>
+</li>
+<li><p class="first">lld now supports replacing <code class="docutils literal notranslate"><span class="pre">JAL</span></code> with <code class="docutils literal notranslate"><span class="pre">JALX</span></code> instructions in case
+of MIPS-microMIPS cross-mode jumps.
+(<a class="reference external" href="https://reviews.llvm.org/rL354311">r354311</a>)</p>
+</li>
+<li><p class="first">lld now creates LA25 thunks for MIPS R6 code.
+(<a class="reference external" href="https://reviews.llvm.org/rL354312">r354312</a>)</p>
+</li>
+<li><p class="first">Put MIPS-specific .reginfo, .MIPS.options, and .MIPS.abiflags sections
+into corresponding PT_MIPS_REGINFO, PT_MIPS_OPTIONS, and PT_MIPS_ABIFLAGS
+segments.</p>
+</li>
+<li><p class="first">The quality of RISC-V and PowerPC ports have greatly improved. Many
+applications can now be linked by lld. PowerPC64 is now almost
+production ready.</p>
+</li>
+<li><p class="first">The Linux kernel for arm32_7, arm64, ppc64le and x86_64 can now be
+linked by lld.</p>
+</li>
+<li><p class="first">x86-64 TLSDESC is supported.
+(<a class="reference external" href="https://reviews.llvm.org/rL361911">r361911</a>,
+<a class="reference external" href="https://reviews.llvm.org/rL362078">r362078</a>)</p>
+</li>
+<li><p class="first">DF_STATIC_TLS flag is set for i386 and x86-64 when needed.
+(<a class="reference external" href="https://reviews.llvm.org/rL353293">r353293</a>,
+<a class="reference external" href="https://reviews.llvm.org/rL353378">r353378</a>)</p>
+</li>
+<li><p class="first">The experimental partitioning feature is added to allow a program to
+be split into multiple pieces.</p>
+<p>The feature allows you to semi-automatically split a single program
+into multiple ELF files called “partitions”. Since all partitions
+share the same memory address space and don’t use PLT/GOT, split
+programs run as fast as regular programs.</p>
+<p>With the mechanism, you can start a program only with a “main”
+partition and load remaining partitions on-demand. For example, you
+can split a web browser into a main partition and a PDF reader
+sub-partition and load the PDF reader partition only when a user
+tries to open a PDF file.</p>
+<p>See <a class="reference external" href="Partitions.html">the documentation</a> for more information.</p>
+</li>
+<li><p class="first">If “-” is given as an output filename, lld writes the final result
+to the standard output. Previously, it created a file “-” in the
+current directory.
+(<a class="reference external" href="https://reviews.llvm.org/rL351852">r351852</a>)</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">-z</span> <span class="pre">ifunc-noplt</span></code> option is added to reduce IFunc function call
+overhead in a freestanding environment such as the OS kernel.</p>
+<p>Functions resolved by the IFunc mechanism are usually dispatched via
+PLT and thus slower than regular functions because of the cost of
+indirection. With <code class="docutils literal notranslate"><span class="pre">-z</span> <span class="pre">ifunc-noplt</span></code>, you can eliminate it by doing
+text relocations at load-time. You need a special loader to utilize
+this feature. This feature is added for the FreeBSD kernel but can
+be used by any operating systems.
+(<a class="reference external" href="https://reviews.llvm.org/rL360685">r360685</a>)</p>
+</li>
+<li><p class="first"><code class="docutils literal notranslate"><span class="pre">--undefined-glob</span></code> option is added. The new option is an extension
+to <code class="docutils literal notranslate"><span class="pre">--undefined</span></code> to take a glob pattern instead of a single symbol
+name.
+(<a class="reference external" href="https://reviews.llvm.org/rL363396">r363396</a>)</p>
+</li>
+</ul>
+</div>
+<div class="section" id="coff-improvements">
+<h3><a class="toc-backref" href="#id6">COFF Improvements</a><a class="headerlink" href="#coff-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Like the ELF driver, lld-link now has typo suggestions for flags.
+(<a class="reference external" href="https://reviews.llvm.org/rL361518">r361518</a>)</li>
+<li>lld-link now correctly reports duplicate symbol errors for object
+files that were compiled with <code class="docutils literal notranslate"><span class="pre">/Gy</span></code>.
+(<a class="reference external" href="https://reviews.llvm.org/rL352590">r352590</a>)</li>
+<li>lld-link now correctly reports duplicate symbol errors when several
+resource (.res) input files define resources with the same type,
+name and language.  This can be demoted to a warning using
+<code class="docutils literal notranslate"><span class="pre">/force:multipleres</span></code>.
+(<a class="reference external" href="https://reviews.llvm.org/rL359829">r359829</a>)</li>
+<li>lld-link now rejects more than one resource object input files,
+matching link.exe. Previously, lld-link would silently ignore all
+but one.  If you hit this: Don’t pass resource object files to the
+linker, instead pass res files to the linker directly. Don’t put
+resource files in static libraries, pass them on the command line.
+(<a class="reference external" href="https://reviews.llvm.org/rL359749">r359749</a>)</li>
+<li>Having more than two <code class="docutils literal notranslate"><span class="pre">/natvis:</span></code> now works correctly; it used to not
+work for larger binaries before.
+(<a class="reference external" href="https://reviews.llvm.org/rL327895">r327895</a>)</li>
+<li>Undefined symbols are now printed only in demangled form. Pass
+<code class="docutils literal notranslate"><span class="pre">/demangle:no</span></code> to see raw symbol names instead.
+(<a class="reference external" href="https://reviews.llvm.org/rL355878">r355878</a>)</li>
+<li>Several speed and memory usage improvements.</li>
+<li>lld-link now supports resource object files created by GNU windres and
+MS cvtres, not only llvm-cvtres.</li>
+<li>The generated thunks for delayimports now share the majority of code
+among thunks, significantly reducing the overhead of using delayimport.
+(<a class="reference external" href="https://reviews.llvm.org/rL365823">r365823</a>)</li>
+<li><code class="docutils literal notranslate"><span class="pre">IMAGE_REL_ARM{,64}_REL32</span></code> relocations are supported.
+(<a class="reference external" href="https://reviews.llvm.org/rL352325">r352325</a>)</li>
+<li>Range extension thunks for AArch64 are now supported, so lld can
+create large executables for Windows/ARM64.
+(<a class="reference external" href="https://reviews.llvm.org/rL352929">r352929</a>)</li>
+<li>The following flags have been added:
+<code class="docutils literal notranslate"><span class="pre">/functionpadmin</span></code> (<a class="reference external" href="https://reviews.llvm.org/rL354716">r354716</a>),
+<code class="docutils literal notranslate"><span class="pre">/swaprun:</span></code> (<a class="reference external" href="https://reviews.llvm.org/rL359192">r359192</a>),
+<code class="docutils literal notranslate"><span class="pre">/threads:no</span></code> (<a class="reference external" href="https://reviews.llvm.org/rL355029">r355029</a>),
+<code class="docutils literal notranslate"><span class="pre">/filealign</span></code> (<a class="reference external" href="https://reviews.llvm.org/rL361634">r361634</a>)</li>
+</ul>
+</div>
+<div class="section" id="webassembly-improvements">
+<h3><a class="toc-backref" href="#id7">WebAssembly Improvements</a><a class="headerlink" href="#webassembly-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Imports from custom module names are supported.
+(<a class="reference external" href="https://reviews.llvm.org/rL352828">r352828</a>)</li>
+<li>Symbols that are in llvm.used are now exported by default.
+(<a class="reference external" href="https://reviews.llvm.org/rL353364">r353364</a>)</li>
+<li>Initial support for PIC and dynamic linking has landed.
+(<a class="reference external" href="https://reviews.llvm.org/rL357022">r357022</a>)</li>
+<li>wasm-ld now add <code class="docutils literal notranslate"><span class="pre">__start_</span></code>/<code class="docutils literal notranslate"><span class="pre">__stop_</span></code> symbols for data sections.
+(<a class="reference external" href="https://reviews.llvm.org/rL361236">r361236</a>)</li>
+<li>wasm-ld now doesn’t report an error on archives without a symbol index.
+(<a class="reference external" href="https://reviews.llvm.org/rL364338">r364338</a>)</li>
+<li>The following flags have been added:
+<code class="docutils literal notranslate"><span class="pre">--emit-relocs</span></code> (<a class="reference external" href="https://reviews.llvm.org/rL361635">r361635</a>),
+<code class="docutils literal notranslate"><span class="pre">--wrap</span></code> (<a class="reference external" href="https://reviews.llvm.org/rL361639">r361639</a>),
+<code class="docutils literal notranslate"><span class="pre">--trace</span></code> and <code class="docutils literal notranslate"><span class="pre">--trace-symbol</span></code>
+(<a class="reference external" href="https://reviews.llvm.org/rL353264">r353264</a>).</li>
+</ul>
+</div>
+<div class="section" id="mingw-improvements">
+<h3><a class="toc-backref" href="#id8">MinGW Improvements</a><a class="headerlink" href="#mingw-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>lld now correctly links crtend.o as the last object file, handling
+terminators for the sections such as .eh_frame properly, fixing
+DWARF exception handling with libgcc and gcc’s crtend.o.</li>
+<li>lld now also handles DWARF unwind info generated by GCC, when linking
+with libgcc.</li>
+<li>PDB output can be requested without manually specifying the PDB file
+name, with the new option <code class="docutils literal notranslate"><span class="pre">-pdb=</span></code> with an empty value to the option.
+(The old existing syntax <code class="docutils literal notranslate"><span class="pre">-pdb</span> <span class="pre"><filename></span></code> was more cumbersome to use
+with an empty parameter value.)</li>
+<li><code class="docutils literal notranslate"><span class="pre">--no-insert-timestamp</span></code> option is added as an alias to <code class="docutils literal notranslate"><span class="pre">/timestamp:0</span></code>.
+(<a class="reference external" href="https://reviews.llvm.org/rL353145">r353145</a>)</li>
+<li>Many more GNU ld options are now supported, which e.g. allows the lld
+MinGW frontend to be called by GCC.</li>
+<li>The following options are added: <code class="docutils literal notranslate"><span class="pre">--exclude-all-symbols</span></code>,
+<code class="docutils literal notranslate"><span class="pre">--appcontainer</span></code>, <code class="docutils literal notranslate"><span class="pre">--undefined</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="Partitions.html" title="Partitions"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer" role="contentinfo">
+        © Copyright 2011-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/9.0.0/tools/lld/docs/WebAssembly.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/WebAssembly.html?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/WebAssembly.html (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/WebAssembly.html Thu Sep 19 07:32:46 2019
@@ -0,0 +1,307 @@
+
+
+<!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="X-UA-Compatible" content="IE=Edge" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>WebAssembly lld port — lld 9 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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="_static/language_data.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>
+<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="#usage">Usage</a></li>
+<li><a class="reference internal" href="#behaviour">Behaviour</a><ul>
+<li><a class="reference internal" href="#function-signatures">Function Signatures</a></li>
+<li><a class="reference internal" href="#imports-and-exports">Imports and Exports</a></li>
+<li><a class="reference internal" href="#garbage-collection">Garbage Collection</a></li>
+<li><a class="reference internal" href="#weak-undefined-functions">Weak Undefined Functions</a></li>
+</ul>
+</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>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    </div>
+</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>The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
+a WebAssembly binary as its output.  For the most part it tries to mimic the
+behaviour of traditional ELF linkers and specifically the ELF lld port.  Where
+possible the 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 WebAssembly object file format used by LLVM and LLD is specified as part of
+the WebAssembly tool conventions on <a class="reference external" href="https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md">linking</a>.</p>
+<p>This is the object format that the llvm will produce when run with the
+<code class="docutils literal notranslate"><span class="pre">wasm32-unknown-unknown</span></code> target.</p>
+</div>
+<div class="section" id="usage">
+<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
+<p>The WebAssembly version of lld is installed as <strong>wasm-ld</strong>.  It shared many
+common linker flags with <strong>ld.lld</strong> but also includes several
+WebAssembly-specific options:</p>
+<dl class="option">
+<dt id="cmdoption-no-entry">
+<code class="descname">--no-entry</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-no-entry" title="Permalink to this definition">¶</a></dt>
+<dd><p>Don’t search for the entry point symbol (by default <code class="docutils literal notranslate"><span class="pre">_start</span></code>).</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-export-table">
+<code class="descname">--export-table</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-export-table" title="Permalink to this definition">¶</a></dt>
+<dd><p>Export the function table to the environment.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-import-table">
+<code class="descname">--import-table</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-import-table" title="Permalink to this definition">¶</a></dt>
+<dd><p>Import the function table from the environment.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-export-all">
+<code class="descname">--export-all</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-export-all" title="Permalink to this definition">¶</a></dt>
+<dd><p>Export all symbols (normally combined with –no-gc-sections)</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-export-dynamic">
+<code class="descname">--export-dynamic</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-export-dynamic" title="Permalink to this definition">¶</a></dt>
+<dd><p>When building an executable, export any non-hidden symbols.  By default only
+the entry point and any symbols marked with –export/–export-all are
+exported.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-global-base">
+<code class="descname">--global-base</code><code class="descclassname">=<value></code><a class="headerlink" href="#cmdoption-global-base" title="Permalink to this definition">¶</a></dt>
+<dd><p>Address at which to place global data.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-no-merge-data-segments">
+<code class="descname">--no-merge-data-segments</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-no-merge-data-segments" title="Permalink to this definition">¶</a></dt>
+<dd><p>Disable merging of data segments.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-stack-first">
+<code class="descname">--stack-first</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-stack-first" title="Permalink to this definition">¶</a></dt>
+<dd><p>Place stack at start of linear memory rather than after data.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-compress-relocations">
+<code class="descname">--compress-relocations</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-compress-relocations" title="Permalink to this definition">¶</a></dt>
+<dd><p>Relocation targets in the code section 5-bytes wide in order to potentially
+occomate the largest LEB128 value.  This option will cause the linker to
+shirnk the code section to remove any padding from the final output.  However
+because it effects code offset, this option is not comatible with outputing
+debug information.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-allow-undefined">
+<code class="descname">--allow-undefined</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-allow-undefined" title="Permalink to this definition">¶</a></dt>
+<dd><p>Allow undefined symbols in linked binary.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-import-memory">
+<code class="descname">--import-memory</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-import-memory" title="Permalink to this definition">¶</a></dt>
+<dd><p>Import memory from the environment.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-initial-memory">
+<code class="descname">--initial-memory</code><code class="descclassname">=<value></code><a class="headerlink" href="#cmdoption-initial-memory" title="Permalink to this definition">¶</a></dt>
+<dd><p>Initial size of the linear memory. Default: static data size.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-max-memory">
+<code class="descname">--max-memory</code><code class="descclassname">=<value></code><a class="headerlink" href="#cmdoption-max-memory" title="Permalink to this definition">¶</a></dt>
+<dd><p>Maximum size of the linear memory. Default: unlimited.</p>
+</dd></dl>
+
+<p>By default the function table is neither imported nor exported, but defined
+for internal use only.</p>
+</div>
+<div class="section" id="behaviour">
+<h2>Behaviour<a class="headerlink" href="#behaviour" title="Permalink to this headline">¶</a></h2>
+<p>In general, where possible, the WebAssembly linker attempts to emulate the
+behaviour of a traditional ELF linker, and in particular the ELF port of lld.
+For more specific details on how this is achieved see the tool conventions on
+<a class="reference external" href="https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md">linking</a>.</p>
+<div class="section" id="function-signatures">
+<h3>Function Signatures<a class="headerlink" href="#function-signatures" title="Permalink to this headline">¶</a></h3>
+<p>One way in which the WebAssembly linker differs from traditional native linkers
+is that function signature checking is strict in WebAssembly.  It is a
+validation error for a module to contain a call site that doesn’t agree with
+the target signature.  Even though this is undefined behaviour in C/C++, it is not
+uncommon to find this in real-world C/C++ programs.  For example, a call site in
+one compilation unit which calls a function defined in another compilation
+unit but with too many arguments.</p>
+<p>In order not to generate such invalid modules, lld has two modes of handling such
+mismatches: it can simply error-out or it can create stub functions that will
+trap at runtime (functions that contain only an <code class="docutils literal notranslate"><span class="pre">unreachable</span></code> instruction)
+and use these stub functions at the otherwise invalid call sites.</p>
+<p>The default behaviour is to generate these stub function and to produce
+a warning.  The <code class="docutils literal notranslate"><span class="pre">--falal-warnings</span></code> flag can be used to disable this behaviour
+and error out if mismatched are found.</p>
+</div>
+<div class="section" id="imports-and-exports">
+<h3>Imports and Exports<a class="headerlink" href="#imports-and-exports" title="Permalink to this headline">¶</a></h3>
+<p>When building a shared library any symbols marked as <code class="docutils literal notranslate"><span class="pre">visibility=default</span></code> will
+be exported.  When building an executable, only the entry point and symbols
+flagged as <code class="docutils literal notranslate"><span class="pre">WASM_SYMBOL_EXPORTED</span></code> are exported by default.  In LLVM the
+<code class="docutils literal notranslate"><span class="pre">WASM_SYMBOL_EXPORTED</span></code> flag is applied to any symbol in the <code class="docutils literal notranslate"><span class="pre">llvm.used</span></code> list
+which corresponds to <code class="docutils literal notranslate"><span class="pre">__attribute__((used))</span></code> in C/C++ sources.</p>
+<p>In addition, symbols can be exported via the linker command line using
+<code class="docutils literal notranslate"><span class="pre">--export</span></code>.</p>
+<p>Finally, just like with native ELF linker the <code class="docutils literal notranslate"><span class="pre">--export-dynamic</span></code> flag can be
+used to export symbol in the executable which are marked as
+<code class="docutils literal notranslate"><span class="pre">visibility=default</span></code>.</p>
+</div>
+<div class="section" id="garbage-collection">
+<h3>Garbage Collection<a class="headerlink" href="#garbage-collection" title="Permalink to this headline">¶</a></h3>
+<p>Since WebAssembly is designed with size in mind the linker defaults to
+<code class="docutils literal notranslate"><span class="pre">--gc-sections</span></code> which means that all unused functions and data segments will
+be stripped from the binary.</p>
+<p>The symbols which are preserved by default are:</p>
+<ul class="simple">
+<li>The entry point (by default <code class="docutils literal notranslate"><span class="pre">_start</span></code>).</li>
+<li>Any symbol which is to be exported.</li>
+<li>Any symbol transitively referenced by the above.</li>
+</ul>
+</div>
+<div class="section" id="weak-undefined-functions">
+<h3>Weak Undefined Functions<a class="headerlink" href="#weak-undefined-functions" title="Permalink to this headline">¶</a></h3>
+<p>On native platforms, calls to weak undefined functions end up as calls to the
+null function pointer.  With WebAssembly, direct calls must reference a defined
+function (with the correct signature).  In order to handle this case the linker
+will generate function a stub containing only the <code class="docutils literal notranslate"><span class="pre">unreachable</span></code> instruction
+and use this for any direct references to an undefined weak function.</p>
+<p>For example a runtime call to a weak undefined function <code class="docutils literal notranslate"><span class="pre">foo</span></code> will up trapping
+on <code class="docutils literal notranslate"><span class="pre">unreachable</span></code> inside and linker-generated function called
+<code class="docutils literal notranslate"><span class="pre">undefined:foo</span></code>.</p>
+</div>
+</div>
+<div class="section" id="missing-features">
+<h2>Missing features<a class="headerlink" href="#missing-features" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>Merging of data section similar to <code class="docutils literal notranslate"><span class="pre">SHF_MERGE</span></code> in the ELF world is not
+supported.</li>
+<li>No support for creating shared libraries.  The spec for shared libraries in
+WebAssembly is still in flux:
+<a class="reference external" href="https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md">https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md</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="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-2019, LLVM Project.
+      Last updated on 2019-09-19.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.4.
+    </div>
+  </body>
+</html>
\ No newline at end of file

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

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

Added: www-releases/trunk/9.0.0/tools/lld/docs/_images/partitions.svg
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_images/partitions.svg?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_images/partitions.svg (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_images/partitions.svg Thu Sep 19 07:32:46 2019
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="393pt" height="188pt"
+ viewBox="0.00 0.00 393.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
+<title>G</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-184 389,-184 389,4 -4,4"/>
+<!-- part_main -->
+<g id="node1" class="node"><title>part_main</title>
+<text text-anchor="middle" x="47.5" y="-158.3" font-family="Times,serif" font-size="14.00">Main partition</text>
+</g>
+<!-- main -->
+<g id="node4" class="node"><title>main</title>
+<ellipse fill="lightblue" stroke="black" cx="75.5" cy="-90" rx="28.6953" ry="18"/>
+<text text-anchor="middle" x="75.5" y="-86.3" font-family="Times,serif" font-size="14.00">main</text>
+</g>
+<!-- part_main->main -->
+<g id="edge1" class="edge"><title>part_main->main</title>
+<path fill="none" stroke="black" d="M54.4214,-143.697C57.6218,-135.696 61.492,-126.02 65.0381,-117.155"/>
+<polygon fill="black" stroke="black" points="68.3868,-118.207 68.8511,-107.622 61.8874,-115.607 68.3868,-118.207"/>
+</g>
+<!-- part1 -->
+<g id="node2" class="node"><title>part1</title>
+<text text-anchor="middle" x="176.5" y="-158.3" font-family="Times,serif" font-size="14.00">Loadable partition 1</text>
+</g>
+<!-- f1 -->
+<g id="node5" class="node"><title>f1</title>
+<ellipse fill="lightsalmon" stroke="black" cx="176.5" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="176.5" y="-86.3" font-family="Times,serif" font-size="14.00">f1</text>
+</g>
+<!-- part1->f1 -->
+<g id="edge3" class="edge"><title>part1->f1</title>
+<path fill="none" stroke="black" d="M176.5,-143.697C176.5,-135.983 176.5,-126.712 176.5,-118.112"/>
+<polygon fill="black" stroke="black" points="180,-118.104 176.5,-108.104 173,-118.104 180,-118.104"/>
+</g>
+<!-- part2 -->
+<g id="node3" class="node"><title>part2</title>
+<text text-anchor="middle" x="321.5" y="-158.3" font-family="Times,serif" font-size="14.00">Loadable partition 2</text>
+</g>
+<!-- f2 -->
+<g id="node6" class="node"><title>f2</title>
+<ellipse fill="palegreen" stroke="black" cx="284.5" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="284.5" y="-86.3" font-family="Times,serif" font-size="14.00">f2</text>
+</g>
+<!-- part2->f2 -->
+<g id="edge7" class="edge"><title>part2->f2</title>
+<path fill="none" stroke="black" d="M312.354,-143.697C307.97,-135.403 302.636,-125.311 297.813,-116.187"/>
+<polygon fill="black" stroke="black" points="300.801,-114.35 293.034,-107.145 294.612,-117.621 300.801,-114.35"/>
+</g>
+<!-- f3 -->
+<g id="node7" class="node"><title>f3</title>
+<ellipse fill="lightblue" stroke="black" cx="104.5" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="104.5" y="-14.3" font-family="Times,serif" font-size="14.00">f3</text>
+</g>
+<!-- main->f3 -->
+<g id="edge2" class="edge"><title>main->f3</title>
+<path fill="none" stroke="black" d="M82.3726,-72.411C85.7675,-64.2164 89.9422,-54.1395 93.7473,-44.9548"/>
+<polygon fill="black" stroke="black" points="97.0828,-46.0481 97.6767,-35.4699 90.6158,-43.3689 97.0828,-46.0481"/>
+</g>
+<!-- f1->f3 -->
+<g id="edge4" class="edge"><title>f1->f3</title>
+<path fill="none" stroke="black" d="M161.93,-74.8345C151.75,-64.9376 137.976,-51.5462 126.469,-40.3591"/>
+<polygon fill="black" stroke="black" points="128.905,-37.8461 119.296,-33.3847 124.026,-42.865 128.905,-37.8461"/>
+</g>
+<!-- f4 -->
+<g id="node8" class="node"><title>f4</title>
+<ellipse fill="lightsalmon" stroke="black" cx="176.5" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="176.5" y="-14.3" font-family="Times,serif" font-size="14.00">f4</text>
+</g>
+<!-- f1->f4 -->
+<g id="edge5" class="edge"><title>f1->f4</title>
+<path fill="none" stroke="black" d="M176.5,-71.6966C176.5,-63.9827 176.5,-54.7125 176.5,-46.1124"/>
+<polygon fill="black" stroke="black" points="180,-46.1043 176.5,-36.1043 173,-46.1044 180,-46.1043"/>
+</g>
+<!-- f5 -->
+<g id="node9" class="node"><title>f5</title>
+<ellipse fill="lightblue" stroke="black" cx="248.5" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="248.5" y="-14.3" font-family="Times,serif" font-size="14.00">f5</text>
+</g>
+<!-- f1->f5 -->
+<g id="edge6" class="edge"><title>f1->f5</title>
+<path fill="none" stroke="black" d="M191.07,-74.8345C201.25,-64.9376 215.024,-51.5462 226.531,-40.3591"/>
+<polygon fill="black" stroke="black" points="228.974,-42.865 233.704,-33.3847 224.095,-37.8461 228.974,-42.865"/>
+</g>
+<!-- f2->f3 -->
+<g id="edge8" class="edge"><title>f2->f3</title>
+<path fill="none" stroke="black" d="M260.806,-81.0022C232.063,-71.1346 182.266,-53.5073 140.5,-36 138.683,-35.2385 136.825,-34.4358 134.957,-33.6106"/>
+<polygon fill="black" stroke="black" points="136.231,-30.3452 125.68,-29.3829 133.328,-36.7149 136.231,-30.3452"/>
+</g>
+<!-- f2->f5 -->
+<g id="edge9" class="edge"><title>f2->f5</title>
+<path fill="none" stroke="black" d="M276.15,-72.7646C271.788,-64.2831 266.353,-53.7144 261.459,-44.1974"/>
+<polygon fill="black" stroke="black" points="264.49,-42.4395 256.804,-35.1473 258.265,-45.6409 264.49,-42.4395"/>
+</g>
+<!-- f6 -->
+<g id="node10" class="node"><title>f6</title>
+<ellipse fill="palegreen" stroke="black" cx="320.5" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="320.5" y="-14.3" font-family="Times,serif" font-size="14.00">f6</text>
+</g>
+<!-- f2->f6 -->
+<g id="edge10" class="edge"><title>f2->f6</title>
+<path fill="none" stroke="black" d="M292.85,-72.7646C297.212,-64.2831 302.647,-53.7144 307.541,-44.1974"/>
+<polygon fill="black" stroke="black" points="310.735,-45.6409 312.196,-35.1473 304.51,-42.4395 310.735,-45.6409"/>
+</g>
+</g>
+</svg>

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/AtomLLD.rst.txt Thu Sep 19 07:32:46 2019
@@ -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/9.0.0/tools/lld/docs/_sources/Driver.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/Driver.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/Driver.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/Driver.rst.txt Thu Sep 19 07:32:46 2019
@@ -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/9.0.0/tools/lld/docs/_sources/NewLLD.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/NewLLD.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/NewLLD.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/NewLLD.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,317 @@
+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 handle (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 times 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 links
+  it.  It is doable because LLD does not forget symbols it has seen in archive
+  files.
+
+  We believe that LLD's way is efficient and easy to justify.
+
+  The semantics of LLD's archive handling are 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 archive 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.
+
+Other Info
+----------
+
+.. toctree::
+   :maxdepth: 1
+
+   missingkeyfunction

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/Partitions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/Partitions.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/Partitions.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/Partitions.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,116 @@
+Partitions
+==========
+
+.. warning::
+
+  This feature is currently experimental, and its interface is subject
+  to change.
+
+LLD's partitioning feature allows a program (which may be an executable
+or a shared library) to be split into multiple pieces, or partitions. A
+partitioned program consists of a main partition together with a number of
+loadable partitions. The loadable partitions depend on the main partition
+in a similar way to a regular ELF shared object dependency, but unlike a
+shared object, the main partition and the loadable partitions share a virtual
+address space at link time, and each loadable partition is assigned a fixed
+offset from the main partition. This allows the loadable partitions to refer
+to code and data in the main partition directly without the binary size and
+performance overhead of PLTs, GOTs or symbol table entries.
+
+Usage
+-----
+
+A program that uses the partitioning feature must decide which symbols are
+going to be used as the "entry points" for each partition. An entry point
+could, for example, be the equivalent of the partition's ``main`` function, or
+there could be a group of functions that expose the functionality implemented
+by the partition. The intent is that in order to use a loadable partition,
+the program will use ``dlopen``/``dlsym`` or similar functions to dynamically
+load the partition at its assigned address, look up an entry point by name
+and call it. Note, however, that the standard ``dlopen`` function does not
+allow specifying a load address. On Android, the ``android_dlopen_ext``
+function may be used together with the ``ANDROID_DLEXT_RESERVED_ADDRESS``
+flag to load a shared object at a specific address.
+
+Once the entry points have been decided, the translation unit(s)
+containing the entry points should be compiled using the Clang compiler flag
+``-fsymbol-partition=<soname>``, where ``<soname>`` is the intended soname
+of the partition. The resulting object files are passed to the linker in
+the usual way.
+
+The linker will then use these entry points to automatically split the program
+into partitions according to which sections of the program are reachable from
+which entry points, similarly to how ``--gc-sections`` removes unused parts of
+a program. Any sections that are only reachable from a loadable partition's
+entry point are assigned to that partition, while all other sections are
+assigned to the main partition, including sections only reachable from
+loadable partitions.
+
+The following diagram illustrates how sections are assigned to partitions. Each
+section is colored according to its assigned partition.
+
+.. image:: partitions.svg
+
+The result of linking a program that uses partitions is essentially an
+ELF file with all of the partitions concatenated together. This file is
+referred to as a combined output file. To extract a partition from the
+combined output file, the ``llvm-objcopy`` tool should be used together
+with the flag ``--extract-main-partition`` to extract the main partition, or
+``-extract-partition=<soname>`` to extract one of the loadable partitions.
+An example command sequence is shown below:
+
+.. code-block:: shell
+
+  # Compile the main program.
+  clang -ffunction-sections -fdata-sections -c main.c
+
+  # Compile a feature to be placed in a loadable partition.
+  # Note that this is likely to be a separate build step to the main partition.
+  clang -ffunction-sections -fdata-sections -fsymbol-partition=libfeature.so -c feature.c
+
+  # Link the combined output file.
+  clang main.o feature.o -fuse-ld=lld -shared -o libcombined.so -Wl,-soname,libmain.so -Wl,--gc-sections
+
+  # Extract the partitions.
+  llvm-objcopy libcombined.so libmain.so --extract-main-partition
+  llvm-objcopy libcombined.so libfeature.so --extract-partition=libfeature.so
+
+In order to allow a program to discover the names of its loadable partitions
+and the locations of their reserved regions, the linker creates a partition
+index, which is an array of structs with the following definition:
+
+.. code-block:: c
+
+  struct partition_index_entry {
+    int32_t name_offset;
+    int32_t addr_offset;
+    uint32_t size;
+  };
+
+The ``name_offset`` field is a relative pointer to a null-terminated string
+containing the soname of the partition, the ``addr_offset`` field is a
+relative pointer to its load address and the ``size`` field contains the
+size of the region reserved for the partition. To derive an absolute pointer
+from the relative pointer fields in this data structure, the address of the
+field should be added to the value stored in the field.
+
+The program may discover the location of the partition index using the
+linker-defined symbols ``__part_index_begin`` and ``__part_index_end``.
+
+Restrictions
+------------
+
+This feature is currently only supported in the ELF linker.
+
+The partitioning feature may not currently be used together with the
+``SECTIONS`` or ``PHDRS`` linker script features, nor may it be used with the
+``--section-start``, ``-Ttext``, ``-Tdata`` or ``-Tbss`` flags. All of these
+features assume a single set of output sections and/or program headers, which
+makes their semantics ambiguous in the presence of more than one partition.
+
+The partitioning feature may not currently be used on the MIPS architecture
+because it is unclear whether the MIPS multi-GOT ABI is compatible with
+partitions.
+
+The current implementation only supports creating up to 254 partitions due
+to implementation limitations. This limit may be relaxed in the future.

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/Readers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/Readers.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/Readers.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/Readers.rst.txt Thu Sep 19 07:32:46 2019
@@ -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 function 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/9.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/ReleaseNotes.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,231 @@
+=======================
+lld 9.0.0 Release Notes
+=======================
+
+.. contents::
+    :local:
+
+Introduction
+============
+
+lld is a high-performance linker that supports ELF (Unix), COFF
+(Windows), Mach-O (macOS), MinGW and WebAssembly. lld is
+command-line-compatible with GNU linkers and Microsoft link.exe and is
+significantly faster than the system default linkers.
+
+lld 9 has lots of feature improvements and bug fixes.
+
+Non-comprehensive list of changes in this release
+=================================================
+
+ELF Improvements
+----------------
+
+* ld.lld now has typo suggestions for flags:
+  ``$ ld.lld --call-shared`` now prints
+  ``unknown argument '--call-shared', did you mean '--call_shared'``.
+  (`r361518 <https://reviews.llvm.org/rL361518>`_)
+
+* ``--allow-shlib-undefined`` and ``--no-allow-shlib-undefined``
+  options are added. ``--no-allow-shlib-undefined`` is the default for
+  executables.
+  (`r352826 <https://reviews.llvm.org/rL352826>`_)
+
+* ``-nmagic`` and ``-omagic`` options are fully supported.
+  (`r360593 <https://reviews.llvm.org/rL360593>`_)
+
+* Segment layout has changed. PT_GNU_RELRO, which was previously
+  placed in the middle of readable/writable PT_LOAD segments, is now
+  placed at the beginning of them. This change permits lld-produced
+  ELF files to be read correctly by GNU strip older than 2.31, which
+  has a bug to discard a PT_GNU_RELRO in the former layout.
+
+* ``-z common-page-size`` is supported.
+  (`r360593 <https://reviews.llvm.org/rL360593>`_)
+
+* Diagnostics messages have improved. A new flag ``--vs-diagnostics``
+  alters the format of diagnostic output to enable source hyperlinks
+  in Microsoft Visual Studio IDE.
+
+* Linker script compatibility with GNU BFD linker has generally improved.
+
+* The clang ``--dependent-library`` form of autolinking is supported.
+
+  This feature is added to implement the Windows-style autolinking for
+  Unix. On Unix, in order to use a library, you usually have to
+  include a header file provided by the library and then explicitly
+  link the library with the linker ``-l`` option. On Windows, header
+  files usually contain pragmas that list needed libraries. Compilers
+  copy that information to object files, so that linkers can
+  automatically link needed libraries. ``--dependent-library`` is
+  added for implementing that Windows semantics on Unix.
+  (`r360984 <https://reviews.llvm.org/rL360984>`_)
+
+* AArch64 BTI and PAC are supported.
+  (`r362793 <https://reviews.llvm.org/rL362793>`_)
+
+* lld now supports replacing ``JAL`` with ``JALX`` instructions in case
+  of MIPS-microMIPS cross-mode jumps.
+  (`r354311 <https://reviews.llvm.org/rL354311>`_)
+
+* lld now creates LA25 thunks for MIPS R6 code.
+  (`r354312 <https://reviews.llvm.org/rL354312>`_)
+
+* Put MIPS-specific .reginfo, .MIPS.options, and .MIPS.abiflags sections
+  into corresponding PT_MIPS_REGINFO, PT_MIPS_OPTIONS, and PT_MIPS_ABIFLAGS
+  segments.
+
+* The quality of RISC-V and PowerPC ports have greatly improved. Many
+  applications can now be linked by lld. PowerPC64 is now almost
+  production ready.
+
+* The Linux kernel for arm32_7, arm64, ppc64le and x86_64 can now be
+  linked by lld.
+
+* x86-64 TLSDESC is supported.
+  (`r361911 <https://reviews.llvm.org/rL361911>`_,
+  `r362078 <https://reviews.llvm.org/rL362078>`_)
+
+* DF_STATIC_TLS flag is set for i386 and x86-64 when needed.
+  (`r353293 <https://reviews.llvm.org/rL353293>`_,
+  `r353378 <https://reviews.llvm.org/rL353378>`_)
+
+* The experimental partitioning feature is added to allow a program to
+  be split into multiple pieces.
+
+  The feature allows you to semi-automatically split a single program
+  into multiple ELF files called "partitions". Since all partitions
+  share the same memory address space and don't use PLT/GOT, split
+  programs run as fast as regular programs.
+
+  With the mechanism, you can start a program only with a "main"
+  partition and load remaining partitions on-demand. For example, you
+  can split a web browser into a main partition and a PDF reader
+  sub-partition and load the PDF reader partition only when a user
+  tries to open a PDF file.
+
+  See `the documentation <Partitions.html>`_ for more information.
+
+* If "-" is given as an output filename, lld writes the final result
+  to the standard output. Previously, it created a file "-" in the
+  current directory.
+  (`r351852 <https://reviews.llvm.org/rL351852>`_)
+
+* ``-z ifunc-noplt`` option is added to reduce IFunc function call
+  overhead in a freestanding environment such as the OS kernel.
+
+  Functions resolved by the IFunc mechanism are usually dispatched via
+  PLT and thus slower than regular functions because of the cost of
+  indirection. With ``-z ifunc-noplt``, you can eliminate it by doing
+  text relocations at load-time. You need a special loader to utilize
+  this feature. This feature is added for the FreeBSD kernel but can
+  be used by any operating systems.
+  (`r360685 <https://reviews.llvm.org/rL360685>`_)
+
+* ``--undefined-glob`` option is added. The new option is an extension
+  to ``--undefined`` to take a glob pattern instead of a single symbol
+  name.
+  (`r363396 <https://reviews.llvm.org/rL363396>`_)
+
+
+COFF Improvements
+-----------------
+
+* Like the ELF driver, lld-link now has typo suggestions for flags.
+  (`r361518 <https://reviews.llvm.org/rL361518>`_)
+
+* lld-link now correctly reports duplicate symbol errors for object
+  files that were compiled with ``/Gy``.
+  (`r352590 <https://reviews.llvm.org/rL352590>`_)
+
+* lld-link now correctly reports duplicate symbol errors when several
+  resource (.res) input files define resources with the same type,
+  name and language.  This can be demoted to a warning using
+  ``/force:multipleres``.
+  (`r359829 <https://reviews.llvm.org/rL359829>`_)
+
+* lld-link now rejects more than one resource object input files,
+  matching link.exe. Previously, lld-link would silently ignore all
+  but one.  If you hit this: Don't pass resource object files to the
+  linker, instead pass res files to the linker directly. Don't put
+  resource files in static libraries, pass them on the command line.
+  (`r359749 <https://reviews.llvm.org/rL359749>`_)
+
+* Having more than two ``/natvis:`` now works correctly; it used to not
+  work for larger binaries before.
+  (`r327895 <https://reviews.llvm.org/rL327895>`_)
+
+* Undefined symbols are now printed only in demangled form. Pass
+  ``/demangle:no`` to see raw symbol names instead.
+  (`r355878 <https://reviews.llvm.org/rL355878>`_)
+
+* Several speed and memory usage improvements.
+
+* lld-link now supports resource object files created by GNU windres and
+  MS cvtres, not only llvm-cvtres.
+
+* The generated thunks for delayimports now share the majority of code
+  among thunks, significantly reducing the overhead of using delayimport.
+  (`r365823 <https://reviews.llvm.org/rL365823>`_)
+
+* ``IMAGE_REL_ARM{,64}_REL32`` relocations are supported.
+  (`r352325 <https://reviews.llvm.org/rL352325>`_)
+
+* Range extension thunks for AArch64 are now supported, so lld can
+  create large executables for Windows/ARM64.
+  (`r352929 <https://reviews.llvm.org/rL352929>`_)
+
+* The following flags have been added:
+  ``/functionpadmin`` (`r354716 <https://reviews.llvm.org/rL354716>`_),
+  ``/swaprun:`` (`r359192 <https://reviews.llvm.org/rL359192>`_),
+  ``/threads:no`` (`r355029 <https://reviews.llvm.org/rL355029>`_),
+  ``/filealign`` (`r361634 <https://reviews.llvm.org/rL361634>`_)
+
+WebAssembly Improvements
+------------------------
+
+* Imports from custom module names are supported.
+  (`r352828 <https://reviews.llvm.org/rL352828>`_)
+
+* Symbols that are in llvm.used are now exported by default.
+  (`r353364 <https://reviews.llvm.org/rL353364>`_)
+
+* Initial support for PIC and dynamic linking has landed.
+  (`r357022 <https://reviews.llvm.org/rL357022>`_)
+
+* wasm-ld now add ``__start_``/``__stop_`` symbols for data sections.
+  (`r361236 <https://reviews.llvm.org/rL361236>`_)
+
+* wasm-ld now doesn't report an error on archives without a symbol index.
+  (`r364338 <https://reviews.llvm.org/rL364338>`_)
+
+* The following flags have been added:
+  ``--emit-relocs`` (`r361635 <https://reviews.llvm.org/rL361635>`_),
+  ``--wrap`` (`r361639 <https://reviews.llvm.org/rL361639>`_),
+  ``--trace`` and ``--trace-symbol``
+  (`r353264 <https://reviews.llvm.org/rL353264>`_).
+
+
+MinGW Improvements
+------------------
+
+* lld now correctly links crtend.o as the last object file, handling
+  terminators for the sections such as .eh_frame properly, fixing
+  DWARF exception handling with libgcc and gcc's crtend.o.
+
+* lld now also handles DWARF unwind info generated by GCC, when linking
+  with libgcc.
+
+* PDB output can be requested without manually specifying the PDB file
+  name, with the new option ``-pdb=`` with an empty value to the option.
+  (The old existing syntax ``-pdb <filename>`` was more cumbersome to use
+  with an empty parameter value.)
+
+* ``--no-insert-timestamp`` option is added as an alias to ``/timestamp:0``.
+  (`r353145 <https://reviews.llvm.org/rL353145>`_)
+
+* Many more GNU ld options are now supported, which e.g. allows the lld
+  MinGW frontend to be called by GCC.
+
+* The following options are added: ``--exclude-all-symbols``,
+  ``--appcontainer``, ``--undefined``

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/WebAssembly.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,166 @@
+WebAssembly lld port
+====================
+
+The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
+a WebAssembly binary as its output.  For the most part it tries to mimic the
+behaviour of traditional ELF linkers and specifically the ELF lld port.  Where
+possible the command line flags and the semantics should be the same.
+
+
+Object file format
+------------------
+
+The WebAssembly object file format used by LLVM and LLD is specified as part of
+the WebAssembly tool conventions on linking_.
+
+This is the object format that the llvm will produce when run with the
+``wasm32-unknown-unknown`` target.
+
+Usage
+-----
+
+The WebAssembly version of lld is installed as **wasm-ld**.  It shared many 
+common linker flags with **ld.lld** but also includes several
+WebAssembly-specific options:
+
+.. option:: --no-entry
+
+  Don't search for the entry point symbol (by default ``_start``).
+
+.. option:: --export-table
+
+  Export the function table to the environment.
+
+.. option:: --import-table
+
+  Import the function table from the environment.
+
+.. option:: --export-all
+
+  Export all symbols (normally combined with --no-gc-sections)
+
+.. option:: --export-dynamic
+
+  When building an executable, export any non-hidden symbols.  By default only
+  the entry point and any symbols marked with --export/--export-all are
+  exported.
+
+.. option:: --global-base=<value>
+
+  Address at which to place global data.
+
+.. option:: --no-merge-data-segments
+
+  Disable merging of data segments.
+
+.. option:: --stack-first
+
+  Place stack at start of linear memory rather than after data.
+
+.. option:: --compress-relocations
+
+  Relocation targets in the code section 5-bytes wide in order to potentially
+  occomate the largest LEB128 value.  This option will cause the linker to
+  shirnk the code section to remove any padding from the final output.  However
+  because it effects code offset, this option is not comatible with outputing
+  debug information.
+
+.. option:: --allow-undefined
+
+  Allow undefined symbols in linked binary.
+
+.. option:: --import-memory
+
+  Import memory from the environment.
+
+.. option:: --initial-memory=<value>
+
+  Initial size of the linear memory. Default: static data size.
+
+.. option:: --max-memory=<value>
+
+  Maximum size of the linear memory. Default: unlimited.
+
+By default the function table is neither imported nor exported, but defined
+for internal use only.
+
+Behaviour
+---------
+
+In general, where possible, the WebAssembly linker attempts to emulate the
+behaviour of a traditional ELF linker, and in particular the ELF port of lld.
+For more specific details on how this is achieved see the tool conventions on
+linking_.
+
+Function Signatures
+~~~~~~~~~~~~~~~~~~~
+
+One way in which the WebAssembly linker differs from traditional native linkers
+is that function signature checking is strict in WebAssembly.  It is a
+validation error for a module to contain a call site that doesn't agree with
+the target signature.  Even though this is undefined behaviour in C/C++, it is not
+uncommon to find this in real-world C/C++ programs.  For example, a call site in
+one compilation unit which calls a function defined in another compilation
+unit but with too many arguments.
+
+In order not to generate such invalid modules, lld has two modes of handling such
+mismatches: it can simply error-out or it can create stub functions that will
+trap at runtime (functions that contain only an ``unreachable`` instruction)
+and use these stub functions at the otherwise invalid call sites.
+
+The default behaviour is to generate these stub function and to produce
+a warning.  The ``--falal-warnings`` flag can be used to disable this behaviour
+and error out if mismatched are found.
+
+Imports and Exports
+~~~~~~~~~~~~~~~~~~~
+
+When building a shared library any symbols marked as ``visibility=default`` will
+be exported.  When building an executable, only the entry point and symbols
+flagged as ``WASM_SYMBOL_EXPORTED`` are exported by default.  In LLVM the
+``WASM_SYMBOL_EXPORTED`` flag is applied to any symbol in the ``llvm.used`` list
+which corresponds to ``__attribute__((used))`` in C/C++ sources.
+
+In addition, symbols can be exported via the linker command line using
+``--export``.
+
+Finally, just like with native ELF linker the ``--export-dynamic`` flag can be
+used to export symbol in the executable which are marked as
+``visibility=default``.
+
+Garbage Collection
+~~~~~~~~~~~~~~~~~~
+
+Since WebAssembly is designed with size in mind the linker defaults to
+``--gc-sections`` which means that all unused functions and data segments will
+be stripped from the binary.
+
+The symbols which are preserved by default are:
+
+- The entry point (by default ``_start``).
+- Any symbol which is to be exported.
+- Any symbol transitively referenced by the above.
+
+Weak Undefined Functions
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+On native platforms, calls to weak undefined functions end up as calls to the
+null function pointer.  With WebAssembly, direct calls must reference a defined
+function (with the correct signature).  In order to handle this case the linker
+will generate function a stub containing only the ``unreachable`` instruction
+and use this for any direct references to an undefined weak function.
+
+For example a runtime call to a weak undefined function ``foo`` will up trapping
+on ``unreachable`` inside and linker-generated function called
+``undefined:foo``.
+
+Missing features
+----------------
+
+- Merging of data section similar to ``SHF_MERGE`` in the ELF world is not
+  supported.
+- No support for creating shared libraries.  The spec for shared libraries in
+  WebAssembly is still in flux:
+  https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md
+
+.. _linking: https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/design.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/design.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/design.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/design.rst.txt Thu Sep 19 07:32:46 2019
@@ -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/9.0.0/tools/lld/docs/_sources/development.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/development.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/development.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/development.rst.txt Thu Sep 19 07:32:46 2019
@@ -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/9.0.0/tools/lld/docs/_sources/getting_started.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/getting_started.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/getting_started.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/getting_started.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,87 @@
+.. _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 and subprojects (including lld)::
+
+     $ git clone https://github.com/llvm/llvm-project.git
+
+4. Build LLVM and lld::
+
+     $ cd llvm-project
+     $ mkdir build && cd build
+     $ cmake -G "Unix Makefiles" -DLLVM_ENABLE_PROJECTS=lld ../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 as above.
+
+#. Generate Visual Studio project files::
+
+     $ cd llvm-project/build (out of source build required)
+     $ cmake -G "Visual Studio 11" -DLLVM_ENABLE_PROJECTS=lld ../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/9.0.0/tools/lld/docs/_sources/index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/index.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/index.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/index.rst.txt Thu Sep 19 07:32:46 2019
@@ -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 complete, including
+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 the 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, AArch64, and ARM (>= v6) are production quality.
+  MIPS seems decent too. x86 should be OK but is not well tested yet.
+
+- 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 in your program to eliminate dependencies on
+  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 a completely 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 checked out LLVM, the easiest way to build LLD is to
+check out 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/llvm-project 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
+   missingkeyfunction
+   Partitions
+   ReleaseNotes

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/missingkeyfunction.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/missingkeyfunction.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/missingkeyfunction.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/missingkeyfunction.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,85 @@
+Missing Key Function
+====================
+
+If your build failed with a linker error something like this::
+
+  foo.cc:28: error: undefined reference to 'vtable for C'
+  the vtable symbol may be undefined because the class is missing its key function
+  (see https://lld.llvm.org/missingkeyfunction)
+
+it's likely that your class C has a key function (defined by the ABI as the first
+non-pure, non-inline, virtual function), but you haven't actually defined it.
+
+When a class has a key function, the compiler emits the vtable (and some other
+things as well) only in the translation unit that defines that key function. Thus,
+if you're missing the key function, you'll also be missing the vtable. If no other
+function calls your missing function, you won't see any undefined reference errors
+for it, but you will see undefined references to the vtable symbol.
+
+When a class has no non-pure, non-inline, virtual functions, there is no key
+function, and the compiler is forced to emit the vtable in every translation unit
+that references the class. In this case, it is emitted in a COMDAT section,
+which allows the linker to eliminate all duplicate copies. This is still
+wasteful in terms of object file size and link time, so it's always advisable to
+ensure there is at least one eligible function that can serve as the key function.
+
+Here are the most common mistakes that lead to this error:
+
+Failing to define a virtual destructor
+--------------------------------------
+
+Say you have a base class declared in a header file::
+
+  class B {
+  public:
+    B();
+    virtual ~B();
+    ...
+  };
+
+Here, ``~B`` is the first non-pure, non-inline, virtual function, so it is the key
+function. If you forget to define ``B::~B`` in your source file, the compiler will
+not emit the vtable for ``B``, and you'll get an undefined reference to "vtable
+for B".
+
+This is just an example of the more general mistake of forgetting to define the
+key function, but it's quite common because virtual destructors are likely to be
+the first eligible key function and it's easy to forget to implement them. It's
+also more likely that you won't have any direct references to the destructor, so
+you won't see any undefined reference errors that point directly to the problem.
+
+The solution in this case is to implement the missing function.
+
+Forgetting to declare a virtual function in an abstract class as pure
+---------------------------------------------------------------------
+
+Say you have an abstract base class declared in a header file::
+
+  class A {
+  public:
+    A();
+    virtual ~A() {}
+    virtual int foo() = 0;
+    ...
+    virtual int bar();
+    ...
+  };
+
+This base class is intended to be abstract, but you forgot to mark one of the
+functions pure. Here, ``A::bar``, being non-pure, is nominated as the key function,
+and as a result, the vtable for ``A`` is not emitted, because the compiler is
+waiting for a translation unit that defines ``A::bar``.
+
+The solution in this case is to add the missing ``= 0`` to the declaration of
+``A::bar``.
+
+Key function is defined, but the linker doesn't see it
+------------------------------------------------------
+
+It's also possible that you have defined the key function somewhere, but the
+object file containing the definition of that function isn't being linked into
+your application.
+
+The solution in this case is to check your dependencies to make sure that
+the object file or the library file containing the key function is given to
+the linker.

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/open_projects.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/open_projects.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/open_projects.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/open_projects.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,9 @@
+.. _open_projects:
+
+Open Projects
+=============
+
+Documentation TODOs
+~~~~~~~~~~~~~~~~~~~
+
+.. todolist::

Added: www-releases/trunk/9.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/sphinx_intro.rst.txt Thu Sep 19 07:32:46 2019
@@ -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``.
+
+  macOS
+    All modern macOS 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/9.0.0/tools/lld/docs/_sources/windows_support.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_sources/windows_support.rst.txt?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_sources/windows_support.rst.txt (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_sources/windows_support.rst.txt Thu Sep 19 07:32:46 2019
@@ -0,0 +1,97 @@
+.. raw:: html
+
+  <style type="text/css">
+    .none { background-color: #FFCCCC }
+    .partial { background-color: #FFFF99 }
+    .good { background-color: #CCFF99 }
+  </style>
+
+.. role:: none
+.. role:: partial
+.. role:: good
+
+===============
+Windows support
+===============
+
+LLD supports Windows operating system. When invoked as ``lld-link.exe`` or with
+``-flavor link``, the driver for Windows operating system is used to parse
+command line options, and it drives further linking processes. LLD accepts
+almost all command line options that the linker shipped with Microsoft Visual
+C++ (link.exe) supports.
+
+The current status is that LLD is used to link production builds of large
+real-world binaries such as Firefox and Chromium.
+
+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
+  :good:`Done`.  LLD can emit PDBs that are at parity with those generated by
+  link.exe.  However, LLD does not support /DEBUG:FASTLINK.
+
+
+Downloading LLD
+===============
+
+The Windows version of LLD is included in the `pre-built binaries of LLVM's
+releases <https://releases.llvm.org/download.html>`_ and in the `LLVM Snapshot
+Builds <https://llvm.org/builds/>`_.
+
+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/9.0.0/tools/lld/docs/_static/ajax-loader.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_static/ajax-loader.gif?rev=372328&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/9.0.0/tools/lld/docs/_static/basic.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_static/basic.css?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_static/basic.css (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_static/basic.css Thu Sep 19 07:32:46 2019
@@ -0,0 +1,676 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2019 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 form.search {
+    overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    float: left;
+    width: 80%;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    float: left;
+    width: 20%;
+    border-left: none;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+
+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 {
+    min-width: 450px;
+    max-width: 800px;
+}
+
+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.align-center {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+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;
+}
+
+.field-name {
+    -moz-hyphens: manual;
+    -ms-hyphens: manual;
+    -webkit-hyphens: manual;
+    hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist td {
+    vertical-align: top;
+}
+
+
+/* -- 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, span.highlighted {
+    background-color: #fbe54e;
+}
+
+rect.highlighted {
+    fill: #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/9.0.0/tools/lld/docs/_static/comment-bright.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_static/comment-bright.png?rev=372328&view=auto
==============================================================================
Binary file - no diff available.

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

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

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

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

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

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

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

Added: www-releases/trunk/9.0.0/tools/lld/docs/_static/doctools.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_static/doctools.js?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_static/doctools.js (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_static/doctools.js Thu Sep 19 07:32:46 2019
@@ -0,0 +1,315 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2019 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, addItems) {
+    if (node.nodeType === 3) {
+      var val = node.nodeValue;
+      var pos = val.toLowerCase().indexOf(text);
+      if (pos >= 0 &&
+          !jQuery(node.parentNode).hasClass(className) &&
+          !jQuery(node.parentNode).hasClass("nohighlight")) {
+        var span;
+        var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+        if (isInSVG) {
+          span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+        } else {
+          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);
+        if (isInSVG) {
+          var bbox = span.getBBox();
+          var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+       	  rect.x.baseVal.value = bbox.x;
+          rect.y.baseVal.value = bbox.y;
+          rect.width.baseVal.value = bbox.width;
+          rect.height.baseVal.value = bbox.height;
+          rect.setAttribute('class', className);
+          var parentOfText = node.parentNode.parentNode;
+          addItems.push({
+              "parent": node.parentNode,
+              "target": rect});
+        }
+      }
+    }
+    else if (!jQuery(node).is("button, select, textarea")) {
+      jQuery.each(node.childNodes, function() {
+        highlight(this, addItems);
+      });
+    }
+  }
+  var addItems = [];
+  var result = this.each(function() {
+    highlight(this, addItems);
+  });
+  for (var i = 0; i < addItems.length; ++i) {
+    jQuery(addItems[i].parent).before(addItems[i].target);
+  }
+  return result;
+};
+
+/*
+ * 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();
+    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
+      this.initOnKeyListeners();
+    }
+  },
+
+  /**
+   * 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 && $.browser.mozilla)
+      window.setTimeout(function() {
+        document.location.href += '';
+      }, 10);
+  },
+
+  /**
+   * highlight the search words provided in the url in the text
+   */
+  highlightSearchWords : function() {
+    var params = $.getQueryParameters();
+    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+    if (terms.length) {
+      var body = $('div.body');
+      if (!body.length) {
+        body = $('body');
+      }
+      window.setTimeout(function() {
+        $.each(terms, function() {
+          body.highlightText(this.toLowerCase(), 'highlighted');
+        });
+      }, 10);
+      $('<p class="highlight-link"><a href="javascript:Documentation.' +
+        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+          .appendTo($('#searchbox'));
+    }
+  },
+
+  /**
+   * init the domain index toggle buttons
+   */
+  initIndexTable : function() {
+    var togglers = $('img.toggler').click(function() {
+      var src = $(this).attr('src');
+      var idnum = $(this).attr('id').substr(7);
+      $('tr.cg-' + idnum).toggle();
+      if (src.substr(-9) === 'minus.png')
+        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+      else
+        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+    }).css('display', '');
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+        togglers.click();
+    }
+  },
+
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords : function() {
+    $('#searchbox .highlight-link').fadeOut(300);
+    $('span.highlighted').removeClass('highlighted');
+  },
+
+  /**
+   * make the url absolute
+   */
+  makeURL : function(relativeURL) {
+    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+  },
+
+  /**
+   * get the current relative url
+   */
+  getCurrentURL : function() {
+    var path = document.location.pathname;
+    var parts = path.split(/\//);
+    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+      if (this === '..')
+        parts.pop();
+    });
+    var url = parts.join('/');
+    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+  },
+
+  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();
+});

Added: www-releases/trunk/9.0.0/tools/lld/docs/_static/documentation_options.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/9.0.0/tools/lld/docs/_static/documentation_options.js?rev=372328&view=auto
==============================================================================
--- www-releases/trunk/9.0.0/tools/lld/docs/_static/documentation_options.js (added)
+++ www-releases/trunk/9.0.0/tools/lld/docs/_static/documentation_options.js Thu Sep 19 07:32:46 2019
@@ -0,0 +1,10 @@
+var DOCUMENTATION_OPTIONS = {
+    URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
+    VERSION: '9',
+    LANGUAGE: 'None',
+    COLLAPSE_INDEX: false,
+    FILE_SUFFIX: '.html',
+    HAS_SOURCE: true,
+    SOURCELINK_SUFFIX: '.txt',
+    NAVIGATION_WITH_KEYS: false,
+};
\ No newline at end of file

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

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

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

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

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

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

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

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




More information about the llvm-commits mailing list