[www-releases] r225843 - Add documentation for 3.5.1

Tom Stellard thomas.stellard at amd.com
Tue Jan 13 14:55:45 PST 2015


Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DiagnosticSerializationKinds_8inc_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DiagnosticSerializationKinds_8inc_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DiagnosticSerializationKinds_8inc_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DiagnosticSerializationKinds_8inc_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: DiagnosticSerializationKinds.inc Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_84b4cac0f3db7adb733be733ea7bc48e.html">Basic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">DiagnosticSerializationKinds.inc</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="DiagnosticSerializationKinds_8inc.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="preprocessor">#ifdef SERIALIZATIONSTART</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="preprocessor"></span><a class="code" href="namespaceclang_1_1diag.html#adcf10752f419a321977f879735321139afb32f1cc218d1d96ef27ccdff1aad999">__SERIALIZATIONSTART</a> = <a class="code" href="namespaceclang_1_1diag.html#a40351033fdcc11aaec44666cb9753d1aaaf78883f76572801016af8570296aa82">DIAG_START_SERIALIZATION</a>,</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="preprocessor">#undef SERIALIZATIONSTART</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_fe_not_a_pch_file, CLASS_ERROR, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a>, <span class="stringliteral">"input is not a PCH file: '%0'"</span>, 0, SFINAE_SubstitutionFailure, <span class="keyword">false</span>, <span class="keyword">false</span>, 0)</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_fe_pch_file_modified, CLASS_ERROR, diag::<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">MAP_FATAL</a>, "file '%0' <a class="code" href="namespaceclang_1_1ast__matchers.html#aefb790eb4bd3585a92e5805f652b6b3a" title="Matches the first method of a class or struct that satisfies InnerMatcher.">has</a> been modified since the precompiled header '%1' was built", 0, SFINAE_SubstitutionFailure, <a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>, false, 0)</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_fe_pch_file_overridden, CLASS_ERROR, diag::<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">MAP_ERROR</a>, "file '%0' from the precompiled header <a class="code" href="namespaceclang_1_1ast__matchers.html#aefb790eb4bd3585a92e5805f652b6b3a" title="Matches the first method of a class or struct that satisfies InnerMatcher.">has</a> been overridden", 0, SFINAE_SubstitutionFailure, false, false, 0)</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_fe_pch_malformed, CLASS_ERROR, diag::MAP_FATAL, "malformed <a class="code" href="iso646_8h.html#a339a611d7f9dc3a59c359f0da7beaf3c">or</a> corrupted AST file: '%0'", 0, SFINAE_SubstitutionFailure, false, false, 0)</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_fe_pch_malformed_block, CLASS_ERROR, diag::MAP_FATAL, "malformed block record in PCH file: '%0'", 0, SFINAE_SubstitutionFailure, false, false, 0)</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_fe_unable_to_read_pch_file, CLASS_ERROR, diag::MAP_ERROR, "unable to read PCH file %0: '%1'", 0, SFINAE_SubstitutionFailure, false, false, 0)</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_module_odr_violation_missing_decl, CLASS_ERROR, diag::MAP_ERROR, "%q0 from module '%1' is <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> present in definition of %q2%select{ in module <span class="stringliteral">'%4'</span>| provided earlier}3<span class="stringliteral">", 0, SFINAE_Report, false, false, 0)</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="stringliteral">DIAG(err_not_a_pch_file, CLASS_ERROR, diag::MAP_FATAL, "</span><span class="stringliteral">'%0'</span> does <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> appear to be a precompiled header file<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="stringliteral">DIAG(err_pch_langopt_mismatch, CLASS_ERROR, diag::MAP_ERROR, "</span>%0 was %select{disabled|enabled}1 in PCH file but is currently %select{disabled|enabled}2<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="stringliteral">DIAG(err_pch_langopt_value_mismatch, CLASS_ERROR, diag::MAP_ERROR, "</span>%0 differs in PCH file vs. current file<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="stringliteral">DIAG(err_pch_macro_def_conflict, CLASS_ERROR, diag::MAP_ERROR, "</span>definition of macro <span class="stringliteral">'%0'</span> differs between the precompiled header (<span class="stringliteral">'%1'</span>) <a class="code" href="iso646_8h.html#aa3d7d535cf450b91b9cb6d9cee2edbb9">and</a> the command line ('%2')", 0, SFINAE_SubstitutionFailure, <a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>, false, 0)</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(err_pch_macro_def_undef, CLASS_ERROR, diag::<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">MAP_ERROR</a>, "macro '%0' was %select{defined|undef<span class="stringliteral">'d}1 in the precompiled header but %select{undef'</span>d|defined}1 on the command line<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="stringliteral">DIAG(err_pch_pp_detailed_record, CLASS_ERROR, diag::MAP_ERROR, "</span>%select{command line contains|precompiled header was built with}0 <span class="stringliteral">'-detailed-preprocessing-record'</span> but %select{precompiled header was <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> built with it|it is <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> present on the command line}0<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="stringliteral">DIAG(err_pch_targetopt_feature_mismatch, CLASS_ERROR, diag::MAP_ERROR, "</span>%select{AST file|current translation unit}0 was compiled with the target feature<span class="stringliteral">'%1'</span> but the %select{current translation unit is|AST file was}0 <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a><span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="stringliteral">DIAG(err_pch_targetopt_mismatch, CLASS_ERROR, diag::MAP_ERROR, "</span>PCH file was compiled <span class="keywordflow">for</span> the %0 <span class="stringliteral">'%1'</span> but the current translation unit is being compiled <span class="keywordflow">for</span> target <span class="stringliteral">'%2'</span><span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="stringliteral">DIAG(err_pch_undef, CLASS_ERROR, diag::MAP_ERROR, "</span>%select{command line contains|precompiled header was built with}0 <span class="stringliteral">'-undef'</span> but %select{precompiled header was <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> built with it|it is <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> present on the command line}0<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="stringliteral">DIAG(err_pch_with_compiler_errors, CLASS_ERROR, diag::MAP_ERROR, "</span>PCH file contains compiler errors<span class="stringliteral">", 0, SFINAE_SubstitutionFailure, false, false, 0)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="stringliteral">DIAG(note_module_cache_path, CLASS_NOTE, diag::MAP_FATAL, "</span>after modifying system headers, please <span class="keyword">delete</span> the module cache at <span class="stringliteral">'%0'</span><span class="stringliteral">", 0, SFINAE_Suppress, false, false, 0)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="stringliteral">DIAG(note_module_odr_violation_no_possible_decls, CLASS_NOTE, diag::MAP_FATAL, "</span>definition <a class="code" href="namespaceclang_1_1ast__matchers.html#aefb790eb4bd3585a92e5805f652b6b3a" title="Matches the first method of a class or struct that satisfies InnerMatcher.">has</a> no member %0<span class="stringliteral">", 0, SFINAE_Suppress, false, false, 0)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="stringliteral">DIAG(note_module_odr_violation_possible_decl, CLASS_NOTE, diag::MAP_FATAL, "</span>declaration of %0 does <a class="code" href="iso646_8h.html#a31739c27bdcfdac9faae7bf7a5df49e4">not</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#a58409ce605d979d1d1e0a600ec417a0a" title="Returns the results of matching Matcher on Node.">match</a><span class="stringliteral">", 0, SFINAE_Suppress, false, false, 0)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="stringliteral">DIAG(warn_module_conflict, CLASS_WARNING, diag::MAP_WARNING, "</span>module <span class="stringliteral">'%0'</span> conflicts with already-imported module <span class="stringliteral">'%1'</span>: %2<span class="stringliteral">", 254, SFINAE_Suppress, false, false, 0)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="stringliteral">DIAG(warn_pch_different_branch, CLASS_ERROR, diag::MAP_ERROR, "</span>PCH file built from a different branch (%0) than the compiler (%1)", 0, SFINAE_SubstitutionFailure, <a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>, false, 0)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(warn_pch_version_too_new, CLASS_ERROR, diag::<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">MAP_ERROR</a>, "PCH file uses a newer PCH format that cannot be read", 0, SFINAE_SubstitutionFailure, false, false, 0)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <a class="code" href="AnalysisDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">DIAG</a>(warn_pch_version_too_old, CLASS_ERROR, diag::MAP_ERROR, "PCH file uses an older PCH format that is no longer supported", 0, SFINAE_SubstitutionFailure, false, false, 0)</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:34 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1082 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Diagnostic.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_24bca364b0f2c7358ed9eed68d952c0d.html">Basic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Diagnostic.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Diagnostic_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- Diagnostic.cpp - C Language Family Diagnostic Handling -----------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file implements the Diagnostic-related interfaces.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="CharInfo_8h.html">clang/Basic/CharInfo.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="Diagnostic_8h.html" title="Defines the Diagnostic-related interfaces.">clang/Basic/Diagnostic.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticOptions_8h.html">clang/Basic/DiagnosticOptions.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="IdentifierTable_8h.html" title="Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.">clang/Basic/IdentifierTable.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="PartialDiagnostic_8h.html" title="Implements a partial diagnostic that can be emitted anwyhere in a DiagnosticBuilder stream...">clang/Basic/PartialDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/ADT/StringExtras.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/Support/CrashRecoveryContext.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#aa01cf0c7e7fce863808eeb5f38d3ffb7">   26</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="Diagnostic_8cpp.html#aa01cf0c7e7fce863808eeb5f38d3ffb7">DummyArgToStringFn</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">DiagnosticsEngine::ArgumentKind</a> AK, intptr_t QT,</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *Modifier, <span class="keywordtype">unsigned</span> ML,</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>                                <span class="keyword">const</span> <span class="keywordtype">char</span> *Argument, <span class="keywordtype">unsigned</span> ArgLen,</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af50b13463dbe2766de671674f12f6965" title="Represents on argument value, which is a union discriminated by ArgumentKind, with a value...">DiagnosticsEngine::ArgumentValue</a> *PrevArgs,</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>                                <span class="keywordtype">unsigned</span> NumPrevArgs,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>                                <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &Output,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>                                <span class="keywordtype">void</span> *Cookie,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>                                <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<intptr_t></a> QualTypeVals) {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *Str = <span class="stringliteral">"<can't format argument>"</span>;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   Output.append(Str, Str+strlen(Str));</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> }</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a3d1126eb847347842dfa88392c38ff25">   39</a></span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a3d1126eb847347842dfa88392c38ff25">DiagnosticsEngine::DiagnosticsEngine</a>(</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticIDs></a> &diags,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>                        <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *DiagOpts,       </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>                        <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *client, <span class="keywordtype">bool</span> ShouldOwnClient)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   : Diags(diags), DiagOpts(DiagOpts), Client(client),</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     OwnsDiagClient(ShouldOwnClient), <a class="code" href="Format_8cpp.html#a8b28f9f83ac8256fbde7e45b0f874f27">SourceMgr</a>(0) {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   ArgToStringFn = <a class="code" href="Diagnostic_8cpp.html#aa01cf0c7e7fce863808eeb5f38d3ffb7">DummyArgToStringFn</a>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   ArgToStringCookie = 0;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   AllExtensionsSilenced = 0;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   IgnoreAllWarnings = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   WarningsAsErrors = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   EnableAllWarnings = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   ErrorsAsFatal = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   SuppressSystemWarnings = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   SuppressAllDiagnostics = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   ElideType = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   PrintTemplateTree = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   ShowColors = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   ShowOverloads = <a class="code" href="namespaceclang.html#a066f28b64b12e835348655bf9a6adef1a41150494219e0603be62e260605a6e94" title="Show all overloads.">Ovl_All</a>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   ExtBehavior = <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163a95c1eb5fa2c095272ecdd49255d30047">Ext_Ignore</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   ErrorLimit = 0;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   TemplateBacktraceLimit = 0;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   ConstexprBacktraceLimit = 0;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a0e230f0a2fffbc40b97a9971e6b3939f" title="Reset the state of the diagnostic object to its initial configuration.">Reset</a>();</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ab41d33d4b73dc3dc3d516ba3eea6f692">   68</a></span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ab41d33d4b73dc3dc3d516ba3eea6f692">DiagnosticsEngine::~DiagnosticsEngine</a>() {</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keywordflow">if</span> (OwnsDiagClient)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="keyword">delete</span> Client;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a73d6622e8b775233db09bc294a4b1bb0">   73</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a73d6622e8b775233db09bc294a4b1bb0" title="Set the diagnostic client associated with this diagnostic object.">DiagnosticsEngine::setClient</a>(<a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *client,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>                                   <span class="keywordtype">bool</span> ShouldOwnClient) {</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keywordflow">if</span> (OwnsDiagClient && Client)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>     <span class="keyword">delete</span> Client;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   Client = client;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   OwnsDiagClient = ShouldOwnClient;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> }</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a883e9b209051501cfbcbb7f6e565cc24">   82</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a883e9b209051501cfbcbb7f6e565cc24" title="Copies the current DiagMappings and pushes the new copy onto the top of the stack.">DiagnosticsEngine::pushMappings</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   DiagStateOnPushStack.push_back(GetCurDiagState());</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> }</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#af7b034786d4d20a30ca403b8d831a0c4">   86</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af7b034786d4d20a30ca403b8d831a0c4" title="Pops the current DiagMappings off the top of the stack, causing the new top of the stack to be the ac...">DiagnosticsEngine::popMappings</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <span class="keywordflow">if</span> (DiagStateOnPushStack.empty())</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="keywordflow">if</span> (DiagStateOnPushStack.back() != GetCurDiagState()) {</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="comment">// State changed at some point between push/pop.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     PushDiagStatePoint(DiagStateOnPushStack.back(), Loc);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   }</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   DiagStateOnPushStack.pop_back();</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> }</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a0e230f0a2fffbc40b97a9971e6b3939f">   98</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a0e230f0a2fffbc40b97a9971e6b3939f" title="Reset the state of the diagnostic object to its initial configuration.">DiagnosticsEngine::Reset</a>() {</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   ErrorOccurred = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   UncompilableErrorOccurred = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   FatalErrorOccurred = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   UnrecoverableErrorOccurred = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   NumWarnings = 0;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   NumErrors = 0;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   NumErrorsSuppressed = 0;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   TrapNumErrorsOccurred = 0;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   TrapNumUnrecoverableErrorsOccurred = 0;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>   </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   CurDiagID = ~0U;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   LastDiagLevel = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da79407e379e5d2dd291bb0f1bc3f1def0">DiagnosticIDs::Ignored</a>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   DelayedDiagID = 0;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <span class="comment">// Clear state related to #pragma diagnostic.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   DiagStates.clear();</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   DiagStatePoints.clear();</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   DiagStateOnPushStack.clear();</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   <span class="comment">// Create a DiagState and DiagStatePoint representing diagnostic changes</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="comment">// through command-line.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   DiagStates.push_back(DiagState());</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   DiagStatePoints.push_back(DiagStatePoint(&DiagStates.back(), <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a>()));</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> }</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a621253f276989c5bb257cdc504a67ee4">  125</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a621253f276989c5bb257cdc504a67ee4" title="Set the "delayed" diagnostic that will be emitted once the current diagnostic completes.">DiagnosticsEngine::SetDelayedDiagnostic</a>(<span class="keywordtype">unsigned</span> DiagID, StringRef Arg1,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>                                              StringRef Arg2) {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="keywordflow">if</span> (DelayedDiagID)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   DelayedDiagID = DiagID;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   DelayedDiagArg1 = Arg1.str();</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   DelayedDiagArg2 = Arg2.str();</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="keywordtype">void</span> DiagnosticsEngine::ReportDelayed() {</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(DelayedDiagID) << DelayedDiagArg1 << DelayedDiagArg2;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   DelayedDiagID = 0;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   DelayedDiagArg1.clear();</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   DelayedDiagArg2.clear();</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> }</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> DiagnosticsEngine::DiagStatePointsTy::iterator</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> DiagnosticsEngine::GetDiagStatePointForLoc(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> L)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   assert(!DiagStatePoints.empty());</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   assert(DiagStatePoints.front().Loc.isInvalid() &&</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>          <span class="stringliteral">"Should have created a DiagStatePoint for command-line"</span>);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   <span class="keywordflow">if</span> (!SourceMgr)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     <span class="keywordflow">return</span> DiagStatePoints.end() - 1;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc(L, *SourceMgr);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="keywordflow">if</span> (Loc.isInvalid())</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>     <span class="keywordflow">return</span> DiagStatePoints.end() - 1;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   DiagStatePointsTy::iterator Pos = DiagStatePoints.end();</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> LastStateChangePos = DiagStatePoints.back().Loc;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   <span class="keywordflow">if</span> (LastStateChangePos.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() &&</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>       Loc.isBeforeInTranslationUnitThan(LastStateChangePos))</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>     Pos = std::upper_bound(DiagStatePoints.begin(), DiagStatePoints.end(),</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>                            DiagStatePoint(0, Loc));</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   --Pos;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   <span class="keywordflow">return</span> Pos;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> }</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f">  165</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f" title="This allows the client to specify that certain warnings are ignored.">DiagnosticsEngine::setDiagnosticMapping</a>(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> <a class="code" href="namespaceclang_1_1LangAS.html#a241b6fc974438ba623ec877f2b294f0c">Map</a>,</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>                                              <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> L) {</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   assert(Diag < <a class="code" href="namespaceclang_1_1diag.html#a40351033fdcc11aaec44666cb9753d1aa44f00166a24996b6d2bef128933b8ff4">diag::DIAG_UPPER_LIMIT</a> &&</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>          <span class="stringliteral">"Can only map builtin diagnostics"</span>);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   assert((Diags->isBuiltinWarningOrExtension(Diag) ||</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>           (Map == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a> || Map == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a>)) &&</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>          <span class="stringliteral">"Cannot map errors into warnings!"</span>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   assert(!DiagStatePoints.empty());</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   assert((L.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>() || SourceMgr) && <span class="stringliteral">"No SourceMgr for valid location"</span>);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc = SourceMgr? <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a>(L, *SourceMgr) : FullSourceLoc();</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   FullSourceLoc LastStateChangePos = DiagStatePoints.back().Loc;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <span class="comment">// Don't allow a mapping to a warning override an error/fatal mapping.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <span class="keywordflow">if</span> (Map == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccac426ca3888addbfc1265d047dc8a6f17" title="Map this diagnostic to a warning.">diag::MAP_WARNING</a>) {</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> &Info = GetCurDiagState()->getOrAddMappingInfo(Diag);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>     <span class="keywordflow">if</span> (Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a> ||</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>         Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>)</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>       Map = Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>();</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   }</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> MappingInfo = makeMappingInfo(Map, L);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <span class="comment">// Common case; setting all the diagnostics of a group in one place.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <span class="keywordflow">if</span> (Loc.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>() || Loc == LastStateChangePos) {</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     GetCurDiagState()->setMappingInfo(Diag, MappingInfo);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   }</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   <span class="comment">// Another common case; modifying diagnostic state in a source location</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="comment">// after the previous one.</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   <span class="keywordflow">if</span> ((Loc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() && LastStateChangePos.<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>()) ||</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>       LastStateChangePos.<a class="code" href="classclang_1_1FullSourceLoc.html#a097886812169883f64c5701fb0e87bfd" title="Determines the order of 2 source locations in the translation unit.">isBeforeInTranslationUnitThan</a>(Loc)) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <span class="comment">// A diagnostic pragma occurred, create a new DiagState initialized with</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>     <span class="comment">// the current one and a new DiagStatePoint to record at which location</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     <span class="comment">// the new state became active.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     DiagStates.push_back(*GetCurDiagState());</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     PushDiagStatePoint(&DiagStates.back(), Loc);</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     GetCurDiagState()->setMappingInfo(Diag, MappingInfo);</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   }</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   <span class="comment">// We allow setting the diagnostic state in random source order for</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   <span class="comment">// completeness but it should not be actually happening in normal practice.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   DiagStatePointsTy::iterator Pos = GetDiagStatePointForLoc(Loc);</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   assert(Pos != DiagStatePoints.end());</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   <span class="comment">// Update all diagnostic states that are active after the given location.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="keywordflow">for</span> (DiagStatePointsTy::iterator</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>          I = Pos+1, E = DiagStatePoints.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>     GetCurDiagState()->setMappingInfo(Diag, MappingInfo);</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   }</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <span class="comment">// If the location corresponds to an existing point, just update its state.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <span class="keywordflow">if</span> (Pos->Loc == Loc) {</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     GetCurDiagState()->setMappingInfo(Diag, MappingInfo);</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   }</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   <span class="comment">// Create a new state/point and fit it into the vector of DiagStatePoints</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="comment">// so that the vector is always ordered according to location.</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   Pos->Loc.isBeforeInTranslationUnitThan(Loc);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   DiagStates.push_back(*Pos->State);</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   DiagState *NewState = &DiagStates.back();</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   GetCurDiagState()->setMappingInfo(Diag, MappingInfo);</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>   DiagStatePoints.insert(Pos+1, DiagStatePoint(NewState,</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>                                                FullSourceLoc(Loc, *SourceMgr)));</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> }</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#abd7e672d04773165c5f029ee631fbf61">  233</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#abd7e672d04773165c5f029ee631fbf61" title="Change an entire diagnostic group (e.g. "unknown-pragmas") to have the specified mapping.">DiagnosticsEngine::setDiagnosticGroupMapping</a>(</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>   StringRef Group, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> <a class="code" href="namespaceclang_1_1LangAS.html#a241b6fc974438ba623ec877f2b294f0c">Map</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc)</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> {</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <span class="comment">// Get the diagnostics in this group.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<diag::kind, 8></a> GroupDiags;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>   <span class="keywordflow">if</span> (Diags->getDiagnosticsInGroup(Group, GroupDiags))</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   <span class="comment">// Set the mapping.</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = GroupDiags.size(); i != e; ++i)</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f" title="This allows the client to specify that certain warnings are ignored.">setDiagnosticMapping</a>(GroupDiags[i], Map, Loc);</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> }</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#af8d650b87d2e86d61750091a21fb28a5">  248</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af8d650b87d2e86d61750091a21fb28a5" title="Set the warning-as-error flag for the given diagnostic.">DiagnosticsEngine::setDiagnosticWarningAsError</a>(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>,</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>                                                     <span class="keywordtype">bool</span> Enabled) {</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>   <span class="comment">// If we are enabling this feature, just set the diagnostic mappings to map to</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   <span class="comment">// errors.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   <span class="keywordflow">if</span> (Enabled) </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f" title="This allows the client to specify that certain warnings are ignored.">setDiagnosticMapping</a>(Diag, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>());</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   <span class="comment">// Otherwise, we want to set the diagnostic mapping's "no Werror" bit, and</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   <span class="comment">// potentially downgrade anything already mapped to be a warning.</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> &Info = GetCurDiagState()->getOrAddMappingInfo(Diag);</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   <span class="keywordflow">if</span> (Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a> ||</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>       Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>)</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#af49579a57f5745894be41a43072e3388">setMapping</a>(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccac426ca3888addbfc1265d047dc8a6f17" title="Map this diagnostic to a warning.">diag::MAP_WARNING</a>);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>   Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#aa35827380d2457c9556b1a2bf4905746">setNoWarningAsError</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> }</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ad776b0ca538717000baa671805dc23dc">  266</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ad776b0ca538717000baa671805dc23dc" title="Set the warning-as-error flag for the given diagnostic group.">DiagnosticsEngine::setDiagnosticGroupWarningAsError</a>(StringRef Group,</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>                                                          <span class="keywordtype">bool</span> Enabled) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>   <span class="comment">// If we are enabling this feature, just set the diagnostic mappings to map to</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>   <span class="comment">// errors.</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   <span class="keywordflow">if</span> (Enabled)</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#abd7e672d04773165c5f029ee631fbf61" title="Change an entire diagnostic group (e.g. "unknown-pragmas") to have the specified mapping.">setDiagnosticGroupMapping</a>(Group, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a>);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>   <span class="comment">// Otherwise, we want to set the diagnostic mapping's "no Werror" bit, and</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   <span class="comment">// potentially downgrade anything already mapped to be a warning.</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>   <span class="comment">// Get the diagnostics in this group.</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<diag::kind, 8></a> GroupDiags;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   <span class="keywordflow">if</span> (Diags->getDiagnosticsInGroup(Group, GroupDiags))</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>   <span class="comment">// Perform the mapping change.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = GroupDiags.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> &Info = GetCurDiagState()->getOrAddMappingInfo(</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>       GroupDiags[i]);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     <span class="keywordflow">if</span> (Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a> ||</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>         Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>)</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>       Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#af49579a57f5745894be41a43072e3388">setMapping</a>(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccac426ca3888addbfc1265d047dc8a6f17" title="Map this diagnostic to a warning.">diag::MAP_WARNING</a>);</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#aa35827380d2457c9556b1a2bf4905746">setNoWarningAsError</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>   }</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> }</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a8e84f413118a0a4de33d9048ea53123d">  296</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a8e84f413118a0a4de33d9048ea53123d" title="Set the error-as-fatal flag for the given diagnostic.">DiagnosticsEngine::setDiagnosticErrorAsFatal</a>(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>,</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>                                                   <span class="keywordtype">bool</span> Enabled) {</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   <span class="comment">// If we are enabling this feature, just set the diagnostic mappings to map to</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   <span class="comment">// errors.</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   <span class="keywordflow">if</span> (Enabled)</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f" title="This allows the client to specify that certain warnings are ignored.">setDiagnosticMapping</a>(Diag, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>());</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>   <span class="comment">// Otherwise, we want to set the diagnostic mapping's "no Werror" bit, and</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>   <span class="comment">// potentially downgrade anything already mapped to be a warning.</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> &Info = GetCurDiagState()->getOrAddMappingInfo(Diag);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>   </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   <span class="keywordflow">if</span> (Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>)</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#af49579a57f5745894be41a43072e3388">setMapping</a>(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a>);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>   </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#a7c15d3efa9ae5b380840f9bebb605a40">setNoErrorAsFatal</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> }</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ac31115e9eba75d466757559882a82386">  313</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ac31115e9eba75d466757559882a82386" title="Set the error-as-fatal flag for the given diagnostic group.">DiagnosticsEngine::setDiagnosticGroupErrorAsFatal</a>(StringRef Group,</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>                                                        <span class="keywordtype">bool</span> Enabled) {</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="comment">// If we are enabling this feature, just set the diagnostic mappings to map to</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   <span class="comment">// fatal errors.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>   <span class="keywordflow">if</span> (Enabled)</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#abd7e672d04773165c5f029ee631fbf61" title="Change an entire diagnostic group (e.g. "unknown-pragmas") to have the specified mapping.">setDiagnosticGroupMapping</a>(Group, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   <span class="comment">// Otherwise, we want to set the diagnostic mapping's "no Werror" bit, and</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="comment">// potentially downgrade anything already mapped to be an error.</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="comment">// Get the diagnostics in this group.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<diag::kind, 8></a> GroupDiags;</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   <span class="keywordflow">if</span> (Diags->getDiagnosticsInGroup(Group, GroupDiags))</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>   <span class="comment">// Perform the mapping change.</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = GroupDiags.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>     <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> &Info = GetCurDiagState()->getOrAddMappingInfo(</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>       GroupDiags[i]);</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>     <span class="keywordflow">if</span> (Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#ac01827ac5b036548a23052ef4cbe5c67">getMapping</a>() == <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6b8ff9c9a56ca43a0e4ea4de778b864" title="Map this diagnostic to a fatal error.">diag::MAP_FATAL</a>)</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>       Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#af49579a57f5745894be41a43072e3388">setMapping</a>(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31ccad6d60a9ac9a1f37d0784a8d5199e9c68" title="Map this diagnostic to an error.">diag::MAP_ERROR</a>);</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>     Info.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#a7c15d3efa9ae5b380840f9bebb605a40">setNoErrorAsFatal</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   }</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> }</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ad7e6d7035840e286b0c262c880e4a309">  342</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ad7e6d7035840e286b0c262c880e4a309" title="Add the specified mapping to all diagnostics.">DiagnosticsEngine::setMappingToAllDiagnostics</a>(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> <a class="code" href="namespaceclang_1_1LangAS.html#a241b6fc974438ba623ec877f2b294f0c">Map</a>,</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>                                                    <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc) {</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>   <span class="comment">// Get all the diagnostics.</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<diag::kind, 64></a> AllDiags;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   Diags->getAllDiagnostics(AllDiags);</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="comment">// Set the mapping.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = AllDiags.size(); i != e; ++i)</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     <span class="keywordflow">if</span> (Diags->isBuiltinWarningOrExtension(AllDiags[i]))</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>       <a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f" title="This allows the client to specify that certain warnings are ignored.">setDiagnosticMapping</a>(AllDiags[i], Map, Loc);</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> }</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ab13768af409bc76b7bd16327f3c83db6">  354</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">DiagnosticsEngine::Report</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StoredDiagnostic.html" title="Represents a diagnostic in a form that can be retained until its corresponding source manager is dest...">StoredDiagnostic</a> &storedDiag) {</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   assert(CurDiagID == ~0U && <span class="stringliteral">"Multiple diagnostics in flight at once!"</span>);</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   CurDiagLoc = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a7482563937a50557c6605660b5a22936">getLocation</a>();</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   CurDiagID = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a944fbd9a65e9b809a2ecde0c95905fad">getID</a>();</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>   NumDiagArgs = 0;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   NumDiagRanges = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a3b5b35bbabb1e5c0f2bc464b9aa4eeed">range_size</a>();</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   assert(NumDiagRanges < DiagnosticsEngine::MaxRanges &&</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>          <span class="stringliteral">"Too many arguments to diagnostic!"</span>);</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>   <span class="keywordtype">unsigned</span> i = 0;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1StoredDiagnostic.html#a82f6d9a3fc3dfd93675aa57f58bce5cc">StoredDiagnostic::range_iterator</a></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>          RI = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#aea11e5c14766fbab04f2308e5d63c91f">range_begin</a>(),</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>          RE = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a0dc083f2a06a8fa90b4955c6fae71b70">range_end</a>(); RI != RE; ++RI)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>     DiagRanges[i++] = *RI;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   assert(NumDiagRanges < DiagnosticsEngine::MaxFixItHints &&</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>          <span class="stringliteral">"Too many arguments to diagnostic!"</span>);</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   NumDiagFixItHints = 0;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1StoredDiagnostic.html#aa9d4ae3cad3f312bc461a1526e97a9fd">StoredDiagnostic::fixit_iterator</a></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>          FI = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a7d89c9cf2710d1c4f59789355896e83a">fixit_begin</a>(),</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>          FE = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a92390882e3763b046f8fbe089c861d6b">fixit_end</a>(); FI != FE; ++FI)</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>     DiagFixItHints[NumDiagFixItHints++] = *FI;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   assert(Client && <span class="stringliteral">"DiagnosticConsumer not set!"</span>);</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">Level</a> DiagLevel = storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#ab552a4e1500b50decc509e276b7f39d8">getLevel</a>();</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>   <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> Info(<span class="keyword">this</span>, storedDiag.<a class="code" href="classclang_1_1StoredDiagnostic.html#a3611557c9f468be514e9715e2de60d3b">getMessage</a>());</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   Client-><a class="code" href="classclang_1_1DiagnosticConsumer.html#a4e2f11fcedb8495fe184b8adbd589708" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">HandleDiagnostic</a>(DiagLevel, Info);</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>   <span class="keywordflow">if</span> (Client-><a class="code" href="classclang_1_1DiagnosticConsumer.html#aa75b0e19bc6995ece6e8ab6e8d4c24b6" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">IncludeInDiagnosticCounts</a>()) {</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>     <span class="keywordflow">if</span> (DiagLevel == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a43d23a1b8f299eab8b805b238407d3ae">DiagnosticsEngine::Warning</a>)</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>       ++NumWarnings;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   }</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   CurDiagID = ~0U;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> }</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ac02245f77a5eb28c5585a8ab84aca0cc">  390</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ac02245f77a5eb28c5585a8ab84aca0cc" title="Emit the current diagnostic and clear the diagnostic state.">DiagnosticsEngine::EmitCurrentDiagnostic</a>(<span class="keywordtype">bool</span> Force) {</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   assert(<a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">getClient</a>() && <span class="stringliteral">"DiagnosticClient not set!"</span>);</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>   <span class="keywordtype">bool</span> Emitted;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="keywordflow">if</span> (Force) {</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> Info(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     <span class="comment">// Figure out the diagnostic level of this message.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5d" title="The level of the diagnostic, after it has been through mapping.">DiagnosticIDs::Level</a> DiagLevel</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>       = Diags->getDiagnosticLevel(Info.<a class="code" href="classclang_1_1Diagnostic.html#a3c8e2b6dbde493a394966fbbd27211cf">getID</a>(), Info.<a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16">getLocation</a>(), *<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>     Emitted = (DiagLevel != <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da79407e379e5d2dd291bb0f1bc3f1def0">DiagnosticIDs::Ignored</a>);</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>     <span class="keywordflow">if</span> (Emitted) {</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>       <span class="comment">// Emit the diagnostic regardless of suppression level.</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>       Diags->EmitDiag(*<span class="keyword">this</span>, DiagLevel);</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     }</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     <span class="comment">// Process the diagnostic, sending the accumulated information to the</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="comment">// DiagnosticConsumer.</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>     Emitted = ProcessDiag();</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   }</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   <span class="comment">// Clear out the current diagnostic object.</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>   <span class="keywordtype">unsigned</span> DiagID = CurDiagID;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a7533dd8c2cc26e82d578f2e9bc0e7a96" title="Clear out the current diagnostic.">Clear</a>();</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   <span class="comment">// If there was a delayed diagnostic, emit it now.</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>   <span class="keywordflow">if</span> (!Force && DelayedDiagID && DelayedDiagID != DiagID)</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     ReportDelayed();</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   <span class="keywordflow">return</span> Emitted;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> }</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a061b004cc1101e4e7d3283caa0380bd7">  424</a></span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a061b004cc1101e4e7d3283caa0380bd7">DiagnosticConsumer::~DiagnosticConsumer</a>() {}</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a4e2f11fcedb8495fe184b8adbd589708">  426</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a4e2f11fcedb8495fe184b8adbd589708" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">DiagnosticConsumer::HandleDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> DiagLevel,</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info) {</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1DiagnosticConsumer.html#aa75b0e19bc6995ece6e8ab6e8d4c24b6" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">IncludeInDiagnosticCounts</a>())</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keywordflow">if</span> (DiagLevel == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a43d23a1b8f299eab8b805b238407d3ae">DiagnosticsEngine::Warning</a>)</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>     ++<a class="code" href="classclang_1_1DiagnosticConsumer.html#ab82ae2b14363e1066d6ab0e5a896e4b7" title="Number of warnings reported.">NumWarnings</a>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (DiagLevel >= <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a67b5cd51c751720d23bd4ad592252c6e">DiagnosticsEngine::Error</a>)</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>     ++<a class="code" href="classclang_1_1DiagnosticConsumer.html#a8430e8a2dd72eca2821aa05c61e618e5" title="Number of errors reported.">NumErrors</a>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> }</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> <span class="comment"></span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> <span class="comment">/// ModifierIs - Return true if the specified modifier matches specified string.</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> <span class="comment"></span><span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> StrLen></div>
+<div class="line"><a name="l00439"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34">  439</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *Modifier, <span class="keywordtype">unsigned</span> ModifierLen,</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>                        <span class="keyword">const</span> <span class="keywordtype">char</span> (&Str)[StrLen]) {</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   <span class="keywordflow">return</span> StrLen-1 == ModifierLen && !memcmp(Modifier, Str, StrLen-1);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> }</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> <span class="comment"></span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> <span class="comment">/// ScanForward - Scans forward, looking for the given character, skipping</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> <span class="comment">/// nested clauses and escaped characters.</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">  446</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *I, <span class="keyword">const</span> <span class="keywordtype">char</span> *E, <span class="keywordtype">char</span> Target) {</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   <span class="keywordtype">unsigned</span> <a class="code" href="ASTMatchFinder_8cpp.html#a770e10d3d091ec85cafce08832ae2e87">Depth</a> = 0;</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   <span class="keywordflow">for</span> ( ; I != E; ++I) {</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>     <span class="keywordflow">if</span> (Depth == 0 && *I == Target) <span class="keywordflow">return</span> I;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     <span class="keywordflow">if</span> (Depth != 0 && *I == <span class="charliteral">'}'</span>) Depth--;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     <span class="keywordflow">if</span> (*I == <span class="charliteral">'%'</span>) {</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>       I++;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>       <span class="keywordflow">if</span> (I == E) <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>       <span class="comment">// Escaped characters get implicitly skipped here.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>       <span class="comment">// Format specifier.</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>       <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang.html#a8e582a38f36d9c625d3e31bce653befe" title="Return true if this character is an ASCII digit: [0-9].">isDigit</a>(*I) && !<a class="code" href="namespaceclang.html#acb6eaf2e185f24697db495bca83f5788">isPunctuation</a>(*I)) {</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>         <span class="keywordflow">for</span> (I++; I != E && !<a class="code" href="namespaceclang.html#a8e582a38f36d9c625d3e31bce653befe" title="Return true if this character is an ASCII digit: [0-9].">isDigit</a>(*I) && *I != <span class="charliteral">'{'</span>; I++) ;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>         <span class="keywordflow">if</span> (I == E) <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>         <span class="keywordflow">if</span> (*I == <span class="charliteral">'{'</span>)</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>           Depth++;</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>       }</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     }</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>   }</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>   <span class="keywordflow">return</span> E;</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> }</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> <span class="comment"></span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> <span class="comment">/// HandleSelectModifier - Handle the integer 'select' modifier.  This is used</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> <span class="comment">/// like this:  %select{foo|bar|baz}2.  This means that the integer argument</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> <span class="comment">/// "%2" has a value from 0-2.  If the value is 0, the diagnostic prints 'foo'.</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> <span class="comment">/// If the value is 1, it prints 'bar'.  If it has the value 2, it prints 'baz'.</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> <span class="comment">/// This is very useful for certain classes of variant diagnostics.</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#abcba6c8a240a53a011a1b43c189ba004">  476</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="Diagnostic_8cpp.html#abcba6c8a240a53a011a1b43c189ba004">HandleSelectModifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &DInfo, <span class="keywordtype">unsigned</span> ValNo,</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *Argument, <span class="keywordtype">unsigned</span> ArgumentLen,</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>                                  <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr) {</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *ArgumentEnd = Argument+ArgumentLen;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="comment">// Skip over 'ValNo' |'s.</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   <span class="keywordflow">while</span> (ValNo) {</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *NextVal = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, ArgumentEnd, <span class="charliteral">'|'</span>);</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>     assert(NextVal != ArgumentEnd && <span class="stringliteral">"Value for integer select modifier was"</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>            <span class="stringliteral">" larger than the number of options in the diagnostic string!"</span>);</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     Argument = NextVal+1;  <span class="comment">// Skip this string.</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>     --ValNo;</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>   }</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   <span class="comment">// Get the end of the value.  This is either the } or the |.</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *EndPtr = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, ArgumentEnd, <span class="charliteral">'|'</span>);</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   <span class="comment">// Recursively format the result of the select clause into the output string.</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>   DInfo.<a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Argument, EndPtr, OutStr);</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> }</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> <span class="comment"></span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> <span class="comment">/// HandleIntegerSModifier - Handle the integer 's' modifier.  This adds the</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> <span class="comment">/// letter 's' to the string if the value is not 1.  This is used in cases like</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> <span class="comment">/// this:  "you idiot, you have %4 parameter%s4!".</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#a4f4c5a267fa4352791427c8af6e9cadf">  500</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="Diagnostic_8cpp.html#a4f4c5a267fa4352791427c8af6e9cadf">HandleIntegerSModifier</a>(<span class="keywordtype">unsigned</span> ValNo,</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>                                    <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr) {</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <span class="keywordflow">if</span> (ValNo != 1)</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>     OutStr.push_back(<span class="charliteral">'s'</span>);</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> }</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> <span class="comment"></span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> <span class="comment">/// HandleOrdinalModifier - Handle the integer 'ord' modifier.  This</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> <span class="comment">/// prints the ordinal form of the given integer, with 1 corresponding</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> <span class="comment">/// to the first ordinal.  Currently this is hard-coded to use the</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> <span class="comment">/// English form.</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#af4b7eeecc9a4c8bfb449436518a2b753">  510</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="Diagnostic_8cpp.html#af4b7eeecc9a4c8bfb449436518a2b753">HandleOrdinalModifier</a>(<span class="keywordtype">unsigned</span> ValNo,</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>                                   <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr) {</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>   assert(ValNo != 0 && <span class="stringliteral">"ValNo must be strictly positive!"</span>);</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> </div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>   llvm::raw_svector_ostream Out(OutStr);</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   <span class="comment">// We could use text forms for the first N ordinals, but the numeric</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>   <span class="comment">// forms are actually nicer in diagnostics because they stand out.</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>   Out << ValNo << llvm::getOrdinalSuffix(ValNo);</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> }</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span> </div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> <span class="comment"></span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> <span class="comment">/// PluralNumber - Parse an unsigned integer and advance Start.</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#ab5900dbb3494c602117736b422594733">  523</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="Diagnostic_8cpp.html#ab5900dbb3494c602117736b422594733" title="PluralNumber - Parse an unsigned integer and advance Start.">PluralNumber</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *&Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End) {</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>   <span class="comment">// Programming 101: Parse a decimal number :-)</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="keywordtype">unsigned</span> Val = 0;</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   <span class="keywordflow">while</span> (Start != End && *Start >= <span class="charliteral">'0'</span> && *Start <= <span class="charliteral">'9'</span>) {</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>     Val *= 10;</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     Val += *Start - <span class="charliteral">'0'</span>;</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>     ++Start;</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>   }</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>   <span class="keywordflow">return</span> Val;</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span> }</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> <span class="comment"></span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> <span class="comment">/// TestPluralRange - Test if Val is in the parsed range. Modifies Start.</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#ae3848c2a47d6ba3f63bb4002d9956d24">  535</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="Diagnostic_8cpp.html#ae3848c2a47d6ba3f63bb4002d9956d24" title="TestPluralRange - Test if Val is in the parsed range. Modifies Start.">TestPluralRange</a>(<span class="keywordtype">unsigned</span> Val, <span class="keyword">const</span> <span class="keywordtype">char</span> *&Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End) {</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   <span class="keywordflow">if</span> (*Start != <span class="charliteral">'['</span>) {</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>     <span class="keywordtype">unsigned</span> Ref = <a class="code" href="Diagnostic_8cpp.html#ab5900dbb3494c602117736b422594733" title="PluralNumber - Parse an unsigned integer and advance Start.">PluralNumber</a>(Start, End);</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>     <span class="keywordflow">return</span> Ref == Val;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   }</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> </div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>   ++Start;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   <span class="keywordtype">unsigned</span> Low = <a class="code" href="Diagnostic_8cpp.html#ab5900dbb3494c602117736b422594733" title="PluralNumber - Parse an unsigned integer and advance Start.">PluralNumber</a>(Start, End);</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>   assert(*Start == <span class="charliteral">','</span> && <span class="stringliteral">"Bad plural expression syntax: expected ,"</span>);</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   ++Start;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   <span class="keywordtype">unsigned</span> High = <a class="code" href="Diagnostic_8cpp.html#ab5900dbb3494c602117736b422594733" title="PluralNumber - Parse an unsigned integer and advance Start.">PluralNumber</a>(Start, End);</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   assert(*Start == <span class="charliteral">']'</span> && <span class="stringliteral">"Bad plural expression syntax: expected )"</span>);</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   ++Start;</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <span class="keywordflow">return</span> Low <= Val && Val <= High;</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> }</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> <span class="comment"></span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> <span class="comment">/// EvalPluralExpr - Actual expression evaluator for HandlePluralModifier.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#a7169e6cf28481a61617923985650126f">  552</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="Diagnostic_8cpp.html#a7169e6cf28481a61617923985650126f" title="EvalPluralExpr - Actual expression evaluator for HandlePluralModifier.">EvalPluralExpr</a>(<span class="keywordtype">unsigned</span> ValNo, <span class="keyword">const</span> <span class="keywordtype">char</span> *Start, <span class="keyword">const</span> <span class="keywordtype">char</span> *End) {</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   <span class="comment">// Empty condition?</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="keywordflow">if</span> (*Start == <span class="charliteral">':'</span>)</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> </div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="keywordflow">while</span> (1) {</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>     <span class="keywordtype">char</span> C = *Start;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>     <span class="keywordflow">if</span> (C == <span class="charliteral">'%'</span>) {</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>       <span class="comment">// Modulo expression</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>       ++Start;</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>       <span class="keywordtype">unsigned</span> Arg = <a class="code" href="Diagnostic_8cpp.html#ab5900dbb3494c602117736b422594733" title="PluralNumber - Parse an unsigned integer and advance Start.">PluralNumber</a>(Start, End);</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>       assert(*Start == <span class="charliteral">'='</span> && <span class="stringliteral">"Bad plural expression syntax: expected ="</span>);</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>       ++Start;</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>       <span class="keywordtype">unsigned</span> ValMod = ValNo % Arg;</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>       <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ae3848c2a47d6ba3f63bb4002d9956d24" title="TestPluralRange - Test if Val is in the parsed range. Modifies Start.">TestPluralRange</a>(ValMod, Start, End))</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>       assert((C == <span class="charliteral">'['</span> || (C >= <span class="charliteral">'0'</span> && C <= <span class="charliteral">'9'</span>)) &&</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>              <span class="stringliteral">"Bad plural expression syntax: unexpected character"</span>);</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>       <span class="comment">// Range expression</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>       <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ae3848c2a47d6ba3f63bb4002d9956d24" title="TestPluralRange - Test if Val is in the parsed range. Modifies Start.">TestPluralRange</a>(ValNo, Start, End))</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>     }</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>     <span class="comment">// Scan for next or-expr part.</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>     Start = std::find(Start, End, <span class="charliteral">','</span>);</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>     <span class="keywordflow">if</span> (Start == End)</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>     ++Start;</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>   }</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> }</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> <span class="comment"></span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="comment">/// HandlePluralModifier - Handle the integer 'plural' modifier. This is used</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> <span class="comment">/// for complex plural forms, or in languages where all plurals are complex.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> <span class="comment">/// The syntax is: %plural{cond1:form1|cond2:form2|:form3}, where condn are</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> <span class="comment">/// conditions that are tested in order, the form corresponding to the first</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> <span class="comment">/// that applies being emitted. The empty condition is always true, making the</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span> <span class="comment">/// last form a default case.</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> <span class="comment">/// Conditions are simple boolean expressions, where n is the number argument.</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> <span class="comment">/// Here are the rules.</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span> <span class="comment">/// condition  := expression | empty</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span> <span class="comment">/// empty      :=                             -> always true</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> <span class="comment">/// expression := numeric [',' expression]    -> logical or</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span> <span class="comment">/// numeric    := range                       -> true if n in range</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> <span class="comment">///             | '%' number '=' range        -> true if n % number in range</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span> <span class="comment">/// range      := number</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> <span class="comment">///             | '[' number ',' number ']'   -> ranges are inclusive both ends</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span> <span class="comment">/// Here are some examples from the GNU gettext manual written in this form:</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span> <span class="comment">/// English:</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> <span class="comment">/// {1:form0|:form1}</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> <span class="comment">/// Latvian:</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span> <span class="comment">/// {0:form2|%100=11,%10=0,%10=[2,9]:form1|:form0}</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span> <span class="comment">/// Gaeilge:</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> <span class="comment">/// {1:form0|2:form1|:form2}</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span> <span class="comment">/// Romanian:</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> <span class="comment">/// {1:form0|0,%100=[1,19]:form1|:form2}</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span> <span class="comment">/// Lithuanian:</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span> <span class="comment">/// {%10=0,%100=[10,19]:form2|%10=1:form0|:form1}</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span> <span class="comment">/// Russian (requires repeated form):</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span> <span class="comment">/// {%100=[11,14]:form2|%10=1:form0|%10=[2,4]:form1|:form2}</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span> <span class="comment">/// Slovak</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span> <span class="comment">/// {1:form0|[2,4]:form1|:form2}</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span> <span class="comment">/// Polish (requires repeated form):</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> <span class="comment">/// {1:form0|%100=[10,20]:form2|%10=[2,4]:form1|:form2}</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno"><a class="code" href="Diagnostic_8cpp.html#a19b97f083469eda0b4b397331a1c0a21">  618</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="Diagnostic_8cpp.html#a19b97f083469eda0b4b397331a1c0a21">HandlePluralModifier</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &DInfo, <span class="keywordtype">unsigned</span> ValNo,</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>                                  <span class="keyword">const</span> <span class="keywordtype">char</span> *Argument, <span class="keywordtype">unsigned</span> ArgumentLen,</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>                                  <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr) {</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *ArgumentEnd = Argument + ArgumentLen;</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   <span class="keywordflow">while</span> (1) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>     assert(Argument < ArgumentEnd && <span class="stringliteral">"Plural expression didn't match."</span>);</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *ExprEnd = Argument;</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>     <span class="keywordflow">while</span> (*ExprEnd != <span class="charliteral">':'</span>) {</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>       assert(ExprEnd != ArgumentEnd && <span class="stringliteral">"Plural missing expression end"</span>);</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>       ++ExprEnd;</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>     }</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>     <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#a7169e6cf28481a61617923985650126f" title="EvalPluralExpr - Actual expression evaluator for HandlePluralModifier.">EvalPluralExpr</a>(ValNo, Argument, ExprEnd)) {</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>       Argument = ExprEnd + 1;</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>       ExprEnd = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, ArgumentEnd, <span class="charliteral">'|'</span>);</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span> </div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>       <span class="comment">// Recursively format the result of the plural clause into the</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>       <span class="comment">// output string.</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>       DInfo.<a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Argument, ExprEnd, OutStr);</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>     }</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>     Argument = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, ArgumentEnd - 1, <span class="charliteral">'|'</span>) + 1;</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   }</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> }</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span> </div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span> <span class="comment"></span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> <span class="comment">/// FormatDiagnostic - Format this diagnostic into a string, substituting the</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> <span class="comment">/// formal arguments into the %0 slots.  The result is appended onto the Str</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> <span class="comment">/// array.</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">Diagnostic::</a></div>
+<div class="line"><a name="l00647"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c">  647</a></span> <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   <span class="keywordflow">if</span> (!StoredDiagMessage.empty()) {</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>     OutStr.append(StoredDiagMessage.begin(), StoredDiagMessage.end());</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   }</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span> </div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>   StringRef <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a> = </div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>     <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()-><a class="code" href="classclang_1_1DiagnosticsEngine.html#a98e64a993447cd51d3efb722d0d11eab">getDiagnosticIDs</a>()->getDescription(<a class="code" href="classclang_1_1Diagnostic.html#a3c8e2b6dbde493a394966fbbd27211cf">getID</a>());</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span> </div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>   <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Diag.begin(), Diag.end(), OutStr);</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> }</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span> </div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">Diagnostic::</a></div>
+<div class="line"><a name="l00660"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a6f2d965fffab7d987c617df3015ecc74">  660</a></span> <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *DiagStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *DiagEnd,</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>                  <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span> <span class="comment"></span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> <span class="comment">  /// FormattedArgs - Keep track of all of the arguments formatted by</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span> <span class="comment">  /// ConvertArgToString and pass them into subsequent calls to</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span> <span class="comment">  /// ConvertArgToString, allowing the implementation to avoid redundancies in</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span> <span class="comment">  /// obvious cases.</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<DiagnosticsEngine::ArgumentValue, 8></a> FormattedArgs;</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span> <span class="comment"></span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span> <span class="comment">  /// QualTypeVals - Pass a vector of arrays so that QualType names can be</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span> <span class="comment">  /// compared to see if more information is needed to be printed.</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<intptr_t, 2></a> QualTypeVals;</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<char, 64></a> Tree;</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span> </div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = <a class="code" href="classclang_1_1Diagnostic.html#a4ebe6f1ff15f927e8267e87cc5385e25">getNumArgs</a>(); i < e; ++i)</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(i) == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">DiagnosticsEngine::ak_qualtype</a>)</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>       QualTypeVals.push_back(<a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f" title="Return the specified non-string argument in an opaque form.">getRawArg</a>(i));</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span> </div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>   <span class="keywordflow">while</span> (DiagStr != DiagEnd) {</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>     <span class="keywordflow">if</span> (DiagStr[0] != <span class="charliteral">'%'</span>) {</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>       <span class="comment">// Append non-%0 substrings to Str if we have one.</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *StrEnd = std::find(DiagStr, DiagEnd, <span class="charliteral">'%'</span>);</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>       OutStr.append(DiagStr, StrEnd);</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>       DiagStr = StrEnd;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceclang.html#acb6eaf2e185f24697db495bca83f5788">isPunctuation</a>(DiagStr[1])) {</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>       OutStr.push_back(DiagStr[1]);  <span class="comment">// %% -> %.</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>       DiagStr += 2;</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>     }</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span> </div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>     <span class="comment">// Skip the %.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>     ++DiagStr;</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> </div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>     <span class="comment">// This must be a placeholder for a diagnostic argument.  The format for a</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>     <span class="comment">// placeholder is one of "%0", "%modifier0", or "%modifier{arguments}0".</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>     <span class="comment">// The digit is a number from 0-9 indicating which argument this comes from.</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     <span class="comment">// The modifier is a string of digits from the set [-a-z]+, arguments is a</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>     <span class="comment">// brace enclosed string.</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *Modifier = 0, *Argument = 0;</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>     <span class="keywordtype">unsigned</span> ModifierLen = 0, ArgumentLen = 0;</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> </div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>     <span class="comment">// Check to see if we have a modifier.  If so eat it.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang.html#a8e582a38f36d9c625d3e31bce653befe" title="Return true if this character is an ASCII digit: [0-9].">isDigit</a>(DiagStr[0])) {</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>       Modifier = DiagStr;</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>       <span class="keywordflow">while</span> (DiagStr[0] == <span class="charliteral">'-'</span> ||</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>              (DiagStr[0] >= <span class="charliteral">'a'</span> && DiagStr[0] <= <span class="charliteral">'z'</span>))</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>         ++DiagStr;</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>       ModifierLen = DiagStr-Modifier;</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span> </div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>       <span class="comment">// If we have an argument, get it next.</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>       <span class="keywordflow">if</span> (DiagStr[0] == <span class="charliteral">'{'</span>) {</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>         ++DiagStr; <span class="comment">// Skip {.</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>         Argument = DiagStr;</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span> </div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>         DiagStr = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(DiagStr, DiagEnd, <span class="charliteral">'}'</span>);</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>         assert(DiagStr != DiagEnd && <span class="stringliteral">"Mismatched {}'s in diagnostic string!"</span>);</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>         ArgumentLen = DiagStr-Argument;</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>         ++DiagStr;  <span class="comment">// Skip }.</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>       }</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>     }</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span> </div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>     assert(<a class="code" href="namespaceclang.html#a8e582a38f36d9c625d3e31bce653befe" title="Return true if this character is an ASCII digit: [0-9].">isDigit</a>(*DiagStr) && <span class="stringliteral">"Invalid format for argument in diagnostic"</span>);</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>     <span class="keywordtype">unsigned</span> ArgNo = *DiagStr++ - <span class="charliteral">'0'</span>;</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> </div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>     <span class="comment">// Only used for type diffing.</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>     <span class="keywordtype">unsigned</span> ArgNo2 = ArgNo;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> </div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">DiagnosticsEngine::ArgumentKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(ArgNo);</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>     <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"diff"</span>)) {</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>       assert(*DiagStr == <span class="charliteral">','</span> && <a class="code" href="namespaceclang.html#a8e582a38f36d9c625d3e31bce653befe" title="Return true if this character is an ASCII digit: [0-9].">isDigit</a>(*(DiagStr + 1)) &&</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>              <span class="stringliteral">"Invalid format for diff modifier"</span>);</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>       ++DiagStr;  <span class="comment">// Comma.</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>       ArgNo2 = *DiagStr++ - <span class="charliteral">'0'</span>;</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>       <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">DiagnosticsEngine::ArgumentKind</a> Kind2 = <a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(ArgNo2);</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>       <span class="keywordflow">if</span> (Kind == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">DiagnosticsEngine::ak_qualtype</a> &&</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>           Kind2 == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">DiagnosticsEngine::ak_qualtype</a>)</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>         Kind = <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7fe73e32e3449275dc088cc9573277dd" title="pair<QualType, QualType>">DiagnosticsEngine::ak_qualtype_pair</a>;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>       <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>         <span class="comment">// %diff only supports QualTypes.  For other kinds of arguments,</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>         <span class="comment">// use the default printing.  For example, if the modifier is:</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>         <span class="comment">//   "%diff{compare $ to $|other text}1,2"</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>         <span class="comment">// treat it as:</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>         <span class="comment">//   "compare %1 to %2"</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>         <span class="keyword">const</span> <span class="keywordtype">char</span> *Pipe = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, Argument + ArgumentLen, <span class="charliteral">'|'</span>);</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>         <span class="keyword">const</span> <span class="keywordtype">char</span> *FirstDollar = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, Pipe, <span class="charliteral">'$'</span>);</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>         <span class="keyword">const</span> <span class="keywordtype">char</span> *SecondDollar = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(FirstDollar + 1, Pipe, <span class="charliteral">'$'</span>);</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>         <span class="keyword">const</span> <span class="keywordtype">char</span> ArgStr1[] = { <span class="charliteral">'%'</span>, <span class="keyword">static_cast<</span><span class="keywordtype">char</span><span class="keyword">></span>(<span class="charliteral">'0'</span> + ArgNo) };</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>         <span class="keyword">const</span> <span class="keywordtype">char</span> ArgStr2[] = { <span class="charliteral">'%'</span>, <span class="keyword">static_cast<</span><span class="keywordtype">char</span><span class="keyword">></span>(<span class="charliteral">'0'</span> + ArgNo2) };</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>         <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Argument, FirstDollar, OutStr);</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>         <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(ArgStr1, ArgStr1 + 2, OutStr);</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>         <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(FirstDollar + 1, SecondDollar, OutStr);</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>         <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(ArgStr2, ArgStr2 + 2, OutStr);</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>         <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(SecondDollar + 1, Pipe, OutStr);</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>       }</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>     }</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     </div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <span class="keywordflow">switch</span> (Kind) {</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>     <span class="comment">// ---- STRINGS ----</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee" title="std::string">DiagnosticsEngine::ak_std_string</a>: {</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>       <span class="keyword">const</span> std::string &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = <a class="code" href="classclang_1_1Diagnostic.html#acbf28352fcb6d2818c61fd069c7490a6" title="Return the provided argument string specified by Idx.">getArgStdStr</a>(ArgNo);</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>       assert(ModifierLen == 0 && <span class="stringliteral">"No modifiers for strings yet"</span>);</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>       OutStr.append(S.begin(), S.end());</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     }</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa90d4083293d62ab9ebc5489b4f057e2b" title="const char *">DiagnosticsEngine::ak_c_string</a>: {</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = <a class="code" href="classclang_1_1Diagnostic.html#ac106141acd5fd245a72b1a39f5cd82e5" title="Return the specified C string argument.">getArgCStr</a>(ArgNo);</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>       assert(ModifierLen == 0 && <span class="stringliteral">"No modifiers for strings yet"</span>);</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span> </div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>       <span class="comment">// Don't crash if get passed a null pointer by accident.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>       <span class="keywordflow">if</span> (!S)</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>         S = <span class="stringliteral">"(null)"</span>;</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span> </div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>       OutStr.append(S, S + strlen(S));</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>     }</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     <span class="comment">// ---- INTEGERS ----</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad85d1a40856e9d685b7369756fdb547a" title="int">DiagnosticsEngine::ak_sint</a>: {</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>       <span class="keywordtype">int</span> Val = <a class="code" href="classclang_1_1Diagnostic.html#a3a12ab6644ba4aee3ce15cb1e1a9fbdc" title="Return the specified signed integer argument.">getArgSInt</a>(ArgNo);</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span> </div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>       <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"select"</span>)) {</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>         <a class="code" href="Diagnostic_8cpp.html#abcba6c8a240a53a011a1b43c189ba004">HandleSelectModifier</a>(*<span class="keyword">this</span>, (<span class="keywordtype">unsigned</span>)Val, Argument, ArgumentLen,</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>                              OutStr);</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"s"</span>)) {</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>         <a class="code" href="Diagnostic_8cpp.html#a4f4c5a267fa4352791427c8af6e9cadf">HandleIntegerSModifier</a>(Val, OutStr);</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"plural"</span>)) {</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>         <a class="code" href="Diagnostic_8cpp.html#a19b97f083469eda0b4b397331a1c0a21">HandlePluralModifier</a>(*<span class="keyword">this</span>, (<span class="keywordtype">unsigned</span>)Val, Argument, ArgumentLen,</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>                              OutStr);</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"ordinal"</span>)) {</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>         <a class="code" href="Diagnostic_8cpp.html#af4b7eeecc9a4c8bfb449436518a2b753">HandleOrdinalModifier</a>((<span class="keywordtype">unsigned</span>)Val, OutStr);</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>         assert(ModifierLen == 0 && <span class="stringliteral">"Unknown integer modifier"</span>);</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>         llvm::raw_svector_ostream(OutStr) << Val;</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>       }</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>     }</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7faefdcb96e877a62991facfbdf214ee090" title="unsigned">DiagnosticsEngine::ak_uint</a>: {</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>       <span class="keywordtype">unsigned</span> Val = <a class="code" href="classclang_1_1Diagnostic.html#aa92e7ba9d8f7382116b1e07d70b8837b" title="Return the specified unsigned integer argument.">getArgUInt</a>(ArgNo);</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span> </div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>       <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"select"</span>)) {</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>         <a class="code" href="Diagnostic_8cpp.html#abcba6c8a240a53a011a1b43c189ba004">HandleSelectModifier</a>(*<span class="keyword">this</span>, Val, Argument, ArgumentLen, OutStr);</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"s"</span>)) {</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>         <a class="code" href="Diagnostic_8cpp.html#a4f4c5a267fa4352791427c8af6e9cadf">HandleIntegerSModifier</a>(Val, OutStr);</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"plural"</span>)) {</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>         <a class="code" href="Diagnostic_8cpp.html#a19b97f083469eda0b4b397331a1c0a21">HandlePluralModifier</a>(*<span class="keyword">this</span>, (<span class="keywordtype">unsigned</span>)Val, Argument, ArgumentLen,</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>                              OutStr);</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="Diagnostic_8cpp.html#ad4ca80a0b51d1a1b426adb8c1dfabf34" title="ModifierIs - Return true if the specified modifier matches specified string.">ModifierIs</a>(Modifier, ModifierLen, <span class="stringliteral">"ordinal"</span>)) {</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>         <a class="code" href="Diagnostic_8cpp.html#af4b7eeecc9a4c8bfb449436518a2b753">HandleOrdinalModifier</a>(Val, OutStr);</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>         assert(ModifierLen == 0 && <span class="stringliteral">"Unknown integer modifier"</span>);</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>         llvm::raw_svector_ostream(OutStr) << Val;</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>       }</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>     }</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>     <span class="comment">// ---- NAMES and TYPES ----</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7371912d8fedf78ab0cf5b4056d4a3ce" title="IdentifierInfo.">DiagnosticsEngine::ak_identifierinfo</a>: {</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II = <a class="code" href="classclang_1_1Diagnostic.html#a3e9ff9e7f240b290ce188c060327234c" title="Return the specified IdentifierInfo argument.">getArgIdentifier</a>(ArgNo);</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>       assert(ModifierLen == 0 && <span class="stringliteral">"No modifiers for strings yet"</span>);</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> </div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>       <span class="comment">// Don't crash if get passed a null pointer by accident.</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>       <span class="keywordflow">if</span> (!II) {</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>         <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = <span class="stringliteral">"(null)"</span>;</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>         OutStr.append(S, S + strlen(S));</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>       }</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span> </div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>       llvm::raw_svector_ostream(OutStr) << <span class="charliteral">'\''</span> << II-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</a>() << <span class="charliteral">'\''</span>;</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>     }</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">DiagnosticsEngine::ak_qualtype</a>:</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa91d75b7f6025a78df6b9bc063fae04e2" title="DeclarationName.">DiagnosticsEngine::ak_declarationname</a>:</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa14061230b89786f54f9eb39c62799c2f" title="NamedDecl *.">DiagnosticsEngine::ak_nameddecl</a>:</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad9725d9aa4d7649634bb036481374ea4" title="NestedNameSpecifier *.">DiagnosticsEngine::ak_nestednamespec</a>:</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa1dcaf8f3a6459b478fde26bc8377d9d5" title="DeclContext *.">DiagnosticsEngine::ak_declcontext</a>:</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>       <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()-><a class="code" href="classclang_1_1DiagnosticsEngine.html#a18bcf8f7a4adf8d6ab238a03e4c84b41" title="Converts a diagnostic argument (as an intptr_t) into the string that represents it.">ConvertArgToString</a>(Kind, <a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f" title="Return the specified non-string argument in an opaque form.">getRawArg</a>(ArgNo),</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>                                      Modifier, ModifierLen,</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>                                      Argument, ArgumentLen,</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>                                      FormattedArgs.data(), FormattedArgs.size(),</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>                                      OutStr, QualTypeVals);</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7fe73e32e3449275dc088cc9573277dd" title="pair<QualType, QualType>">DiagnosticsEngine::ak_qualtype_pair</a>:</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>       <span class="comment">// Create a struct with all the info needed for printing.</span></div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>       <a class="code" href="structclang_1_1TemplateDiffTypes.html">TemplateDiffTypes</a> TDT;</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#ae4ed236eb6d928c2cbd30e0ecf7637e4">FromType</a> = <a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f" title="Return the specified non-string argument in an opaque form.">getRawArg</a>(ArgNo);</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#adea7b7dba67717b38b315b954a94480a">ToType</a> = <a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f" title="Return the specified non-string argument in an opaque form.">getRawArg</a>(ArgNo2);</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#a1d977b3fad3793d0d8e1ed9309337fa2">ElideType</a> = <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()->ElideType;</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#acfa16212338242db13a29f8498e954bd">ShowColors</a> = <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()->ShowColors;</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#ac090947dacb5e40092e211e373003961">TemplateDiffUsed</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>       intptr_t val = <span class="keyword">reinterpret_cast<</span>intptr_t<span class="keyword">></span>(&TDT);</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span> </div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *ArgumentEnd = Argument + ArgumentLen;</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *Pipe = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, ArgumentEnd, <span class="charliteral">'|'</span>);</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span> </div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>       <span class="comment">// Print the tree.  If this diagnostic already has a tree, skip the</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>       <span class="comment">// second tree.</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()->PrintTemplateTree && Tree.empty()) {</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>         TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#a661a7c61c9a148a46a5457458fa974cb">PrintFromType</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>         TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#a745b58180bafede77a4cfd2099010bbe">PrintTree</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>         <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()-><a class="code" href="classclang_1_1DiagnosticsEngine.html#a18bcf8f7a4adf8d6ab238a03e4c84b41" title="Converts a diagnostic argument (as an intptr_t) into the string that represents it.">ConvertArgToString</a>(Kind, val,</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>                                        Modifier, ModifierLen,</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>                                        Argument, ArgumentLen,</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>                                        FormattedArgs.data(),</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>                                        FormattedArgs.size(),</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>                                        Tree, QualTypeVals);</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>         <span class="comment">// If there is no tree information, fall back to regular printing.</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>         <span class="keywordflow">if</span> (!Tree.empty()) {</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>           <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Pipe + 1, ArgumentEnd, OutStr);</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>         }</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>       }</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> </div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>       <span class="comment">// Non-tree printing, also the fall-back when tree printing fails.</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>       <span class="comment">// The fall-back is triggered when the types compared are not templates.</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *FirstDollar = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(Argument, ArgumentEnd, <span class="charliteral">'$'</span>);</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *SecondDollar = <a class="code" href="Diagnostic_8cpp.html#ae4c638d5f1a8102cd8a2dcb8fc7b6b08">ScanFormat</a>(FirstDollar + 1, ArgumentEnd, <span class="charliteral">'$'</span>);</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span> </div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>       <span class="comment">// Append before text</span></div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>       <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Argument, FirstDollar, OutStr);</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span> </div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>       <span class="comment">// Append first type</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#a745b58180bafede77a4cfd2099010bbe">PrintTree</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#a661a7c61c9a148a46a5457458fa974cb">PrintFromType</a> = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>       <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()-><a class="code" href="classclang_1_1DiagnosticsEngine.html#a18bcf8f7a4adf8d6ab238a03e4c84b41" title="Converts a diagnostic argument (as an intptr_t) into the string that represents it.">ConvertArgToString</a>(Kind, val,</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>                                      Modifier, ModifierLen,</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>                                      Argument, ArgumentLen,</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>                                      FormattedArgs.data(), FormattedArgs.size(),</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>                                      OutStr, QualTypeVals);</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>       <span class="keywordflow">if</span> (!TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#ac090947dacb5e40092e211e373003961">TemplateDiffUsed</a>)</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>         FormattedArgs.push_back(std::make_pair(<a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">DiagnosticsEngine::ak_qualtype</a>,</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>                                                TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#ae4ed236eb6d928c2cbd30e0ecf7637e4">FromType</a>));</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span> </div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>       <span class="comment">// Append middle text</span></div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>       <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(FirstDollar + 1, SecondDollar, OutStr);</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span> </div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>       <span class="comment">// Append second type</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>       TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#a661a7c61c9a148a46a5457458fa974cb">PrintFromType</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>       <a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()-><a class="code" href="classclang_1_1DiagnosticsEngine.html#a18bcf8f7a4adf8d6ab238a03e4c84b41" title="Converts a diagnostic argument (as an intptr_t) into the string that represents it.">ConvertArgToString</a>(Kind, val,</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>                                      Modifier, ModifierLen,</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>                                      Argument, ArgumentLen,</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>                                      FormattedArgs.data(), FormattedArgs.size(),</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>                                      OutStr, QualTypeVals);</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>       <span class="keywordflow">if</span> (!TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#ac090947dacb5e40092e211e373003961">TemplateDiffUsed</a>)</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>         FormattedArgs.push_back(std::make_pair(<a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">DiagnosticsEngine::ak_qualtype</a>,</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>                                                TDT.<a class="code" href="structclang_1_1TemplateDiffTypes.html#adea7b7dba67717b38b315b954a94480a">ToType</a>));</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span> </div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>       <span class="comment">// Append end text</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>       <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(SecondDollar + 1, Pipe, OutStr);</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>     }</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>     </div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>     <span class="comment">// Remember this argument info for subsequent formatting operations.  Turn</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>     <span class="comment">// std::strings into a null terminated string to make it be the same case as</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>     <span class="comment">// all the other ones.</span></div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>     <span class="keywordflow">if</span> (Kind == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7fe73e32e3449275dc088cc9573277dd" title="pair<QualType, QualType>">DiagnosticsEngine::ak_qualtype_pair</a>)</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Kind != <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee" title="std::string">DiagnosticsEngine::ak_std_string</a>)</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>       FormattedArgs.push_back(std::make_pair(Kind, <a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f" title="Return the specified non-string argument in an opaque form.">getRawArg</a>(ArgNo)));</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>       FormattedArgs.push_back(std::make_pair(<a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa90d4083293d62ab9ebc5489b4f057e2b" title="const char *">DiagnosticsEngine::ak_c_string</a>,</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>                                         (intptr_t)<a class="code" href="classclang_1_1Diagnostic.html#acbf28352fcb6d2818c61fd069c7490a6" title="Return the provided argument string specified by Idx.">getArgStdStr</a>(ArgNo).c_str()));</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     </div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>   }</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> </div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>   <span class="comment">// Append the type tree to the end of the diagnostics.</span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>   OutStr.append(Tree.begin(), Tree.end());</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> }</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span> </div>
+<div class="line"><a name="l00928"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">  928</a></span> <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic::StoredDiagnostic</a>() { }</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span> </div>
+<div class="line"><a name="l00930"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a0249e0391e2d57b49f4baa0ceed7531c">  930</a></span> <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic::StoredDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>,</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>                                    StringRef Message)</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>   : ID(ID), Level(Level), Loc(), Message(Message) { }</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> </div>
+<div class="line"><a name="l00934"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#affbb51bdce105bae0a9a61b83caec8a9">  934</a></span> <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic::StoredDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>, </div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info)</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>   : <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>(Info.getID()), Level(Level) </div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span> {</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>   assert((Info.<a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16">getLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>() || Info.<a class="code" href="classclang_1_1Diagnostic.html#aae26a5bb59bf1d70a26e7bf665b51925">hasSourceManager</a>()) &&</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>        <span class="stringliteral">"Valid source location without setting a source manager for diagnostic"</span>);</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>   <span class="keywordflow">if</span> (Info.<a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16">getLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>())</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>     Loc = <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a>(Info.<a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16">getLocation</a>(), Info.<a class="code" href="classclang_1_1Diagnostic.html#a48b68414f88d8451288420d6615366e3">getSourceManager</a>());</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<64></a> Message;</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>   Info.<a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(Message);</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>   this->Message.assign(Message.begin(), Message.end());</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span> </div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>   Ranges.reserve(Info.<a class="code" href="classclang_1_1Diagnostic.html#af28cea73797f6c5180896769cfdeae04" title="Return the number of source ranges associated with this diagnostic.">getNumRanges</a>());</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = Info.<a class="code" href="classclang_1_1Diagnostic.html#af28cea73797f6c5180896769cfdeae04" title="Return the number of source ranges associated with this diagnostic.">getNumRanges</a>(); I != N; ++I)</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>     Ranges.push_back(Info.<a class="code" href="classclang_1_1Diagnostic.html#a5bc8a1856f3b428b4e44e9e0df27c971">getRange</a>(I));</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span> </div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>   FixIts.reserve(Info.<a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f">getNumFixItHints</a>());</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = Info.<a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f">getNumFixItHints</a>(); I != N; ++I)</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>     FixIts.push_back(Info.<a class="code" href="classclang_1_1Diagnostic.html#a2d868b2015e11b9f0ffd48a7b0caa5f6">getFixItHint</a>(I));</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span> }</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span> </div>
+<div class="line"><a name="l00955"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a58313e4a95186cbe1f45561a57d2dcf4">  955</a></span> <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic::StoredDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>,</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>                                    StringRef Message, <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc,</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>                                    <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<CharSourceRange></a> <a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>,</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>                                    <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> FixIts)</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>   : ID(ID), Level(Level), Loc(Loc), Message(Message), </div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>     Ranges(Ranges.begin(), Ranges.end()), FixIts(FixIts.begin(), FixIts.end())</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span> {</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> }</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> </div>
+<div class="line"><a name="l00964"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#af2a64a4cdc4542623e7ca8a620a2b647">  964</a></span> <a class="code" href="classclang_1_1StoredDiagnostic.html#af2a64a4cdc4542623e7ca8a620a2b647">StoredDiagnostic::~StoredDiagnostic</a>() { }</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span> <span class="comment"></span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span> <span class="comment">/// IncludeInDiagnosticCounts - This method (whose default implementation</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span> <span class="comment">///  returns true) indicates whether the diagnostics handled by this</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span> <span class="comment">///  DiagnosticConsumer should be included in the number of diagnostics</span></div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span> <span class="comment">///  reported by DiagnosticsEngine.</span></div>
+<div class="line"><a name="l00970"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#aa75b0e19bc6995ece6e8ab6e8d4c24b6">  970</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#aa75b0e19bc6995ece6e8ab6e8d4c24b6" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">DiagnosticConsumer::IncludeInDiagnosticCounts</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span> </div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span> <span class="keywordtype">void</span> IgnoringDiagConsumer::anchor() { }</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span> </div>
+<div class="line"><a name="l00974"></a><span class="lineno"><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#ad87af2d7030acc40603044e172b8abbc">  974</a></span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#ad87af2d7030acc40603044e172b8abbc">ForwardingDiagnosticConsumer::~ForwardingDiagnosticConsumer</a>() {}</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span> </div>
+<div class="line"><a name="l00976"></a><span class="lineno"><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a1cf62be1e76d9aad8d4ef3ef8f09cc74">  976</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a1cf62be1e76d9aad8d4ef3ef8f09cc74" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">ForwardingDiagnosticConsumer::HandleDiagnostic</a>(</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>        <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> DiagLevel,</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>        <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info) {</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>   Target.<a class="code" href="classclang_1_1DiagnosticConsumer.html#a4e2f11fcedb8495fe184b8adbd589708" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">HandleDiagnostic</a>(DiagLevel, Info);</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span> }</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span> </div>
+<div class="line"><a name="l00982"></a><span class="lineno"><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a78b23a4a8e3890c38377ca1fef1020da">  982</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a78b23a4a8e3890c38377ca1fef1020da">ForwardingDiagnosticConsumer::clear</a>() {</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>   <a class="code" href="classclang_1_1DiagnosticConsumer.html#a30bce2dd5e959ad7f6b31317ef84949e">DiagnosticConsumer::clear</a>();</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>   Target.<a class="code" href="classclang_1_1DiagnosticConsumer.html#a30bce2dd5e959ad7f6b31317ef84949e">clear</a>();</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span> }</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span> </div>
+<div class="line"><a name="l00987"></a><span class="lineno"><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a5359c9551fbed341d22ac7394965d823">  987</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a5359c9551fbed341d22ac7394965d823" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">ForwardingDiagnosticConsumer::IncludeInDiagnosticCounts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>   <span class="keywordflow">return</span> Target.<a class="code" href="classclang_1_1DiagnosticConsumer.html#aa75b0e19bc6995ece6e8ab6e8d4c24b6" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">IncludeInDiagnosticCounts</a>();</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span> }</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span> </div>
+<div class="line"><a name="l00991"></a><span class="lineno"><a class="code" href="classclang_1_1PartialDiagnostic_1_1StorageAllocator.html#a1e6b4e331e6735d1b3936e017460f4ce">  991</a></span> <a class="code" href="classclang_1_1PartialDiagnostic_1_1StorageAllocator.html#a1e6b4e331e6735d1b3936e017460f4ce">PartialDiagnostic::StorageAllocator::StorageAllocator</a>() {</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0; I != NumCached; ++I)</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>     FreeList[I] = Cached + I;</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>   NumFreeListEntries = NumCached;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span> }</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span> </div>
+<div class="line"><a name="l00997"></a><span class="lineno"><a class="code" href="classclang_1_1PartialDiagnostic_1_1StorageAllocator.html#a3fbebcd015cade4f1278894df12d64e1">  997</a></span> <a class="code" href="classclang_1_1PartialDiagnostic_1_1StorageAllocator.html#a3fbebcd015cade4f1278894df12d64e1">PartialDiagnostic::StorageAllocator::~StorageAllocator</a>() {</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>   <span class="comment">// Don't assert if we are in a CrashRecovery context, as this invariant may</span></div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>   <span class="comment">// be invalidated during a crash.</span></div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>   assert((NumFreeListEntries == NumCached || </div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>           llvm::CrashRecoveryContext::isRecoveringFromCrash()) && </div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>          <span class="stringliteral">"A partial is on the lamb"</span>);</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:33 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Diagnostic.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_24bca364b0f2c7358ed9eed68d952c0d.html">Basic</a></li><li class="navelem"><a class="el" href="dir_d56b91025ffac0ac634c9045c122e791.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Diagnostic.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Diagnostic_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/Basic/Release+Asserts/Diagnostic.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Basic/Release+Asserts/Diagnostic.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  Diagnostic.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/StringExtras.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/CrashRecoveryContext.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/tools/clang/lib/Basic/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/include/llvm/ADT/StringExtras.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/include/llvm/Support/CrashRecoveryContext.h:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:33 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostic_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1435 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Diagnostic.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_84b4cac0f3db7adb733be733ea7bc48e.html">Basic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Diagnostic.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Diagnostic_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- Diagnostic.h - C Language Family Diagnostic Handling ---*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief Defines the Diagnostic-related interfaces.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#ifndef LLVM_CLANG_DIAGNOSTIC_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_DIAGNOSTIC_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticIDs_8h.html" title="Defines the Diagnostic IDs-related interfaces.">clang/Basic/DiagnosticIDs.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticOptions_8h.html">clang/Basic/DiagnosticOptions.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="SourceLocation_8h.html" title="Defines the clang::SourceLocation class and associated facilities.">clang/Basic/SourceLocation.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/IntrusiveRefCntPtr.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/Support/type_traits.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include <list></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include <vector></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">class </span>DiagnosticConsumer;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">class </span>DiagnosticBuilder;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   <span class="keyword">class </span>DiagnosticOptions;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   <span class="keyword">class </span>IdentifierInfo;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="keyword">class </span>DeclContext;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">class </span>LangOptions;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keyword">class </span>Preprocessor;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">class </span>DiagnosticErrorTrap;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">class </span>StoredDiagnostic;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment"></span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment">/// \brief Annotates a diagnostic with some code that should be</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">/// inserted, removed, or replaced to fix the problem.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">/// This kind of hint should be used when we are certain that the</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">/// introduction, removal, or modification of a particular (small!)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">/// amount of code will correct a compilation error. The compiler</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">/// should also provide full recovery from such errors, such that</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment">/// suppressing the diagnostic output can still result in successful</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">/// compilation.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html">   48</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">  /// \brief Code that should be replaced to correct the error. Empty for an</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">  /// insertion hint.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb">   52</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// \brief Code in the specific range that should be inserted in the insertion</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">  /// location.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#ab24a91b1e90b7fbae5686ffc0cc8b66b">   56</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> <a class="code" href="classclang_1_1FixItHint.html#ab24a91b1e90b7fbae5686ffc0cc8b66b" title="Code in the specific range that should be inserted in the insertion location.">InsertFromRange</a>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment"></span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">  /// \brief The actual code to insert at the insertion location, as a</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">  /// string.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#ad81794cbfdb9d0e7dd9ac0c0b43b0301">   60</a></span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1FixItHint.html#ad81794cbfdb9d0e7dd9ac0c0b43b0301" title="The actual code to insert at the insertion location, as a string.">CodeToInsert</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">   62</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment"></span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">  /// \brief Empty code modification hint, indicating that no code</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">  /// modification is known.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a8eeca9d14d274009d94bf66478686e65">   66</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1FixItHint.html#a8eeca9d14d274009d94bf66478686e65" title="Empty code modification hint, indicating that no code modification is known.">FixItHint</a>() : <a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a>(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) { }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a81ba86dce5ee1d236a88f0578264e22a">   68</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItHint.html#a81ba86dce5ee1d236a88f0578264e22a">isNull</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     <span class="keywordflow">return</span> !<a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>.<a class="code" href="classclang_1_1CharSourceRange.html#a955059fb73be57a32a33a4115783e519">isValid</a>();</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   }</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment">  /// \brief Create a code modification hint that inserts the given</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment">  /// code string at a specific location.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#afd481d826e9ddaa39fc82a698a810246">   74</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> <a class="code" href="classclang_1_1FixItHint.html#afd481d826e9ddaa39fc82a698a810246" title="Create a code modification hint that inserts the given code string at a specific location.">CreateInsertion</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InsertionLoc,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>                                    StringRef Code,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                                    <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a> = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> Hint;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a> =</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>       <a class="code" href="classclang_1_1CharSourceRange.html#a3a85bd6fe56a23b41680fb7893ce8e2e">CharSourceRange::getCharRange</a>(InsertionLoc, InsertionLoc);</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#ad81794cbfdb9d0e7dd9ac0c0b43b0301" title="The actual code to insert at the insertion location, as a string.">CodeToInsert</a> = Code;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a> = <a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a>;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     <span class="keywordflow">return</span> Hint;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   }</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">  /// \brief Create a code modification hint that inserts the given</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">  /// code from \p FromRange at a specific location.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a0d8406a70566d4b3937cd5b11a2c520f">   87</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> <a class="code" href="classclang_1_1FixItHint.html#a0d8406a70566d4b3937cd5b11a2c520f" title="Create a code modification hint that inserts the given code from FromRange at a specific location...">CreateInsertionFromRange</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> InsertionLoc,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                             <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> FromRange,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>                                         <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a> = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> Hint;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a> =</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>       <a class="code" href="classclang_1_1CharSourceRange.html#a3a85bd6fe56a23b41680fb7893ce8e2e">CharSourceRange::getCharRange</a>(InsertionLoc, InsertionLoc);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#ab24a91b1e90b7fbae5686ffc0cc8b66b" title="Code in the specific range that should be inserted in the insertion location.">InsertFromRange</a> = FromRange;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a> = <a class="code" href="classclang_1_1FixItHint.html#a4db0986827f7007ffa5acbaed6bd22fd">BeforePreviousInsertions</a>;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordflow">return</span> Hint;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   }</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment"></span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment">  /// \brief Create a code modification hint that removes the given</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">  /// source range.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe">  100</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">CreateRemoval</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>) {</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>     <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> Hint;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a> = <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>     <span class="keywordflow">return</span> Hint;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   }</div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a17de00de20ec5c7182e2e833fcb4e771">  105</a></span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> <a class="code" href="classclang_1_1FixItHint.html#a17de00de20ec5c7182e2e833fcb4e771">CreateRemoval</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>) {</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1FixItHint.html#a9e11ae1e22983fd4abea805755ecddbe" title="Create a code modification hint that removes the given source range.">CreateRemoval</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(RemoveRange));</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   }</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">  /// \brief Create a code modification hint that replaces the given</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  /// source range with the given code string.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a">  111</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">CreateReplacement</a>(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>,</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>                                      StringRef Code) {</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> Hint;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a> = <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     Hint.<a class="code" href="classclang_1_1FixItHint.html#ad81794cbfdb9d0e7dd9ac0c0b43b0301" title="The actual code to insert at the insertion location, as a string.">CodeToInsert</a> = Code;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>     <span class="keywordflow">return</span> Hint;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   }</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="classclang_1_1FixItHint.html#ab0c59b470475c4569de2202ef4646fbc">  119</a></span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">CreateReplacement</a>(<a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1FixItHint.html#a5f7f3e68c26742c35764ebd1b0e94abb" title="Code that should be replaced to correct the error. Empty for an insertion hint.">RemoveRange</a>,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>                                      StringRef Code) {</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1FixItHint.html#a90e122cd34933ba821718385fddfae7a" title="Create a code modification hint that replaces the given source range with the given code string...">CreateReplacement</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(RemoveRange), Code);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   }</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> };</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment"></span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">/// \brief Concrete class used by the front-end to report problems and issues.</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment">/// This massages the diagnostics (e.g. handling things like "report warnings</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment">/// as errors" and passes them off to the DiagnosticConsumer for reporting to</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment">/// the user. DiagnosticsEngine is tied to one translation unit and one</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">/// SourceManager.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html">  131</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1RefCountedBase.html">RefCountedBase</a><DiagnosticsEngine> {</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">  /// \brief The level of the diagnostic, after it has been through mapping.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0">  134</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">Level</a> {</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a7576ca0c5417d008077e743b3d412234">  135</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a7576ca0c5417d008077e743b3d412234">Ignored</a> = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da79407e379e5d2dd291bb0f1bc3f1def0">DiagnosticIDs::Ignored</a>,</div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">  136</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">Note</a> = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da49e8cd35c66dbec47eea120a88ece895">DiagnosticIDs::Note</a>,</div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a43d23a1b8f299eab8b805b238407d3ae">  137</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a43d23a1b8f299eab8b805b238407d3ae">Warning</a> = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da8ca73edb30f89e0713f24d88d3da127f">DiagnosticIDs::Warning</a>,</div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a67b5cd51c751720d23bd4ad592252c6e">  138</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0a67b5cd51c751720d23bd4ad592252c6e">Error</a> = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da0fa83255234af755314c3cf096042fc0">DiagnosticIDs::Error</a>,</div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad7feebd13077f58e0035a15ebe915ce7">  139</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad7feebd13077f58e0035a15ebe915ce7">Fatal</a> = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da86c2d82ded3b8c6802349bd5dcbe8b2b">DiagnosticIDs::Fatal</a></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   };</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> <span class="comment">  /// \brief How do we handle otherwise-unmapped extension?</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> <span class="comment">  /// This is controlled by -pedantic and -pedantic-errors.</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163">  145</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163" title="How do we handle otherwise-unmapped extension?">ExtensionHandling</a> {</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163a10d45473048846567f0a98dbab469c7b">  146</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163a95c1eb5fa2c095272ecdd49255d30047">Ext_Ignore</a>, <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163a10d45473048846567f0a98dbab469c7b">Ext_Warn</a>, <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163a9a1e1784ce6d681802fd38f670327c53">Ext_Error</a></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   };</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">  149</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">ArgumentKind</a> {</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee">  150</a></span>     <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee" title="std::string">ak_std_string</a>,      <span class="comment">///< std::string</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa90d4083293d62ab9ebc5489b4f057e2b">  151</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa90d4083293d62ab9ebc5489b4f057e2b" title="const char *">ak_c_string</a>,        <span class="comment">///< const char *</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad85d1a40856e9d685b7369756fdb547a">  152</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad85d1a40856e9d685b7369756fdb547a" title="int">ak_sint</a>,            <span class="comment">///< int</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7faefdcb96e877a62991facfbdf214ee090">  153</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7faefdcb96e877a62991facfbdf214ee090" title="unsigned">ak_uint</a>,            <span class="comment">///< unsigned</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7371912d8fedf78ab0cf5b4056d4a3ce">  154</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7371912d8fedf78ab0cf5b4056d4a3ce" title="IdentifierInfo.">ak_identifierinfo</a>,  <span class="comment">///< IdentifierInfo</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084">  155</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa61b69df59ef7bfd4f080b771d24c7084" title="QualType.">ak_qualtype</a>,        <span class="comment">///< QualType</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa91d75b7f6025a78df6b9bc063fae04e2">  156</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa91d75b7f6025a78df6b9bc063fae04e2" title="DeclarationName.">ak_declarationname</a>, <span class="comment">///< DeclarationName</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa14061230b89786f54f9eb39c62799c2f">  157</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa14061230b89786f54f9eb39c62799c2f" title="NamedDecl *.">ak_nameddecl</a>,       <span class="comment">///< NamedDecl *</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad9725d9aa4d7649634bb036481374ea4">  158</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad9725d9aa4d7649634bb036481374ea4" title="NestedNameSpecifier *.">ak_nestednamespec</a>,  <span class="comment">///< NestedNameSpecifier *</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa1dcaf8f3a6459b478fde26bc8377d9d5">  159</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa1dcaf8f3a6459b478fde26bc8377d9d5" title="DeclContext *.">ak_declcontext</a>,     <span class="comment">///< DeclContext *</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7fe73e32e3449275dc088cc9573277dd">  160</a></span> <span class="comment"></span>    <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7fe73e32e3449275dc088cc9573277dd" title="pair<QualType, QualType>">ak_qualtype_pair</a>    <span class="comment">///< pair<QualType, QualType></span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment"></span>  };</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment"></span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment">  /// \brief Represents on argument value, which is a union discriminated</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">  /// by ArgumentKind, with a value.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#af50b13463dbe2766de671674f12f6965">  165</a></span> <span class="comment"></span>  <span class="keyword">typedef</span> std::pair<ArgumentKind, intptr_t> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af50b13463dbe2766de671674f12f6965" title="Represents on argument value, which is a union discriminated by ArgumentKind, with a value...">ArgumentValue</a>;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> AllExtensionsSilenced; <span class="comment">// Used by __extension__</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   <span class="keywordtype">bool</span> IgnoreAllWarnings;        <span class="comment">// Ignore all warnings: -w</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>   <span class="keywordtype">bool</span> WarningsAsErrors;         <span class="comment">// Treat warnings like errors.</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   <span class="keywordtype">bool</span> EnableAllWarnings;        <span class="comment">// Enable all warnings.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   <span class="keywordtype">bool</span> ErrorsAsFatal;            <span class="comment">// Treat errors like fatal errors.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <span class="keywordtype">bool</span> SuppressSystemWarnings;   <span class="comment">// Suppress warnings in system headers.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   <span class="keywordtype">bool</span> SuppressAllDiagnostics;   <span class="comment">// Suppress all diagnostics.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   <span class="keywordtype">bool</span> ElideType;                <span class="comment">// Elide common types of templates.</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <span class="keywordtype">bool</span> PrintTemplateTree;        <span class="comment">// Print a tree when comparing templates.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <span class="keywordtype">bool</span> ShowColors;               <span class="comment">// Color printing is enabled.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <a class="code" href="namespaceclang.html#a066f28b64b12e835348655bf9a6adef1" title="Specifies which overload candidates to display when overload resolution fails.">OverloadsShown</a> ShowOverloads;  <span class="comment">// Which overload candidates to show.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>   <span class="keywordtype">unsigned</span> ErrorLimit;           <span class="comment">// Cap of # errors emitted, 0 -> no limit.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   <span class="keywordtype">unsigned</span> TemplateBacktraceLimit; <span class="comment">// Cap on depth of template backtrace stack,</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>                                    <span class="comment">// 0 -> no limit.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   <span class="keywordtype">unsigned</span> ConstexprBacktraceLimit; <span class="comment">// Cap on depth of constexpr evaluation</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>                                     <span class="comment">// backtrace stack, 0 -> no limit.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163" title="How do we handle otherwise-unmapped extension?">ExtensionHandling</a> ExtBehavior; <span class="comment">// Map extensions onto warnings or errors?</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticIDs></a> Diags;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticOptions></a> DiagOpts;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *Client;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="keywordtype">bool</span> OwnsDiagClient;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> *SourceMgr;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> <span class="comment"></span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> <span class="comment">  /// \brief Mapping information for diagnostics.</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> <span class="comment">  /// Mapping info is packed into four bits per diagnostic.  The low three</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  /// bits are the mapping (an instance of diag::Mapping), or zero if unset.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment">  /// The high bit is set when the mapping was established as a user mapping.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment">  /// If the high bit is clear, then the low bits are set to the default</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment">  /// value, and should be mapped with -pedantic, -Werror, etc.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> <span class="comment">  /// A new DiagState is created and kept around when diagnostic pragmas modify</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="comment">  /// the state so that we know what is the diagnostic state at any given</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment">  /// source location.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> <span class="comment"></span>  <span class="keyword">class </span>DiagState {</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>     llvm::DenseMap<unsigned, DiagnosticMappingInfo> DiagMap;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>     <span class="keyword">typedef</span> llvm::DenseMap<unsigned, DiagnosticMappingInfo>::iterator</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>       iterator;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>     <span class="keyword">typedef</span> llvm::DenseMap<unsigned, DiagnosticMappingInfo>::const_iterator</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>       const_iterator;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>     <span class="keywordtype">void</span> setMappingInfo(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>, <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> Info) {</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>       DiagMap[<a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>] = Info;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>     }</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>     <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> &getOrAddMappingInfo(<a class="code" href="classunsigned.html">diag::kind</a> Diag);</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     const_iterator begin()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagMap.begin(); }</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>     const_iterator end()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagMap.end(); }</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   };</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> <span class="comment"></span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> <span class="comment">  /// \brief Keeps and automatically disposes all DiagStates that we create.</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment"></span>  std::list<DiagState> DiagStates;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> <span class="comment"></span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> <span class="comment">  /// \brief Represents a point in source where the diagnostic state was</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> <span class="comment">  /// modified because of a pragma.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="comment">  /// 'Loc' can be null if the point represents the diagnostic state</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">  /// modifications done through the command-line.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment"></span>  <span class="keyword">struct </span>DiagStatePoint {</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>     DiagState *<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>     <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>     DiagStatePoint(DiagState *<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>       : State(State), Loc(Loc) { } </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>     </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>     <span class="keywordtype">bool</span> <a class="code" href="namespaceclang.html#a51e572049a11fe5cf42e8da840bf69af">operator<</a>(<span class="keyword">const</span> DiagStatePoint &RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>       <span class="comment">// If Loc is invalid it means it came from <command-line>, in which case</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>       <span class="comment">// we regard it as coming before any valid source location.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>       <span class="keywordflow">if</span> (RHS.Loc.isInvalid())</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>       <span class="keywordflow">if</span> (Loc.isInvalid())</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>         <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>       <span class="keywordflow">return</span> Loc.isBeforeInTranslationUnitThan(RHS.Loc);</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     }</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   };</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> <span class="comment"></span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> <span class="comment">  /// \brief A sorted vector of all DiagStatePoints representing changes in</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="comment">  /// diagnostic state due to diagnostic pragmas.</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> <span class="comment">  /// The vector is always sorted according to the SourceLocation of the</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> <span class="comment">  /// DiagStatePoint.</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> <span class="comment"></span>  <span class="keyword">typedef</span> std::vector<DiagStatePoint> DiagStatePointsTy;</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   <span class="keyword">mutable</span> DiagStatePointsTy DiagStatePoints;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment"></span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="comment">  /// \brief Keeps the DiagState that was active during each diagnostic 'push'</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> <span class="comment">  /// so we can get back at it when we 'pop'.</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> <span class="comment"></span>  std::vector<DiagState *> DiagStateOnPushStack;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   DiagState *GetCurDiagState()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     assert(!DiagStatePoints.empty());</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <span class="keywordflow">return</span> DiagStatePoints.back().State;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   }</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>   <span class="keywordtype">void</span> PushDiagStatePoint(DiagState *<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, SourceLocation L) {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     FullSourceLoc Loc(L, <a class="code" href="classclang_1_1DiagnosticsEngine.html#ae7b26c3e9c3a0aeea4476e0936792447">getSourceManager</a>());</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="comment">// Make sure that DiagStatePoints is always sorted according to Loc.</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>     assert(Loc.isValid() && <span class="stringliteral">"Adding invalid loc point"</span>);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>     assert(!DiagStatePoints.empty() &&</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>            (DiagStatePoints.back().Loc.isInvalid() ||</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>             DiagStatePoints.back().Loc.isBeforeInTranslationUnitThan(Loc)) &&</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>            <span class="stringliteral">"Previous point loc comes after or is the same as new one"</span>);</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     DiagStatePoints.push_back(DiagStatePoint(State, Loc));</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>   }</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment"></span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> <span class="comment">  /// \brief Finds the DiagStatePoint that contains the diagnostic state of</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> <span class="comment">  /// the given source location.</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> <span class="comment"></span>  DiagStatePointsTy::iterator GetDiagStatePointForLoc(SourceLocation Loc) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> <span class="comment"></span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> <span class="comment">  /// \brief Sticky flag set to \c true when an error is emitted.</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> <span class="comment"></span>  <span class="keywordtype">bool</span> ErrorOccurred;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> <span class="comment"></span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> <span class="comment">  /// \brief Sticky flag set to \c true when an "uncompilable error" occurs.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> <span class="comment">  /// I.e. an error that was not upgraded from a warning by -Werror.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment"></span>  <span class="keywordtype">bool</span> UncompilableErrorOccurred;</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> <span class="comment"></span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> <span class="comment">  /// \brief Sticky flag set to \c true when a fatal error is emitted.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> <span class="comment"></span>  <span class="keywordtype">bool</span> FatalErrorOccurred;</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> <span class="comment"></span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> <span class="comment">  /// \brief Indicates that an unrecoverable error has occurred.</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> <span class="comment"></span>  <span class="keywordtype">bool</span> UnrecoverableErrorOccurred;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> <span class="comment">  /// \brief Counts for DiagnosticErrorTrap to check whether an error occurred</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> <span class="comment">  /// during a parsing section, e.g. during parsing a function.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> TrapNumErrorsOccurred;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>   <span class="keywordtype">unsigned</span> TrapNumUnrecoverableErrorsOccurred;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> <span class="comment"></span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> <span class="comment">  /// \brief The level of the last diagnostic emitted.</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> <span class="comment">  /// This is used to emit continuation diagnostics with the same level as the</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> <span class="comment">  /// diagnostic that they follow.</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5d" title="The level of the diagnostic, after it has been through mapping.">DiagnosticIDs::Level</a> LastDiagLevel;</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   <span class="keywordtype">unsigned</span> NumWarnings;         <span class="comment">///< Number of warnings reported</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> NumErrors;           <span class="comment">///< Number of errors reported</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> NumErrorsSuppressed; <span class="comment">///< Number of errors suppressed</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> <span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> <span class="comment">  /// \brief A function pointer that converts an opaque diagnostic</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> <span class="comment">  /// argument to a strings.</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> <span class="comment">  /// This takes the modifiers and argument that was present in the diagnostic.</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> <span class="comment">  /// The PrevArgs array (whose length is NumPrevArgs) indicates the previous</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> <span class="comment">  /// arguments formatted for this diagnostic.  Implementations of this function</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> <span class="comment">  /// can use this information to avoid redundancy across arguments.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> <span class="comment">  /// This is a hack to avoid a layering violation between libbasic and libsema.</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> <span class="comment"></span>  <span class="keyword">typedef</span> void (*ArgToStringFnTy)(</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>       <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">ArgumentKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, intptr_t Val,</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *Modifier, <span class="keywordtype">unsigned</span> ModifierLen,</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>       <span class="keyword">const</span> <span class="keywordtype">char</span> *Argument, <span class="keywordtype">unsigned</span> ArgumentLen,</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af50b13463dbe2766de671674f12f6965" title="Represents on argument value, which is a union discriminated by ArgumentKind, with a value...">ArgumentValue</a> *PrevArgs,</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>       <span class="keywordtype">unsigned</span> NumPrevArgs,</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>       SmallVectorImpl<char> &Output,</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>       <span class="keywordtype">void</span> *Cookie,</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>       ArrayRef<intptr_t> QualTypeVals);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   <span class="keywordtype">void</span> *ArgToStringCookie;</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   ArgToStringFnTy ArgToStringFn;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="comment"></span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> <span class="comment">  /// \brief ID of the "delayed" diagnostic, which is a (typically</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> <span class="comment">  /// fatal) diagnostic that had to be delayed because it was found</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> <span class="comment">  /// while emitting another diagnostic.</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> DelayedDiagID;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> <span class="comment"></span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="comment">  /// \brief First string argument for the delayed diagnostic.</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="comment"></span>  std::string DelayedDiagArg1;</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> <span class="comment"></span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> <span class="comment">  /// \brief Second string argument for the delayed diagnostic.</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> <span class="comment"></span>  std::string DelayedDiagArg2;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a3d1126eb847347842dfa88392c38ff25">DiagnosticsEngine</a>(</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>                       <span class="keyword">const</span> IntrusiveRefCntPtr<DiagnosticIDs> &Diags,</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>                       DiagnosticOptions *DiagOpts,</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>                       DiagnosticConsumer *client = 0,</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>                       <span class="keywordtype">bool</span> ShouldOwnClient = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#ab41d33d4b73dc3dc3d516ba3eea6f692">~DiagnosticsEngine</a>();</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a98e64a993447cd51d3efb722d0d11eab">  347</a></span>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticIDs></a> &<a class="code" href="classclang_1_1DiagnosticsEngine.html#a98e64a993447cd51d3efb722d0d11eab">getDiagnosticIDs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>     <span class="keywordflow">return</span> Diags;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   }</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> <span class="comment"></span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> <span class="comment">  /// \brief Retrieve the diagnostic options.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a8469212767b5537795d077fe84cb32b4">  352</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> &<a class="code" href="classclang_1_1DiagnosticsEngine.html#a8469212767b5537795d077fe84cb32b4" title="Retrieve the diagnostic options.">getDiagnosticOptions</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *DiagOpts; }</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">  354</a></span>   <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *<a class="code" href="classclang_1_1DiagnosticsEngine.html#adfcddafe21f07cc2b7dc422cb8661d56">getClient</a>() { <span class="keywordflow">return</span> Client; }</div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a56d0bb99fc79b16dda8dd1a194239e89">  355</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *<a class="code" href="classclang_1_1DiagnosticsEngine.html#a56d0bb99fc79b16dda8dd1a194239e89">getClient</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Client; }</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="comment"></span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> <span class="comment">  /// \brief Determine whether this \c DiagnosticsEngine object own its client.</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a106acb36d7ef1e2e527f1468817f093e">  358</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a106acb36d7ef1e2e527f1468817f093e" title="Determine whether this DiagnosticsEngine object own its client.">ownsClient</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> OwnsDiagClient; }</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> <span class="comment">  /// \brief Return the current diagnostic client along with ownership of that</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> <span class="comment">  /// client.</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a780e0502793978b0621644934f057e7e">  362</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *<a class="code" href="classclang_1_1DiagnosticsEngine.html#a780e0502793978b0621644934f057e7e" title="Return the current diagnostic client along with ownership of that client.">takeClient</a>() {</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     OwnsDiagClient = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>     <span class="keywordflow">return</span> Client;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>   }</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aad5bcb1349d7c00926f68d70e37280a5">  367</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aad5bcb1349d7c00926f68d70e37280a5">hasSourceManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SourceMgr != 0; }</div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ae7b26c3e9c3a0aeea4476e0936792447">  368</a></span>   <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="classclang_1_1DiagnosticsEngine.html#ae7b26c3e9c3a0aeea4476e0936792447">getSourceManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>     assert(SourceMgr && <span class="stringliteral">"SourceManager not set!"</span>);</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>     <span class="keywordflow">return</span> *SourceMgr;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>   }</div>
+<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a3a93afbd57877105bb54c19a0c58e8f5">  372</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a3a93afbd57877105bb54c19a0c58e8f5">setSourceManager</a>(<a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> *SrcMgr) { SourceMgr = SrcMgr; }</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   <span class="comment">//  DiagnosticsEngine characterization methods, used by a client to customize</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   <span class="comment">//  how diagnostics are emitted.</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment"></span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="comment">  /// \brief Copies the current DiagMappings and pushes the new copy</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="comment">  /// onto the top of the stack.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a883e9b209051501cfbcbb7f6e565cc24" title="Copies the current DiagMappings and pushes the new copy onto the top of the stack.">pushMappings</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc);</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> <span class="comment"></span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> <span class="comment">  /// \brief Pops the current DiagMappings off the top of the stack,</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> <span class="comment">  /// causing the new top of the stack to be the active mappings.</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> <span class="comment">  /// \returns \c true if the pop happens, \c false if there is only one</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> <span class="comment">  /// DiagMapping on the stack.</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af7b034786d4d20a30ca403b8d831a0c4" title="Pops the current DiagMappings off the top of the stack, causing the new top of the stack to be the ac...">popMappings</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc);</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="comment"></span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="comment">  /// \brief Set the diagnostic client associated with this diagnostic object.</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> <span class="comment">  /// \param ShouldOwnClient true if the diagnostic object should take</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> <span class="comment">  /// ownership of \c client.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a73d6622e8b775233db09bc294a4b1bb0" title="Set the diagnostic client associated with this diagnostic object.">setClient</a>(<a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> *client, <span class="keywordtype">bool</span> ShouldOwnClient = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> <span class="comment"></span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> <span class="comment">  /// \brief Specify a limit for the number of errors we should</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> <span class="comment">  /// emit before giving up.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> <span class="comment">  /// Zero disables the limit.</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a672816113ef91c1485d941b548593a99">  400</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a672816113ef91c1485d941b548593a99" title="Specify a limit for the number of errors we should emit before giving up.">setErrorLimit</a>(<span class="keywordtype">unsigned</span> Limit) { ErrorLimit = Limit; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> <span class="comment">  /// \brief Specify the maximum number of template instantiation</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> <span class="comment">  /// notes to emit along with a given diagnostic.</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a5dbb52a003e1b616ee67145c2f78c17a">  404</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a5dbb52a003e1b616ee67145c2f78c17a" title="Specify the maximum number of template instantiation notes to emit along with a given diagnostic...">setTemplateBacktraceLimit</a>(<span class="keywordtype">unsigned</span> Limit) {</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     TemplateBacktraceLimit = Limit;</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   }</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> <span class="comment"></span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> <span class="comment">  /// \brief Retrieve the maximum number of template instantiation</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> <span class="comment">  /// notes to emit along with a given diagnostic.</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a01dc01b28e670785aebc0e55b8363af4">  410</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a01dc01b28e670785aebc0e55b8363af4" title="Retrieve the maximum number of template instantiation notes to emit along with a given diagnostic...">getTemplateBacktraceLimit</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     <span class="keywordflow">return</span> TemplateBacktraceLimit;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   }</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> <span class="comment"></span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> <span class="comment">  /// \brief Specify the maximum number of constexpr evaluation</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> <span class="comment">  /// notes to emit along with a given diagnostic.</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ac0ae35fd3de7aff2392dcf1e3ac6e768">  416</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ac0ae35fd3de7aff2392dcf1e3ac6e768" title="Specify the maximum number of constexpr evaluation notes to emit along with a given diagnostic...">setConstexprBacktraceLimit</a>(<span class="keywordtype">unsigned</span> Limit) {</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     ConstexprBacktraceLimit = Limit;</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   }</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="comment"></span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment">  /// \brief Retrieve the maximum number of constexpr evaluation</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">  /// notes to emit along with a given diagnostic.</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a37670826f95ed8ced552c1854d647f48">  422</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a37670826f95ed8ced552c1854d647f48" title="Retrieve the maximum number of constexpr evaluation notes to emit along with a given diagnostic...">getConstexprBacktraceLimit</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>     <span class="keywordflow">return</span> ConstexprBacktraceLimit;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   }</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> <span class="comment"></span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="comment">  /// \brief When set to true, any unmapped warnings are ignored.</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> <span class="comment">  /// If this and WarningsAsErrors are both set, then this one wins.</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a2b7f5de98f8b0efaa5c4a1840a930097">  429</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a2b7f5de98f8b0efaa5c4a1840a930097" title="When set to true, any unmapped warnings are ignored.">setIgnoreAllWarnings</a>(<span class="keywordtype">bool</span> Val) { IgnoreAllWarnings = Val; }</div>
+<div class="line"><a name="l00430"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aaee91393fb1ad9b6355791a9bc0b8615">  430</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aaee91393fb1ad9b6355791a9bc0b8615">getIgnoreAllWarnings</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IgnoreAllWarnings; }</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> <span class="comment"></span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> <span class="comment">  /// \brief When set to true, any unmapped ignored warnings are no longer</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="comment">  /// ignored.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> <span class="comment">  /// If this and IgnoreAllWarnings are both set, then that one wins.</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a9710f0c1ac24da437773fbaeea163eb6">  436</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a9710f0c1ac24da437773fbaeea163eb6" title="When set to true, any unmapped ignored warnings are no longer ignored.">setEnableAllWarnings</a>(<span class="keywordtype">bool</span> Val) { EnableAllWarnings = Val; }</div>
+<div class="line"><a name="l00437"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ac3b91755875f1a728c166ee835e23aa1">  437</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ac3b91755875f1a728c166ee835e23aa1">getEnableAllWarnings</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> EnableAllWarnings; }</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> <span class="comment"></span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> <span class="comment">  /// \brief When set to true, any warnings reported are issued as errors.</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a6dd7af731f8db196c273ff30ee8813ef">  440</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a6dd7af731f8db196c273ff30ee8813ef" title="When set to true, any warnings reported are issued as errors.">setWarningsAsErrors</a>(<span class="keywordtype">bool</span> Val) { WarningsAsErrors = Val; }</div>
+<div class="line"><a name="l00441"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#afc57b85f0ea3362d55d765e41582eddc">  441</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#afc57b85f0ea3362d55d765e41582eddc">getWarningsAsErrors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> WarningsAsErrors; }</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> <span class="comment"></span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> <span class="comment">  /// \brief When set to true, any error reported is made a fatal error.</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a00c3a7945bf4f570434a4a1ad48254bd">  444</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a00c3a7945bf4f570434a4a1ad48254bd" title="When set to true, any error reported is made a fatal error.">setErrorsAsFatal</a>(<span class="keywordtype">bool</span> Val) { ErrorsAsFatal = Val; }</div>
+<div class="line"><a name="l00445"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a1b535285e9934b19d1471e7223b80a75">  445</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a1b535285e9934b19d1471e7223b80a75">getErrorsAsFatal</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ErrorsAsFatal; }</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> <span class="comment"></span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> <span class="comment">  /// \brief When set to true mask warnings that come from system headers.</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a235e23b5c057d20189329b80c0548736">  448</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a235e23b5c057d20189329b80c0548736" title="When set to true mask warnings that come from system headers.">setSuppressSystemWarnings</a>(<span class="keywordtype">bool</span> Val) { SuppressSystemWarnings = Val; }</div>
+<div class="line"><a name="l00449"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#acb709a931ea0ff1ab26fd513cb70d32a">  449</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#acb709a931ea0ff1ab26fd513cb70d32a">getSuppressSystemWarnings</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SuppressSystemWarnings; }</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> <span class="comment"></span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> <span class="comment">  /// \brief Suppress all diagnostics, to silence the front end when we </span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="comment">  /// know that we don't want any more diagnostics to be passed along to the</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> <span class="comment">  /// client</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a93b80b51607c3a690741e2ee21e86ba0">  454</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a93b80b51607c3a690741e2ee21e86ba0" title="Suppress all diagnostics, to silence the front end when we know that we don't want any more diagnosti...">setSuppressAllDiagnostics</a>(<span class="keywordtype">bool</span> Val = <span class="keyword">true</span>) { </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>     SuppressAllDiagnostics = Val; </div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>   }</div>
+<div class="line"><a name="l00457"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a1cbd0e372f2d9c5561ad8dbafea0e1fc">  457</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a1cbd0e372f2d9c5561ad8dbafea0e1fc">getSuppressAllDiagnostics</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SuppressAllDiagnostics; }</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> <span class="comment"></span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> <span class="comment">  /// \brief Set type eliding, to skip outputting same types occurring in</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> <span class="comment">  /// template types.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a9de7edbc7df11a7848360020bb81081e">  461</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a9de7edbc7df11a7848360020bb81081e" title="Set type eliding, to skip outputting same types occurring in template types.">setElideType</a>(<span class="keywordtype">bool</span> Val = <span class="keyword">true</span>) { ElideType = Val; }</div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#adcbdd71bdd016fcc0a01a0c78a5a23a7">  462</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#adcbdd71bdd016fcc0a01a0c78a5a23a7">getElideType</a>() { <span class="keywordflow">return</span> ElideType; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>  <span class="comment"></span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> <span class="comment">  /// \brief Set tree printing, to outputting the template difference in a</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> <span class="comment">  /// tree format.</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aadf1612a0f7df57d71fccdb0c1d7f8c0">  466</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aadf1612a0f7df57d71fccdb0c1d7f8c0" title="Set tree printing, to outputting the template difference in a tree format.">setPrintTemplateTree</a>(<span class="keywordtype">bool</span> Val = <span class="keyword">false</span>) { PrintTemplateTree = Val; }</div>
+<div class="line"><a name="l00467"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a718ff55edb63b3ce75328cf03a97c043">  467</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a718ff55edb63b3ce75328cf03a97c043">getPrintTemplateTree</a>() { <span class="keywordflow">return</span> PrintTemplateTree; }</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>  <span class="comment"></span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> <span class="comment">  /// \brief Set color printing, so the type diffing will inject color markers</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> <span class="comment">  /// into the output.</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#afd69c809878ad0b2c5a5dad83f7c15e8">  471</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#afd69c809878ad0b2c5a5dad83f7c15e8" title="Set color printing, so the type diffing will inject color markers into the output.">setShowColors</a>(<span class="keywordtype">bool</span> Val = <span class="keyword">false</span>) { ShowColors = Val; }</div>
+<div class="line"><a name="l00472"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a17cbc2db766fe6549456af5f75c7caab">  472</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a17cbc2db766fe6549456af5f75c7caab">getShowColors</a>() { <span class="keywordflow">return</span> ShowColors; }</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> <span class="comment"></span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> <span class="comment">  /// \brief Specify which overload candidates to show when overload resolution</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> <span class="comment">  /// fails.</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> <span class="comment">  /// By default, we show all candidates.</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a76501a74cef4e34664eb8c5d600a6f3d">  478</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76501a74cef4e34664eb8c5d600a6f3d" title="Specify which overload candidates to show when overload resolution fails.">setShowOverloads</a>(<a class="code" href="namespaceclang.html#a066f28b64b12e835348655bf9a6adef1" title="Specifies which overload candidates to display when overload resolution fails.">OverloadsShown</a> Val) {</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>     ShowOverloads = Val;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>   }</div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a62b595492cfcf08be84bfabfbd2176d2">  481</a></span>   <a class="code" href="namespaceclang.html#a066f28b64b12e835348655bf9a6adef1" title="Specifies which overload candidates to display when overload resolution fails.">OverloadsShown</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a62b595492cfcf08be84bfabfbd2176d2">getShowOverloads</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ShowOverloads; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> <span class="comment">  /// \brief Pretend that the last diagnostic issued was ignored, so any</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> <span class="comment">  /// subsequent notes will be suppressed.</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> <span class="comment">  /// This can be used by clients who suppress diagnostics themselves.</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aebb18b1a5875ab9a36468c3eac45c9ca">  487</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aebb18b1a5875ab9a36468c3eac45c9ca" title="Pretend that the last diagnostic issued was ignored, so any subsequent notes will be suppressed...">setLastDiagnosticIgnored</a>() {</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>     <span class="keywordflow">if</span> (LastDiagLevel == <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da86c2d82ded3b8c6802349bd5dcbe8b2b">DiagnosticIDs::Fatal</a>)</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>       FatalErrorOccurred = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>     LastDiagLevel = <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da79407e379e5d2dd291bb0f1bc3f1def0">DiagnosticIDs::Ignored</a>;</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   }</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> <span class="comment"></span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> <span class="comment">  /// \brief Determine whether the previous diagnostic was ignored. This can</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> <span class="comment">  /// be used by clients that want to determine whether notes attached to a</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> <span class="comment">  /// diagnostic will be suppressed.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a482dc47da32ee5c9ceebb7a1743b0e5e">  496</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a482dc47da32ee5c9ceebb7a1743b0e5e" title="Determine whether the previous diagnostic was ignored. This can be used by clients that want to deter...">isLastDiagnosticIgnored</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     <span class="keywordflow">return</span> LastDiagLevel == <a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5da79407e379e5d2dd291bb0f1bc3f1def0">DiagnosticIDs::Ignored</a>;</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>   }</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> <span class="comment"></span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> <span class="comment">  /// \brief Controls whether otherwise-unmapped extension diagnostics are</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> <span class="comment">  /// mapped onto ignore/warning/error. </span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> <span class="comment">  /// This corresponds to the GCC -pedantic and -pedantic-errors option.</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aadb9da1bd074d3aac77f67896231ca69">  504</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#aadb9da1bd074d3aac77f67896231ca69" title="Controls whether otherwise-unmapped extension diagnostics are mapped onto ignore/warning/error.">setExtensionHandlingBehavior</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163" title="How do we handle otherwise-unmapped extension?">ExtensionHandling</a> H) {</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     ExtBehavior = H;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   }</div>
+<div class="line"><a name="l00507"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#afd0c5679e1212f6d48ed6a1be93a2dbf">  507</a></span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a76c5a2e75d01ba9721dad754de420163" title="How do we handle otherwise-unmapped extension?">ExtensionHandling</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#afd0c5679e1212f6d48ed6a1be93a2dbf">getExtensionHandlingBehavior</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ExtBehavior; }</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> <span class="comment"></span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> <span class="comment">  /// \brief Counter bumped when an __extension__  block is/ encountered.</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> <span class="comment">  /// When non-zero, all extension diagnostics are entirely silenced, no</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> <span class="comment">  /// matter how they are mapped.</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ad89d668085a624f27653249d012fffef">  513</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ad89d668085a624f27653249d012fffef" title="Counter bumped when an extension block is/ encountered.">IncrementAllExtensionsSilenced</a>() { ++AllExtensionsSilenced; }</div>
+<div class="line"><a name="l00514"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a5e1d6c3571aa4ff7ee95193a9034c7aa">  514</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a5e1d6c3571aa4ff7ee95193a9034c7aa">DecrementAllExtensionsSilenced</a>() { --AllExtensionsSilenced; }</div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ab08ec67ae775771096008c79891e3506">  515</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ab08ec67ae775771096008c79891e3506">hasAllExtensionsSilenced</a>() { <span class="keywordflow">return</span> AllExtensionsSilenced != 0; }</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> <span class="comment"></span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> <span class="comment">  /// \brief This allows the client to specify that certain warnings are</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> <span class="comment">  /// ignored.</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span> <span class="comment">  /// Notes can never be mapped, errors can only be mapped to fatal, and</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> <span class="comment">  /// WARNINGs and EXTENSIONs can be mapped arbitrarily.</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> <span class="comment">  /// \param Loc The source location that this change of diagnostic state should</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> <span class="comment">  /// take affect. It can be null if we are setting the latest state.</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#abbafcc0c1c4b1ed6564bd7c55a92734f" title="This allows the client to specify that certain warnings are ignored.">setDiagnosticMapping</a>(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> <a class="code" href="namespaceclang_1_1LangAS.html#a241b6fc974438ba623ec877f2b294f0c">Map</a>,</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>                             <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc);</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> <span class="comment"></span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> <span class="comment">  /// \brief Change an entire diagnostic group (e.g. "unknown-pragmas") to</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> <span class="comment">  /// have the specified mapping.</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span> <span class="comment">  /// \returns true (and ignores the request) if "Group" was unknown, false</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span> <span class="comment">  /// otherwise.</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> <span class="comment">  /// \param Loc The source location that this change of diagnostic state should</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> <span class="comment">  /// take affect. It can be null if we are setting the state from command-line.</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#abd7e672d04773165c5f029ee631fbf61" title="Change an entire diagnostic group (e.g. "unknown-pragmas") to have the specified mapping.">setDiagnosticGroupMapping</a>(StringRef Group, <a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> <a class="code" href="namespaceclang_1_1LangAS.html#a241b6fc974438ba623ec877f2b294f0c">Map</a>,</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>                                  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>());</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> <span class="comment"></span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> <span class="comment">  /// \brief Set the warning-as-error flag for the given diagnostic.</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> <span class="comment">  /// This function always only operates on the current diagnostic state.</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af8d650b87d2e86d61750091a21fb28a5" title="Set the warning-as-error flag for the given diagnostic.">setDiagnosticWarningAsError</a>(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>, <span class="keywordtype">bool</span> Enabled);</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> <span class="comment"></span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> <span class="comment">  /// \brief Set the warning-as-error flag for the given diagnostic group.</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> <span class="comment">  /// This function always only operates on the current diagnostic state.</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span> <span class="comment">  /// \returns True if the given group is unknown, false otherwise.</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ad776b0ca538717000baa671805dc23dc" title="Set the warning-as-error flag for the given diagnostic group.">setDiagnosticGroupWarningAsError</a>(StringRef Group, <span class="keywordtype">bool</span> Enabled);</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> <span class="comment"></span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> <span class="comment">  /// \brief Set the error-as-fatal flag for the given diagnostic.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> <span class="comment">  /// This function always only operates on the current diagnostic state.</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a8e84f413118a0a4de33d9048ea53123d" title="Set the error-as-fatal flag for the given diagnostic.">setDiagnosticErrorAsFatal</a>(<a class="code" href="classunsigned.html">diag::kind</a> <a class="code" href="LiteralSupport_8cpp.html#a5f4a4a29292c4a1697226abf1d22b9dd" title="Produce a diagnostic highlighting some portion of a literal.">Diag</a>, <span class="keywordtype">bool</span> Enabled);</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> <span class="comment"></span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> <span class="comment">  /// \brief Set the error-as-fatal flag for the given diagnostic group.</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> <span class="comment">  /// This function always only operates on the current diagnostic state.</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> <span class="comment">  /// \returns True if the given group is unknown, false otherwise.</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ac31115e9eba75d466757559882a82386" title="Set the error-as-fatal flag for the given diagnostic group.">setDiagnosticGroupErrorAsFatal</a>(StringRef Group, <span class="keywordtype">bool</span> Enabled);</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> <span class="comment"></span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> <span class="comment">  /// \brief Add the specified mapping to all diagnostics.</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> <span class="comment">  /// Mainly to be used by -Wno-everything to disable all warnings but allow</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> <span class="comment">  /// subsequent -W options to enable specific warnings.</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ad7e6d7035840e286b0c262c880e4a309" title="Add the specified mapping to all diagnostics.">setMappingToAllDiagnostics</a>(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> Map,</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>                                   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>());</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span> </div>
+<div class="line"><a name="l00570"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a21110920a247c38d762a8de1b7e8e767">  570</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a21110920a247c38d762a8de1b7e8e767">hasErrorOccurred</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ErrorOccurred; }</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> <span class="comment"></span></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> <span class="comment">  /// \brief Errors that actually prevent compilation, not those that are</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> <span class="comment">  /// upgraded from a warning by -Werror.</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a863937d8c73ddc216a237f10a83b00bd">  574</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a863937d8c73ddc216a237f10a83b00bd" title="Errors that actually prevent compilation, not those that are upgraded from a warning by -Werror...">hasUncompilableErrorOccurred</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>     <span class="keywordflow">return</span> UncompilableErrorOccurred;</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   }</div>
+<div class="line"><a name="l00577"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a82c23e36066c68b06270954e5b51ecea">  577</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a82c23e36066c68b06270954e5b51ecea">hasFatalErrorOccurred</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FatalErrorOccurred; }</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span> <span class="comment">  /// \brief Determine whether any kind of unrecoverable error has occurred.</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a6f4d5f322b086bd506bf569fdf2cd90c">  580</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a6f4d5f322b086bd506bf569fdf2cd90c" title="Determine whether any kind of unrecoverable error has occurred.">hasUnrecoverableErrorOccurred</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>     <span class="keywordflow">return</span> FatalErrorOccurred || UnrecoverableErrorOccurred;</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>   }</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   </div>
+<div class="line"><a name="l00584"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a2eb47a0b7af348c412f4039581d71ff6">  584</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a2eb47a0b7af348c412f4039581d71ff6">getNumWarnings</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> NumWarnings; }</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> </div>
+<div class="line"><a name="l00586"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a25f41da44c55b33dae165d250f270f3e">  586</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a25f41da44c55b33dae165d250f270f3e">setNumWarnings</a>(<span class="keywordtype">unsigned</span> NumWarnings) {</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     this->NumWarnings = NumWarnings;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   }</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> <span class="comment"></span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span> <span class="comment">  /// \brief Return an ID for a diagnostic with the specified message and level.</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> <span class="comment">  /// If this is the first request for this diagnostic, it is registered and</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span> <span class="comment">  /// created, otherwise the existing ID is returned.</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#affbb3c2700bd507e1670a12aa38b554d">  594</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#affbb3c2700bd507e1670a12aa38b554d" title="Return an ID for a diagnostic with the specified message and level.">getCustomDiagID</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">Level</a> L, StringRef Message) {</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>     <span class="keywordflow">return</span> Diags->getCustomDiagID((<a class="code" href="classclang_1_1DiagnosticIDs.html#ac6baa62af365f38f883252e4555ecd5d" title="The level of the diagnostic, after it has been through mapping.">DiagnosticIDs::Level</a>)L, Message);</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>   }</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> <span class="comment"></span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span> <span class="comment">  /// \brief Converts a diagnostic argument (as an intptr_t) into the string</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> <span class="comment">  /// that represents it.</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a18bcf8f7a4adf8d6ab238a03e4c84b41">  600</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a18bcf8f7a4adf8d6ab238a03e4c84b41" title="Converts a diagnostic argument (as an intptr_t) into the string that represents it.">ConvertArgToString</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">ArgumentKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, intptr_t Val,</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>                           <span class="keyword">const</span> <span class="keywordtype">char</span> *Modifier, <span class="keywordtype">unsigned</span> ModLen,</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>                           <span class="keyword">const</span> <span class="keywordtype">char</span> *Argument, <span class="keywordtype">unsigned</span> ArgLen,</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>                           <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#af50b13463dbe2766de671674f12f6965" title="Represents on argument value, which is a union discriminated by ArgumentKind, with a value...">ArgumentValue</a> *PrevArgs, <span class="keywordtype">unsigned</span> NumPrevArgs,</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>                           <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &Output,</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>                           <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<intptr_t></a> QualTypeVals)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>     ArgToStringFn(Kind, Val, Modifier, ModLen, Argument, ArgLen,</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>                   PrevArgs, NumPrevArgs, Output, ArgToStringCookie,</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>                   QualTypeVals);</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>   }</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span> </div>
+<div class="line"><a name="l00611"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a06d126f5e5892002bc04765ddc8cd330">  611</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a06d126f5e5892002bc04765ddc8cd330">SetArgToStringFn</a>(ArgToStringFnTy Fn, <span class="keywordtype">void</span> *Cookie) {</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>     ArgToStringFn = Fn;</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     ArgToStringCookie = Cookie;</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   }</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span> <span class="comment"></span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span> <span class="comment">  /// \brief Note that the prior diagnostic was emitted by some other</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> <span class="comment">  /// \c DiagnosticsEngine, and we may be attaching a note to that diagnostic.</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a4421232ad1ca7f4198824b5fac2f984b">  618</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a4421232ad1ca7f4198824b5fac2f984b" title="Note that the prior diagnostic was emitted by some other DiagnosticsEngine, and we may be attaching a...">notePriorDiagnosticFrom</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Other) {</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>     LastDiagLevel = Other.LastDiagLevel;</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>   }</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span> <span class="comment"></span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span> <span class="comment">  /// \brief Reset the state of the diagnostic object to its initial </span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span> <span class="comment">  /// configuration.</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a0e230f0a2fffbc40b97a9971e6b3939f" title="Reset the state of the diagnostic object to its initial configuration.">Reset</a>();</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>   </div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>   <span class="comment">//===--------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   <span class="comment">// DiagnosticsEngine classification and reporting interfaces.</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span> <span class="comment"></span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span> <span class="comment">  /// \brief Based on the way the client configured the DiagnosticsEngine</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span> <span class="comment">  /// object, classify the specified diagnostic ID into a Level, consumable by</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span> <span class="comment">  /// the DiagnosticConsumer.</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span> <span class="comment">  /// \param Loc The source location we are interested in finding out the</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span> <span class="comment">  /// diagnostic state. Can be null in order to query the latest state.</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a1a9de9de7e5ad8218fa06ca8568aa52c">  636</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">Level</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a1a9de9de7e5ad8218fa06ca8568aa52c" title="Based on the way the client configured the DiagnosticsEngine object, classify the specified diagnosti...">getDiagnosticLevel</a>(<span class="keywordtype">unsigned</span> DiagID, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>     <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">Level</a>)Diags->getDiagnosticLevel(DiagID, Loc, *<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   }</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> <span class="comment"></span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> <span class="comment">  /// \brief Issue the message to the client.</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span> <span class="comment">  /// This actually returns an instance of DiagnosticBuilder which emits the</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> <span class="comment">  /// diagnostics (through @c ProcessDiag) when it is destroyed.</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> <span class="comment">  /// \param DiagID A member of the @c diag::kind enum.</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span> <span class="comment">  /// \param Loc Represents the source location associated with the diagnostic,</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span> <span class="comment">  /// which can be an invalid location if no position information is available.</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span> <span class="comment"></span>  <span class="keyword">inline</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <span class="keywordtype">unsigned</span> DiagID);</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>   <span class="keyword">inline</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(<span class="keywordtype">unsigned</span> DiagID);</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span> </div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StoredDiagnostic.html" title="Represents a diagnostic in a form that can be retained until its corresponding source manager is dest...">StoredDiagnostic</a> &storedDiag);</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span> <span class="comment"></span></div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> <span class="comment">  /// \brief Determine whethere there is already a diagnostic in flight.</span></div>
+<div class="line"><a name="l00654"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a8a9120983e02c6ecb29237297a9e3de8">  654</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a8a9120983e02c6ecb29237297a9e3de8" title="Determine whethere there is already a diagnostic in flight.">isDiagnosticInFlight</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> CurDiagID != ~0U; }</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span> <span class="comment"></span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span> <span class="comment">  /// \brief Set the "delayed" diagnostic that will be emitted once</span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> <span class="comment">  /// the current diagnostic completes.</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> <span class="comment">  ///  If a diagnostic is already in-flight but the front end must</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> <span class="comment">  ///  report a problem (e.g., with an inconsistent file system</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> <span class="comment">  ///  state), this routine sets a "delayed" diagnostic that will be</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span> <span class="comment">  ///  emitted after the current diagnostic completes. This should</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> <span class="comment">  ///  only be used for fatal errors detected at inconvenient</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span> <span class="comment">  ///  times. If emitting a delayed diagnostic causes a second delayed</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span> <span class="comment">  ///  diagnostic to be introduced, that second delayed diagnostic</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span> <span class="comment">  ///  will be ignored.</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span> <span class="comment">  /// \param DiagID The ID of the diagnostic being delayed.</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span> <span class="comment">  /// \param Arg1 A string argument that will be provided to the</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> <span class="comment">  /// diagnostic. A copy of this string will be stored in the</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span> <span class="comment">  /// DiagnosticsEngine object itself.</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> <span class="comment">  /// \param Arg2 A string argument that will be provided to the</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span> <span class="comment">  /// diagnostic. A copy of this string will be stored in the</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span> <span class="comment">  /// DiagnosticsEngine object itself.</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a621253f276989c5bb257cdc504a67ee4" title="Set the "delayed" diagnostic that will be emitted once the current diagnostic completes.">SetDelayedDiagnostic</a>(<span class="keywordtype">unsigned</span> DiagID, StringRef Arg1 = <span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>                             StringRef Arg2 = <span class="stringliteral">""</span>);</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> <span class="comment">  /// \brief Clear out the current diagnostic.</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a7533dd8c2cc26e82d578f2e9bc0e7a96">  681</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a7533dd8c2cc26e82d578f2e9bc0e7a96" title="Clear out the current diagnostic.">Clear</a>() { CurDiagID = ~0U; }</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span> </div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span> <span class="comment">  /// \brief Report the delayed diagnostic.</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span> <span class="comment"></span>  <span class="keywordtype">void</span> ReportDelayed();</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> </div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>   <span class="comment">// This is private state used by DiagnosticBuilder.  We put it here instead of</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   <span class="comment">// in DiagnosticBuilder in order to keep DiagnosticBuilder a small lightweight</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   <span class="comment">// object.  This implementation choice means that we can only have one</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   <span class="comment">// diagnostic "in flight" at a time, but this seems to be a reasonable</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>   <span class="comment">// tradeoff to keep these objects small.  Assertions verify that only one</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>   <span class="comment">// diagnostic is in flight at a time.</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a3421a1cb215b155501bab018f8d9586c">  693</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticIDs.html" title="Used for handling and querying diagnostic IDs.">DiagnosticIDs</a>;</div>
+<div class="line"><a name="l00694"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a97ec9151bbe20af5173173f6de89f3bb">  694</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a>;</div>
+<div class="line"><a name="l00695"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a0c7318521607159dc55357ce2fec661b">  695</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a>;</div>
+<div class="line"><a name="l00696"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a5a10a336311d23dce645055a9c82a776">  696</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1PartialDiagnostic.html">PartialDiagnostic</a>;</div>
+<div class="line"><a name="l00697"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a4f15469187704e7f6cc42081f7859a0e">  697</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticErrorTrap.html" title="RAII class that determines when any errors have occurred between the time the instance was created an...">DiagnosticErrorTrap</a>;</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> <span class="comment">  /// \brief The location of the current diagnostic that is in flight.</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span> <span class="comment"></span>  <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> CurDiagLoc;</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> <span class="comment"></span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span> <span class="comment">  /// \brief The ID of the current diagnostic that is in flight.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> <span class="comment">  /// This is set to ~0U when there is no diagnostic in flight.</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> CurDiagID;</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span> </div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>   <span class="keyword">enum</span> {<span class="comment"></span></div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span> <span class="comment">    /// \brief The maximum number of arguments we can hold.</span></div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span> <span class="comment">    /// We currently only support up to 10 arguments (%0-%9).  A single</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> <span class="comment">    /// diagnostic with more than that almost certainly has to be simplified</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span> <span class="comment">    /// anyway.</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> <span class="comment"></span>    MaxArguments = 10,</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span> <span class="comment"></span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span> <span class="comment">    /// \brief The maximum number of ranges we can hold.</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span> <span class="comment"></span>    MaxRanges = 10,</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> <span class="comment"></span></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span> <span class="comment">    /// \brief The maximum number of ranges we can hold.</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span> <span class="comment"></span>    MaxFixItHints = 10</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>   };</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span> <span class="comment"></span></div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span> <span class="comment">  /// \brief The number of entries in Arguments.</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span> <span class="comment"></span>  <span class="keywordtype">signed</span> <span class="keywordtype">char</span> NumDiagArgs;<span class="comment"></span></div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> <span class="comment">  /// \brief The number of ranges in the DiagRanges array.</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> NumDiagRanges;<span class="comment"></span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span> <span class="comment">  /// \brief The number of hints in the DiagFixItHints array.</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> NumDiagFixItHints;</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span> <span class="comment"></span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span> <span class="comment">  /// \brief Specifies whether an argument is in DiagArgumentsStr or</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span> <span class="comment">  /// in DiagArguments.</span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span> <span class="comment">  /// This is an array of ArgumentKind::ArgumentKind enum values, one for each</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span> <span class="comment">  /// argument.</span></div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> DiagArgumentsKind[MaxArguments];</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span> <span class="comment"></span></div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span> <span class="comment">  /// \brief Holds the values of each string argument for the current</span></div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span> <span class="comment">  /// diagnostic.</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span> <span class="comment">  /// This is only used when the corresponding ArgumentKind is ak_std_string.</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span> <span class="comment"></span>  std::string DiagArgumentsStr[MaxArguments];</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span> <span class="comment"></span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span> <span class="comment">  /// \brief The values for the various substitution positions.</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span> <span class="comment">  /// This is used when the argument is not an std::string.  The specific</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span> <span class="comment">  /// value is mangled into an intptr_t and the interpretation depends on</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span> <span class="comment">  /// exactly what sort of argument kind it is.</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span> <span class="comment"></span>  intptr_t DiagArgumentsVal[MaxArguments];</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span> <span class="comment"></span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span> <span class="comment">  /// \brief The list of ranges added to this diagnostic.</span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> DiagRanges[MaxRanges];</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span> <span class="comment"></span></div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span> <span class="comment">  /// \brief If valid, provides a hint with some code to insert, remove,</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span> <span class="comment">  /// or modify at a particular position.</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span> <span class="comment"></span>  <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> DiagFixItHints[MaxFixItHints];</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> </div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>   <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> makeMappingInfo(<a class="code" href="namespaceclang_1_1diag.html#a43736816e2f46bc15d9d96be643c31cc">diag::Mapping</a> Map, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> L) {</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     <span class="keywordtype">bool</span> isPragma = L.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>();</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <a class="code" href="classclang_1_1DiagnosticMappingInfo.html">DiagnosticMappingInfo</a> MappingInfo = <a class="code" href="classclang_1_1DiagnosticMappingInfo.html#a6411aa60c7f7c1cd39964cb2fba5e26b">DiagnosticMappingInfo::Make</a>(</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>       Map, <span class="comment">/*IsUser=*/</span><span class="keyword">true</span>, isPragma);</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> </div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>     <span class="comment">// If this is a pragma mapping, then set the diagnostic mapping flags so</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>     <span class="comment">// that we override command line options.</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>     <span class="keywordflow">if</span> (isPragma) {</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>       MappingInfo.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#aa35827380d2457c9556b1a2bf4905746">setNoWarningAsError</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>       MappingInfo.<a class="code" href="classclang_1_1DiagnosticMappingInfo.html#a7c15d3efa9ae5b380840f9bebb605a40">setNoErrorAsFatal</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>     }</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span> </div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>     <span class="keywordflow">return</span> MappingInfo;</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>   }</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span> <span class="comment"></span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span> <span class="comment">  /// \brief Used to report a diagnostic that is finally fully formed.</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span> <span class="comment">  /// \returns true if the diagnostic was emitted, false if it was suppressed.</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span> <span class="comment"></span>  <span class="keywordtype">bool</span> ProcessDiag() {</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>     <span class="keywordflow">return</span> Diags->ProcessDiag(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>   }</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span> <span class="comment"></span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span> <span class="comment">  /// @name Diagnostic Emission</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span> <span class="comment">  /// @{</span></div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span> <span class="comment"></span><span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>   <span class="comment">// Sema requires access to the following functions because the current design</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>   <span class="comment">// of SFINAE requires it to use its own SemaDiagnosticBuilder, which needs to</span></div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>   <span class="comment">// access us directly to ensure we minimize the emitted code for the common</span></div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>   <span class="comment">// Sema::Diag() patterns.</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a4b2d8fa9accf6f1bd3f8768eacbe31a6">  785</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1Sema.html" title="Sema - This implements semantic analysis and AST building for C.">Sema</a>;</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span> <span class="comment"></span></div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span> <span class="comment">  /// \brief Emit the current diagnostic and clear the diagnostic state.</span></div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span> <span class="comment">  /// \param Force Emit the diagnostic regardless of suppression settings.</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ac02245f77a5eb28c5585a8ab84aca0cc" title="Emit the current diagnostic and clear the diagnostic state.">EmitCurrentDiagnostic</a>(<span class="keywordtype">bool</span> Force = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span> </div>
+<div class="line"><a name="l00792"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a84f0f2cb37444f310b9ee37b4977dc9f">  792</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a84f0f2cb37444f310b9ee37b4977dc9f">getCurrentDiagID</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> CurDiagID; }</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span> </div>
+<div class="line"><a name="l00794"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#ae27439776fd5612dea439297851db2d5">  794</a></span>   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#ae27439776fd5612dea439297851db2d5">getCurrentDiagLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> CurDiagLoc; }</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> <span class="comment"></span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span> <span class="comment">  /// @}</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span> <span class="comment"></span></div>
+<div class="line"><a name="l00798"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a5d8560551ea81515968dd468e2e4082e">  798</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTReader.html" title="Reads an AST files chain containing the contents of a translation unit.">ASTReader</a>;</div>
+<div class="line"><a name="l00799"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a05a0d9d61e00c31d180a2a8f1d6f7903">  799</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ASTWriter.html" title="Writes an AST file containing the contents of a translation unit.">ASTWriter</a>;</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span> };</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span> <span class="comment"></span></div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span> <span class="comment">/// \brief RAII class that determines when any errors have occurred</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span> <span class="comment">/// between the time the instance was created and the time it was</span></div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span> <span class="comment">/// queried.</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticErrorTrap.html">  805</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticErrorTrap.html" title="RAII class that determines when any errors have occurred between the time the instance was created an...">DiagnosticErrorTrap</a> {</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diag;</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>   <span class="keywordtype">unsigned</span> NumErrors;</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>   <span class="keywordtype">unsigned</span> NumUnrecoverableErrors;</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span> </div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00811"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticErrorTrap.html#a5560ae2541f508f7e1ba41512d7e4cd2">  811</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1DiagnosticErrorTrap.html#a5560ae2541f508f7e1ba41512d7e4cd2">DiagnosticErrorTrap</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> &Diag)</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>     : Diag(Diag) { <a class="code" href="classclang_1_1DiagnosticErrorTrap.html#a177d8acd0b15847774fd073e5de37485" title="Set to initial state of "no errors occurred".">reset</a>(); }</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span> <span class="comment"></span></div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span> <span class="comment">  /// \brief Determine whether any errors have occurred since this</span></div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span> <span class="comment">  /// object instance was created.</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticErrorTrap.html#ad257dd828423add7eb6a076ed66acc74">  816</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticErrorTrap.html#ad257dd828423add7eb6a076ed66acc74" title="Determine whether any errors have occurred since this object instance was created.">hasErrorOccurred</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>     <span class="keywordflow">return</span> Diag.TrapNumErrorsOccurred > NumErrors;</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>   }</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> <span class="comment"></span></div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span> <span class="comment">  /// \brief Determine whether any unrecoverable errors have occurred since this</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span> <span class="comment">  /// object instance was created.</span></div>
+<div class="line"><a name="l00822"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticErrorTrap.html#aa220bc8ea3a2068e1bbc23a0c02cbadd">  822</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticErrorTrap.html#aa220bc8ea3a2068e1bbc23a0c02cbadd" title="Determine whether any unrecoverable errors have occurred since this object instance was created...">hasUnrecoverableErrorOccurred</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>     <span class="keywordflow">return</span> Diag.TrapNumUnrecoverableErrorsOccurred > NumUnrecoverableErrors;</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>   }</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span> <span class="comment"></span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span> <span class="comment">  /// \brief Set to initial state of "no errors occurred".</span></div>
+<div class="line"><a name="l00827"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticErrorTrap.html#a177d8acd0b15847774fd073e5de37485">  827</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticErrorTrap.html#a177d8acd0b15847774fd073e5de37485" title="Set to initial state of "no errors occurred".">reset</a>() {</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>     NumErrors = Diag.TrapNumErrorsOccurred;</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>     NumUnrecoverableErrors = Diag.TrapNumUnrecoverableErrorsOccurred;</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>   }</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span> };</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span> </div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span> <span class="comment">// DiagnosticBuilder</span></div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span> <span class="comment"></span></div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span> <span class="comment">/// \brief A little helper class used to produce diagnostics.</span></div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span> <span class="comment">/// This is constructed by the DiagnosticsEngine::Report method, and</span></div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> <span class="comment">/// allows insertion of extra information (arguments and source ranges) into</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span> <span class="comment">/// the currently "in flight" diagnostic.  When the temporary for the builder</span></div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span> <span class="comment">/// is destroyed, the diagnostic is issued.</span></div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span> <span class="comment">/// Note that many of these will be created as temporary objects (many call</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span> <span class="comment">/// sites), so we want them to be small and we never want their address taken.</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span> <span class="comment">/// This ensures that compilers with somewhat reasonable optimizers will promote</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span> <span class="comment">/// the common fields to registers, eliminating increments of the NumArgs field,</span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span> <span class="comment">/// for example.</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html">  849</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> {</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>   <span class="keyword">mutable</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *DiagObj;</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>   <span class="keyword">mutable</span> <span class="keywordtype">unsigned</span> NumArgs, NumRanges, NumFixits;</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span> <span class="comment"></span></div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span> <span class="comment">  /// \brief Status variable indicating if this diagnostic is still active.</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span> <span class="comment"></span>  <span class="comment">// NOTE: This field is redundant with DiagObj (IsActive iff (DiagObj == 0)),</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>   <span class="comment">// but LLVM is not currently smart enough to eliminate the null check that</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>   <span class="comment">// Emit() would end up with if we used that as our status variable.</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>   <span class="keyword">mutable</span> <span class="keywordtype">bool</span> IsActive;</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span> <span class="comment"></span></div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> <span class="comment">  /// \brief Flag indicating that this diagnostic is being emitted via a</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span> <span class="comment">  /// call to ForceEmit.</span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span> <span class="comment"></span>  <span class="keyword">mutable</span> <span class="keywordtype">bool</span> IsForceEmit;</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> </div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>   <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00865"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#aa7d8a8f06e908555a91839762c38fe22">  865</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a>;</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>   </div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>   <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a>()</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>     : DiagObj(0), NumArgs(0), NumRanges(0), NumFixits(0), IsActive(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>       IsForceEmit(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) { }</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> </div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *diagObj)</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>     : DiagObj(diagObj), NumArgs(0), NumRanges(0), NumFixits(0), IsActive(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>       IsForceEmit(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>     assert(diagObj && <span class="stringliteral">"DiagnosticBuilder requires a valid DiagnosticsEngine!"</span>);</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>   }</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span> </div>
+<div class="line"><a name="l00877"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a5a10a336311d23dce645055a9c82a776">  877</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1PartialDiagnostic.html">PartialDiagnostic</a>;</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   </div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00880"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#af70df3821759ade16045d2f442190d36">  880</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#af70df3821759ade16045d2f442190d36">FlushCounts</a>() {</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>     DiagObj->NumDiagArgs = NumArgs;</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>     DiagObj->NumDiagRanges = NumRanges;</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>     DiagObj->NumDiagFixItHints = NumFixits;</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>   }</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span> <span class="comment"></span></div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span> <span class="comment">  /// \brief Clear out the current diagnostic.</span></div>
+<div class="line"><a name="l00887"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#ab9241714de793dc0587dc5cc10b7c389">  887</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#ab9241714de793dc0587dc5cc10b7c389" title="Clear out the current diagnostic.">Clear</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>     DiagObj = 0;</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>     IsActive = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>     IsForceEmit = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>   }</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span> <span class="comment"></span></div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span> <span class="comment">  /// \brief Determine whether this diagnostic is still active.</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177">  894</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177" title="Determine whether this diagnostic is still active.">isActive</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> IsActive; }</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span> <span class="comment"></span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span> <span class="comment">  /// \brief Force the diagnostic builder to emit the diagnostic now.</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span> <span class="comment">  /// Once this function has been called, the DiagnosticBuilder object</span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span> <span class="comment">  /// should not be used again before it is destroyed.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span> <span class="comment">  /// \returns true if a diagnostic was emitted, false if the</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span> <span class="comment">  /// diagnostic was suppressed.</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#ab8def801e45177af98c19ce3c37372c8">  903</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#ab8def801e45177af98c19ce3c37372c8" title="Force the diagnostic builder to emit the diagnostic now.">Emit</a>() {</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>     <span class="comment">// If this diagnostic is inactive, then its soul was stolen by the copy ctor</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>     <span class="comment">// (or by a subclass, as in SemaDiagnosticBuilder).</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177" title="Determine whether this diagnostic is still active.">isActive</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> </div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>     <span class="comment">// When emitting diagnostics, we set the final argument count into</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>     <span class="comment">// the DiagnosticsEngine object.</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>     <a class="code" href="classclang_1_1DiagnosticBuilder.html#af70df3821759ade16045d2f442190d36">FlushCounts</a>();</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span> </div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>     <span class="comment">// Process the diagnostic.</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>     <span class="keywordtype">bool</span> Result = DiagObj-><a class="code" href="classclang_1_1DiagnosticsEngine.html#ac02245f77a5eb28c5585a8ab84aca0cc" title="Emit the current diagnostic and clear the diagnostic state.">EmitCurrentDiagnostic</a>(IsForceEmit);</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span> </div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>     <span class="comment">// This diagnostic is dead.</span></div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>     <a class="code" href="classclang_1_1DiagnosticBuilder.html#ab9241714de793dc0587dc5cc10b7c389" title="Clear out the current diagnostic.">Clear</a>();</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span> </div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>     <span class="keywordflow">return</span> Result;</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>   }</div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>   </div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span> <span class="comment">  /// Copy constructor.  When copied, this "takes" the diagnostic info from the</span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> <span class="comment">  /// input and neuters it.</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a56097ab81c0ef1608ba157c5b63e0b1f">  924</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticBuilder.html#a56097ab81c0ef1608ba157c5b63e0b1f">DiagnosticBuilder</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &D) {</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>     DiagObj = D.DiagObj;</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>     IsActive = D.IsActive;</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>     IsForceEmit = D.IsForceEmit;</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>     D.<a class="code" href="classclang_1_1DiagnosticBuilder.html#ab9241714de793dc0587dc5cc10b7c389" title="Clear out the current diagnostic.">Clear</a>();</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>     NumArgs = D.NumArgs;</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>     NumRanges = D.NumRanges;</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>     NumFixits = D.NumFixits;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>   }</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> <span class="comment"></span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span> <span class="comment">  /// \brief Retrieve an empty diagnostic builder.</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#af119bd52a96e44ce75124b8375888890">  935</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> <a class="code" href="classclang_1_1DiagnosticBuilder.html#af119bd52a96e44ce75124b8375888890" title="Retrieve an empty diagnostic builder.">getEmpty</a>() {</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a>();</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>   }</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> <span class="comment"></span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span> <span class="comment">  /// \brief Emits the diagnostic.</span></div>
+<div class="line"><a name="l00940"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#ac47f17094766c9ab81c31874a0ac72e7">  940</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticBuilder.html#ac47f17094766c9ab81c31874a0ac72e7" title="Emits the diagnostic.">~DiagnosticBuilder</a>() {</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>     <a class="code" href="classclang_1_1DiagnosticBuilder.html#ab8def801e45177af98c19ce3c37372c8" title="Force the diagnostic builder to emit the diagnostic now.">Emit</a>();</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   }</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span> <span class="comment">  /// \brief Forces the diagnostic to be emitted.</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a21621aaa62661f337a24319f1c2200ea">  945</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="classclang_1_1DiagnosticBuilder.html#a21621aaa62661f337a24319f1c2200ea" title="Forces the diagnostic to be emitted.">setForceEmit</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>     IsForceEmit = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>     <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   }</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span> <span class="comment"></span></div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span> <span class="comment">  /// \brief Conversion of DiagnosticBuilder to bool always returns \c true.</span></div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span> <span class="comment">  /// This allows is to be used in boolean error contexts (where \c true is</span></div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span> <span class="comment">  /// used to indicate that an error has occurred), like:</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span> <span class="comment">  /// \code</span></div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span> <span class="comment">  /// return Diag(...);</span></div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span> <span class="comment">  /// \endcode</span></div>
+<div class="line"><a name="l00957"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#aecbea9f8af1637f76b969af299e6b633">  957</a></span> <span class="comment"></span>  <span class="keyword">operator</span> <a class="code" href="stdbool_8h.html#abb452686968e48b67397da5f97445f5b">bool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span> </div>
+<div class="line"><a name="l00959"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#ab003e81e79b6dae72c96b3c5eb1bffe0">  959</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#ab003e81e79b6dae72c96b3c5eb1bffe0">AddString</a>(StringRef <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>     assert(<a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177" title="Determine whether this diagnostic is still active.">isActive</a>() && <span class="stringliteral">"Clients must not add to cleared diagnostic!"</span>);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>     assert(NumArgs < DiagnosticsEngine::MaxArguments &&</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>            <span class="stringliteral">"Too many arguments to diagnostic!"</span>);</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>     DiagObj->DiagArgumentsKind[NumArgs] = <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee" title="std::string">DiagnosticsEngine::ak_std_string</a>;</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>     DiagObj->DiagArgumentsStr[NumArgs++] = <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>   }</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span> </div>
+<div class="line"><a name="l00967"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">  967</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(intptr_t V, <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">DiagnosticsEngine::ArgumentKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>     assert(<a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177" title="Determine whether this diagnostic is still active.">isActive</a>() && <span class="stringliteral">"Clients must not add to cleared diagnostic!"</span>);</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>     assert(NumArgs < DiagnosticsEngine::MaxArguments &&</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>            <span class="stringliteral">"Too many arguments to diagnostic!"</span>);</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>     DiagObj->DiagArgumentsKind[NumArgs] = <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>     DiagObj->DiagArgumentsVal[NumArgs++] = V;</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>   }</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span> </div>
+<div class="line"><a name="l00975"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a9be65da24494ed466345928112a18111">  975</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#a9be65da24494ed466345928112a18111">AddSourceRange</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &R)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>     assert(<a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177" title="Determine whether this diagnostic is still active.">isActive</a>() && <span class="stringliteral">"Clients must not add to cleared diagnostic!"</span>);</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>     assert(NumRanges < DiagnosticsEngine::MaxRanges &&</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>            <span class="stringliteral">"Too many arguments to diagnostic!"</span>);</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>     DiagObj->DiagRanges[NumRanges++] = R;</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>   }</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span> </div>
+<div class="line"><a name="l00982"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#ac02bda6f473bde16bc65c6398aa077fd">  982</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#ac02bda6f473bde16bc65c6398aa077fd">AddFixItHint</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> &Hint)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>     assert(<a class="code" href="classclang_1_1DiagnosticBuilder.html#a4c159d24bd6f264d7535eb53a60da177" title="Determine whether this diagnostic is still active.">isActive</a>() && <span class="stringliteral">"Clients must not add to cleared diagnostic!"</span>);</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>     assert(NumFixits < DiagnosticsEngine::MaxFixItHints &&</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>            <span class="stringliteral">"Too many arguments to diagnostic!"</span>);</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>     DiagObj->DiagFixItHints[NumFixits++] = Hint;</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>   }</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span> </div>
+<div class="line"><a name="l00989"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a4715555c09f758da42f5279ea56de261">  989</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#a4715555c09f758da42f5279ea56de261">hasMaxRanges</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>     <span class="keywordflow">return</span> NumRanges == DiagnosticsEngine::MaxRanges;</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>   }</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span> </div>
+<div class="line"><a name="l00993"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticBuilder.html#a62fd52c57e9058f1a6973cde8f10b873">  993</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html#a62fd52c57e9058f1a6973cde8f10b873">hasMaxFixItHints</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>     <span class="keywordflow">return</span> NumFixits == DiagnosticsEngine::MaxFixItHints;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>   }</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span> };</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span> </div>
+<div class="line"><a name="l00998"></a><span class="lineno"><a class="code" href="namespaceclang.html#a69a93cee60463b84ebf6fab88713d333">  998</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>                                            StringRef <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#ab003e81e79b6dae72c96b3c5eb1bffe0">AddString</a>(S);</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> }</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
+<div class="line"><a name="l01004"></a><span class="lineno"><a class="code" href="namespaceclang.html#ab498f5ca7bbd4257a66d4635b74ba954"> 1004</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *Str) {</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(reinterpret_cast<intptr_t>(Str),</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>                   <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa90d4083293d62ab9ebc5489b4f057e2b" title="const char *">DiagnosticsEngine::ak_c_string</a>);</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> }</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div>
+<div class="line"><a name="l01011"></a><span class="lineno"><a class="code" href="namespaceclang.html#aece1731c271ab05490320c7c11fc11dd"> 1011</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB, <span class="keywordtype">int</span> I) {</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(I, <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad85d1a40856e9d685b7369756fdb547a" title="int">DiagnosticsEngine::ak_sint</a>);</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> }</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div>
+<div class="line"><a name="l01016"></a><span class="lineno"><a class="code" href="namespaceclang.html#aeb7a3a4f4f851046ad00144d35091bb2"> 1016</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,<span class="keywordtype">bool</span> I) {</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(I, <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad85d1a40856e9d685b7369756fdb547a" title="int">DiagnosticsEngine::ak_sint</a>);</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> }</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
+<div class="line"><a name="l01021"></a><span class="lineno"><a class="code" href="namespaceclang.html#af6a3c309b096f600a10ad3b9d2de7a46"> 1021</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>                                            <span class="keywordtype">unsigned</span> I) {</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(I, <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7faefdcb96e877a62991facfbdf214ee090" title="unsigned">DiagnosticsEngine::ak_uint</a>);</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span> }</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span> </div>
+<div class="line"><a name="l01027"></a><span class="lineno"><a class="code" href="namespaceclang.html#acf59d7911b20d9515c21f064e61f1afe"> 1027</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II) {</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(reinterpret_cast<intptr_t>(II),</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>                   <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7371912d8fedf78ab0cf5b4056d4a3ce" title="IdentifierInfo.">DiagnosticsEngine::ak_identifierinfo</a>);</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> }</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="comment">// Adds a DeclContext to the diagnostic. The enable_if template magic is here</span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment">// so that we only match those arguments that are (statically) DeclContexts;</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="comment">// other arguments that derive from DeclContext (e.g., RecordDecls) will not</span></div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="comment">// match.</span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> <span class="keyword">inline</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> <span class="keyword">typename</span> llvm::enable_if<llvm::is_same<T, DeclContext>, </div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>                          <span class="keyword">const</span> DiagnosticBuilder &><a class="code" href="namespaceclang_1_1ast__matchers.html#a82efb51f28681d561f9ce42fecf09d4b" title="Matches Types in the clang AST.">::type</a></div>
+<div class="line"><a name="l01042"></a><span class="lineno"><a class="code" href="namespaceclang.html#a7e844a5d8233b13979f8af990b046f92"> 1042</a></span> <a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB, T *DC) {</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a3ccc3f1df3505728d42eed978550e797">AddTaggedVal</a>(reinterpret_cast<intptr_t>(DC),</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>                   <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa1dcaf8f3a6459b478fde26bc8377d9d5" title="DeclContext *.">DiagnosticsEngine::ak_declcontext</a>);</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> }</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>   </div>
+<div class="line"><a name="l01048"></a><span class="lineno"><a class="code" href="namespaceclang.html#ac52c7aea6d7061602f6f7d516fe72302"> 1048</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> &R) {</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a9be65da24494ed466345928112a18111">AddSourceRange</a>(<a class="code" href="classclang_1_1CharSourceRange.html#a5763cf308a9499dde63046fab463a61d">CharSourceRange::getTokenRange</a>(R));</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> }</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> </div>
+<div class="line"><a name="l01054"></a><span class="lineno"><a class="code" href="namespaceclang.html#a8d342b1ca14f3f34acdd5e0497795a40"> 1054</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &R) {</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>   DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#a9be65da24494ed466345928112a18111">AddSourceRange</a>(R);</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> }</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>   </div>
+<div class="line"><a name="l01060"></a><span class="lineno"><a class="code" href="namespaceclang.html#a8c362c3d300f612747d9b6b8a89152af"> 1060</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &<a class="code" href="namespaceclang.html#a3659baf54775a3470c40eff824034e38">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> &DB,</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> &Hint) {</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>   <span class="keywordflow">if</span> (!Hint.<a class="code" href="classclang_1_1FixItHint.html#a81ba86dce5ee1d236a88f0578264e22a">isNull</a>())</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>     DB.<a class="code" href="classclang_1_1DiagnosticBuilder.html#ac02bda6f473bde16bc65c6398aa077fd">AddFixItHint</a>(Hint);</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>   <span class="keywordflow">return</span> DB;</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> }</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> </div>
+<div class="line"><a name="l01067"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4"> 1067</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">DiagnosticsEngine::Report</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>                                             <span class="keywordtype">unsigned</span> DiagID){</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>   assert(CurDiagID == ~0U && <span class="stringliteral">"Multiple diagnostics in flight at once!"</span>);</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>   CurDiagLoc = Loc;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>   CurDiagID = DiagID;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a97ec9151bbe20af5173173f6de89f3bb">DiagnosticBuilder</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> }</div>
+<div class="line"><a name="l01074"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticsEngine.html#aede534f9893f93ed0fcf605bce3c0163"> 1074</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1DiagnosticBuilder.html" title="A little helper class used to produce diagnostics.">DiagnosticBuilder</a> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">DiagnosticsEngine::Report</a>(<span class="keywordtype">unsigned</span> DiagID) {</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html#a03686c59442babd725417ff740b397b4" title="Issue the message to the client.">Report</a>(<a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), DiagID);</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> }</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="comment">// Diagnostic</span></div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="comment"></span></div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="comment">/// A little helper class (which is basically a smart pointer that forwards</span></div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="comment">/// info from DiagnosticsEngine) that allows clients to enquire about the</span></div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="comment">/// currently in-flight diagnostic.</span></div>
+<div class="line"><a name="l01085"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html"> 1085</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> {</div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *DiagObj;</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>   StringRef StoredDiagMessage;</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01089"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#af159833682b539cc26f23bcb05997259"> 1089</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1Diagnostic.html#af159833682b539cc26f23bcb05997259">Diagnostic</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *DO) : DiagObj(DO) {}</div>
+<div class="line"><a name="l01090"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a3a9bacd6126cf477d57ec803ff9c927c"> 1090</a></span>   <a class="code" href="classclang_1_1Diagnostic.html#af159833682b539cc26f23bcb05997259">Diagnostic</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *DO, StringRef storedDiagMessage)</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>     : DiagObj(DO), StoredDiagMessage(storedDiagMessage) {}</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div>
+<div class="line"><a name="l01093"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627"> 1093</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a> *<a class="code" href="classclang_1_1Diagnostic.html#a66277ca2804bb09bcd37523d7aae2627">getDiags</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagObj; }</div>
+<div class="line"><a name="l01094"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a3c8e2b6dbde493a394966fbbd27211cf"> 1094</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1Diagnostic.html#a3c8e2b6dbde493a394966fbbd27211cf">getID</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagObj->CurDiagID; }</div>
+<div class="line"><a name="l01095"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16"> 1095</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> &<a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16">getLocation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagObj->CurDiagLoc; }</div>
+<div class="line"><a name="l01096"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#aae26a5bb59bf1d70a26e7bf665b51925"> 1096</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1Diagnostic.html#aae26a5bb59bf1d70a26e7bf665b51925">hasSourceManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagObj-><a class="code" href="classclang_1_1DiagnosticsEngine.html#aad5bcb1349d7c00926f68d70e37280a5">hasSourceManager</a>(); }</div>
+<div class="line"><a name="l01097"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a48b68414f88d8451288420d6615366e3"> 1097</a></span>   <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="classclang_1_1Diagnostic.html#a48b68414f88d8451288420d6615366e3">getSourceManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagObj-><a class="code" href="classclang_1_1DiagnosticsEngine.html#ae7b26c3e9c3a0aeea4476e0936792447">getSourceManager</a>();}</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div>
+<div class="line"><a name="l01099"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a4ebe6f1ff15f927e8267e87cc5385e25"> 1099</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1Diagnostic.html#a4ebe6f1ff15f927e8267e87cc5385e25">getNumArgs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> DiagObj->NumDiagArgs; }</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="comment"></span></div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="comment">  /// \brief Return the kind of the specified index.</span></div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="comment">  /// Based on the kind of argument, the accessors below can be used to get</span></div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="comment">  /// the value.</span></div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="comment">  /// \pre Idx < getNumArgs()</span></div>
+<div class="line"><a name="l01107"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92"> 1107</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">DiagnosticsEngine::ArgumentKind</a> <a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>     assert(Idx < <a class="code" href="classclang_1_1Diagnostic.html#a4ebe6f1ff15f927e8267e87cc5385e25">getNumArgs</a>() && <span class="stringliteral">"Argument index out of range!"</span>);</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>     <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7f">DiagnosticsEngine::ArgumentKind</a>)DiagObj->DiagArgumentsKind[Idx];</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>   }</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="comment"></span></div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="comment">  /// \brief Return the provided argument string specified by \p Idx.</span></div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="comment">  /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_std_string</span></div>
+<div class="line"><a name="l01114"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#acbf28352fcb6d2818c61fd069c7490a6"> 1114</a></span> <span class="comment"></span>  <span class="keyword">const</span> std::string &<a class="code" href="classclang_1_1Diagnostic.html#acbf28352fcb6d2818c61fd069c7490a6" title="Return the provided argument string specified by Idx.">getArgStdStr</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>     assert(<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(Idx) == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee" title="std::string">DiagnosticsEngine::ak_std_string</a> &&</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>            <span class="stringliteral">"invalid argument accessor!"</span>);</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>     <span class="keywordflow">return</span> DiagObj->DiagArgumentsStr[Idx];</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>   }</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="comment"></span></div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="comment">  /// \brief Return the specified C string argument.</span></div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="comment">  /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_c_string</span></div>
+<div class="line"><a name="l01122"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#ac106141acd5fd245a72b1a39f5cd82e5"> 1122</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1Diagnostic.html#ac106141acd5fd245a72b1a39f5cd82e5" title="Return the specified C string argument.">getArgCStr</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>     assert(<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(Idx) == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa90d4083293d62ab9ebc5489b4f057e2b" title="const char *">DiagnosticsEngine::ak_c_string</a> &&</div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>            <span class="stringliteral">"invalid argument accessor!"</span>);</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">></span>(DiagObj->DiagArgumentsVal[Idx]);</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>   }</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="comment"></span></div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="comment">  /// \brief Return the specified signed integer argument.</span></div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="comment">  /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_sint</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a3a12ab6644ba4aee3ce15cb1e1a9fbdc"> 1130</a></span> <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="classclang_1_1Diagnostic.html#a3a12ab6644ba4aee3ce15cb1e1a9fbdc" title="Return the specified signed integer argument.">getArgSInt</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>     assert(<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(Idx) == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad85d1a40856e9d685b7369756fdb547a" title="int">DiagnosticsEngine::ak_sint</a> &&</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>            <span class="stringliteral">"invalid argument accessor!"</span>);</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>     <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)DiagObj->DiagArgumentsVal[Idx];</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>   }</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment"></span></div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="comment">  /// \brief Return the specified unsigned integer argument.</span></div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="comment">  /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_uint</span></div>
+<div class="line"><a name="l01138"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#aa92e7ba9d8f7382116b1e07d70b8837b"> 1138</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1Diagnostic.html#aa92e7ba9d8f7382116b1e07d70b8837b" title="Return the specified unsigned integer argument.">getArgUInt</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>     assert(<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(Idx) == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7faefdcb96e877a62991facfbdf214ee090" title="unsigned">DiagnosticsEngine::ak_uint</a> &&</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>            <span class="stringliteral">"invalid argument accessor!"</span>);</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)DiagObj->DiagArgumentsVal[Idx];</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>   }</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="comment"></span></div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="comment">  /// \brief Return the specified IdentifierInfo argument.</span></div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">  /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_identifierinfo</span></div>
+<div class="line"><a name="l01146"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a3e9ff9e7f240b290ce188c060327234c"> 1146</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *<a class="code" href="classclang_1_1Diagnostic.html#a3e9ff9e7f240b290ce188c060327234c" title="Return the specified IdentifierInfo argument.">getArgIdentifier</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>     assert(<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(Idx) == <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fa7371912d8fedf78ab0cf5b4056d4a3ce" title="IdentifierInfo.">DiagnosticsEngine::ak_identifierinfo</a> &&</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>            <span class="stringliteral">"invalid argument accessor!"</span>);</div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>*<span class="keyword">></span>(DiagObj->DiagArgumentsVal[Idx]);</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>   }</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="comment"></span></div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="comment">  /// \brief Return the specified non-string argument in an opaque form.</span></div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="comment">  /// \pre getArgKind(Idx) != DiagnosticsEngine::ak_std_string</span></div>
+<div class="line"><a name="l01154"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f"> 1154</a></span> <span class="comment"></span>  intptr_t <a class="code" href="classclang_1_1Diagnostic.html#accbe9b2effc42c56e319053a3c987b8f" title="Return the specified non-string argument in an opaque form.">getRawArg</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>     assert(<a class="code" href="classclang_1_1Diagnostic.html#a8d318acc4866d2f0563754622dc01c92" title="Return the kind of the specified index.">getArgKind</a>(Idx) != <a class="code" href="classclang_1_1DiagnosticsEngine.html#aa786a2c5b973455b81ecec595f7a9c7fad56868b64d44dce484fbe36c925cd3ee" title="std::string">DiagnosticsEngine::ak_std_string</a> &&</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>            <span class="stringliteral">"invalid argument accessor!"</span>);</div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>     <span class="keywordflow">return</span> DiagObj->DiagArgumentsVal[Idx];</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>   }</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="comment"></span></div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="comment">  /// \brief Return the number of source ranges associated with this diagnostic.</span></div>
+<div class="line"><a name="l01161"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#af28cea73797f6c5180896769cfdeae04"> 1161</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1Diagnostic.html#af28cea73797f6c5180896769cfdeae04" title="Return the number of source ranges associated with this diagnostic.">getNumRanges</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>     <span class="keywordflow">return</span> DiagObj->NumDiagRanges;</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>   }</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> <span class="comment"></span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> <span class="comment">  /// \pre Idx < getNumRanges()</span></div>
+<div class="line"><a name="l01166"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a5bc8a1856f3b428b4e44e9e0df27c971"> 1166</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> &<a class="code" href="classclang_1_1Diagnostic.html#a5bc8a1856f3b428b4e44e9e0df27c971">getRange</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>     assert(Idx < DiagObj->NumDiagRanges && <span class="stringliteral">"Invalid diagnostic range index!"</span>);</div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>     <span class="keywordflow">return</span> DiagObj->DiagRanges[Idx];</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>   }</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> <span class="comment"></span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span> <span class="comment">  /// \brief Return an array reference for this diagnostic's ranges.</span></div>
+<div class="line"><a name="l01172"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a0ece82a31d3d72df27cd42e9fd920f8e"> 1172</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<CharSourceRange></a> <a class="code" href="classclang_1_1Diagnostic.html#a0ece82a31d3d72df27cd42e9fd920f8e" title="Return an array reference for this diagnostic's ranges.">getRanges</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>     <span class="keywordflow">return</span> llvm::makeArrayRef(DiagObj->DiagRanges, DiagObj->NumDiagRanges);</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>   }</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> </div>
+<div class="line"><a name="l01176"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f"> 1176</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f">getNumFixItHints</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>     <span class="keywordflow">return</span> DiagObj->NumDiagFixItHints;</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>   }</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div>
+<div class="line"><a name="l01180"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a2d868b2015e11b9f0ffd48a7b0caa5f6"> 1180</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> &<a class="code" href="classclang_1_1Diagnostic.html#a2d868b2015e11b9f0ffd48a7b0caa5f6">getFixItHint</a>(<span class="keywordtype">unsigned</span> Idx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>     assert(Idx < <a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f">getNumFixItHints</a>() && <span class="stringliteral">"Invalid index!"</span>);</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>     <span class="keywordflow">return</span> DiagObj->DiagFixItHints[Idx];</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>   }</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div>
+<div class="line"><a name="l01185"></a><span class="lineno"><a class="code" href="classclang_1_1Diagnostic.html#a2bee3048283a7766758675a0145d47fa"> 1185</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FixItHint.html" title="Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the proble...">FixItHint</a> *<a class="code" href="classclang_1_1Diagnostic.html#a2bee3048283a7766758675a0145d47fa">getFixItHints</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f">getNumFixItHints</a>()? DiagObj->DiagFixItHints : 0;</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>   }</div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="comment"></span></div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span> <span class="comment">  /// \brief Format this diagnostic into a string, substituting the</span></div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> <span class="comment">  /// formal arguments into the %0 slots.</span></div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> <span class="comment">  /// The result is appended onto the \p OutStr array.</span></div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> <span class="comment"></span></div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> <span class="comment">  /// \brief Format the given format-string into the output buffer using the</span></div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="comment">  /// arguments stored in this diagnostic.</span></div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1Diagnostic.html#a95c4bce0427cbdbdbbd9a3e0382df79c" title="Format this diagnostic into a string, substituting the formal arguments into the %0 slots...">FormatDiagnostic</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *DiagStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *DiagEnd,</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>                         <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<char></a> &OutStr) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> };</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> <span class="comment"></span></div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> <span class="comment"> * \brief Represents a diagnostic in a form that can be retained until its </span></div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> <span class="comment"> * corresponding source manager is destroyed. </span></div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l01205"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html"> 1205</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1StoredDiagnostic.html" title="Represents a diagnostic in a form that can be retained until its corresponding source manager is dest...">StoredDiagnostic</a> {</div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>   <span class="keywordtype">unsigned</span> ID;</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> Level;</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>   <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc;</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>   std::string Message;</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>   std::vector<CharSourceRange> Ranges;</div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>   std::vector<FixItHint> FixIts;</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> </div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic</a>();</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> Level, <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info);</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> Level, <span class="keywordtype">unsigned</span> ID, </div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>                    StringRef Message);</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#abbd5cdedb60d593aaf75afc290949167">StoredDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> Level, <span class="keywordtype">unsigned</span> ID, </div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>                    StringRef Message, <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc,</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>                    <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<CharSourceRange></a> Ranges,</div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>                    <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> Fixits);</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#af2a64a4cdc4542623e7ca8a620a2b647">~StoredDiagnostic</a>();</div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> <span class="comment"></span></div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> <span class="comment">  /// \brief Evaluates true when this object stores a diagnostic.</span></div>
+<div class="line"><a name="l01225"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#abecee24f0d895d3d81750e8e5460f48c"> 1225</a></span> <span class="comment"></span>  LLVM_EXPLICIT <span class="keyword">operator</span> <a class="code" href="stdbool_8h.html#abb452686968e48b67397da5f97445f5b">bool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Message.size() > 0; }</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> </div>
+<div class="line"><a name="l01227"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a944fbd9a65e9b809a2ecde0c95905fad"> 1227</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1StoredDiagnostic.html#a944fbd9a65e9b809a2ecde0c95905fad">getID</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ID; }</div>
+<div class="line"><a name="l01228"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#ab552a4e1500b50decc509e276b7f39d8"> 1228</a></span>   <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> <a class="code" href="classclang_1_1StoredDiagnostic.html#ab552a4e1500b50decc509e276b7f39d8">getLevel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Level; }</div>
+<div class="line"><a name="l01229"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a7482563937a50557c6605660b5a22936"> 1229</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> &<a class="code" href="classclang_1_1StoredDiagnostic.html#a7482563937a50557c6605660b5a22936">getLocation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Loc; }</div>
+<div class="line"><a name="l01230"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a3611557c9f468be514e9715e2de60d3b"> 1230</a></span>   StringRef <a class="code" href="classclang_1_1StoredDiagnostic.html#a3611557c9f468be514e9715e2de60d3b">getMessage</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Message; }</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> </div>
+<div class="line"><a name="l01232"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a01bb4961a0d54d335f3378396596450c"> 1232</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1StoredDiagnostic.html#a01bb4961a0d54d335f3378396596450c">setLocation</a>(<a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> Loc) { this->Loc = Loc; }</div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> </div>
+<div class="line"><a name="l01234"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a82f6d9a3fc3dfd93675aa57f58bce5cc"> 1234</a></span>   <span class="keyword">typedef</span> std::vector<CharSourceRange>::const_iterator <a class="code" href="classclang_1_1StoredDiagnostic.html#a82f6d9a3fc3dfd93675aa57f58bce5cc">range_iterator</a>;</div>
+<div class="line"><a name="l01235"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#aea11e5c14766fbab04f2308e5d63c91f"> 1235</a></span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#a82f6d9a3fc3dfd93675aa57f58bce5cc">range_iterator</a> <a class="code" href="classclang_1_1StoredDiagnostic.html#aea11e5c14766fbab04f2308e5d63c91f">range_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Ranges.begin(); }</div>
+<div class="line"><a name="l01236"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a0dc083f2a06a8fa90b4955c6fae71b70"> 1236</a></span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#a82f6d9a3fc3dfd93675aa57f58bce5cc">range_iterator</a> <a class="code" href="classclang_1_1StoredDiagnostic.html#a0dc083f2a06a8fa90b4955c6fae71b70">range_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Ranges.end(); }</div>
+<div class="line"><a name="l01237"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a3b5b35bbabb1e5c0f2bc464b9aa4eeed"> 1237</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1StoredDiagnostic.html#a3b5b35bbabb1e5c0f2bc464b9aa4eeed">range_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Ranges.size(); }</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>   </div>
+<div class="line"><a name="l01239"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a002ba37e8e3be214d50a4b599939b710"> 1239</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<CharSourceRange></a> <a class="code" href="classclang_1_1StoredDiagnostic.html#a002ba37e8e3be214d50a4b599939b710">getRanges</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>     <span class="keywordflow">return</span> llvm::makeArrayRef(Ranges);</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>   }</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> </div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> </div>
+<div class="line"><a name="l01244"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#aa9d4ae3cad3f312bc461a1526e97a9fd"> 1244</a></span>   <span class="keyword">typedef</span> std::vector<FixItHint>::const_iterator <a class="code" href="classclang_1_1StoredDiagnostic.html#aa9d4ae3cad3f312bc461a1526e97a9fd">fixit_iterator</a>;</div>
+<div class="line"><a name="l01245"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a7d89c9cf2710d1c4f59789355896e83a"> 1245</a></span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#aa9d4ae3cad3f312bc461a1526e97a9fd">fixit_iterator</a> <a class="code" href="classclang_1_1StoredDiagnostic.html#a7d89c9cf2710d1c4f59789355896e83a">fixit_begin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FixIts.begin(); }</div>
+<div class="line"><a name="l01246"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a92390882e3763b046f8fbe089c861d6b"> 1246</a></span>   <a class="code" href="classclang_1_1StoredDiagnostic.html#aa9d4ae3cad3f312bc461a1526e97a9fd">fixit_iterator</a> <a class="code" href="classclang_1_1StoredDiagnostic.html#a92390882e3763b046f8fbe089c861d6b">fixit_end</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FixIts.end(); }</div>
+<div class="line"><a name="l01247"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#a2c9ad98e65f2b35321248ba36f536fda"> 1247</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1StoredDiagnostic.html#a2c9ad98e65f2b35321248ba36f536fda">fixit_size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> FixIts.size(); }</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>   </div>
+<div class="line"><a name="l01249"></a><span class="lineno"><a class="code" href="classclang_1_1StoredDiagnostic.html#ab87361bb1afee5e5a5401b939f6bdd6c"> 1249</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> <a class="code" href="classclang_1_1StoredDiagnostic.html#ab87361bb1afee5e5a5401b939f6bdd6c">getFixIts</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>     <span class="keywordflow">return</span> llvm::makeArrayRef(FixIts);</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>   }</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> };</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="comment"></span></div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">/// \brief Abstract interface, implemented by clients of the front-end, which</span></div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="comment">/// formats and prints fully processed diagnostics.</span></div>
+<div class="line"><a name="l01256"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html"> 1256</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> {</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l01258"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#ab82ae2b14363e1066d6ab0e5a896e4b7"> 1258</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#ab82ae2b14363e1066d6ab0e5a896e4b7" title="Number of warnings reported.">NumWarnings</a>;       <span class="comment">///< Number of warnings reported</span></div>
+<div class="line"><a name="l01259"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a8430e8a2dd72eca2821aa05c61e618e5"> 1259</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a8430e8a2dd72eca2821aa05c61e618e5" title="Number of errors reported.">NumErrors</a>;         <span class="comment">///< Number of errors reported</span></div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="comment"></span>  </div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01262"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a9d55d58718892053610224ec6e9351a0"> 1262</a></span>   <a class="code" href="classclang_1_1DiagnosticConsumer.html#a9d55d58718892053610224ec6e9351a0">DiagnosticConsumer</a>() : <a class="code" href="classclang_1_1DiagnosticConsumer.html#ab82ae2b14363e1066d6ab0e5a896e4b7" title="Number of warnings reported.">NumWarnings</a>(0), <a class="code" href="classclang_1_1DiagnosticConsumer.html#a8430e8a2dd72eca2821aa05c61e618e5" title="Number of errors reported.">NumErrors</a>(0) { }</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> </div>
+<div class="line"><a name="l01264"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a0b9d599cace3787775016b7042ec7a12"> 1264</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a0b9d599cace3787775016b7042ec7a12">getNumErrors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a8430e8a2dd72eca2821aa05c61e618e5" title="Number of errors reported.">NumErrors</a>; }</div>
+<div class="line"><a name="l01265"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a90fde25feccf05b2eee4019aefcaa068"> 1265</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a90fde25feccf05b2eee4019aefcaa068">getNumWarnings</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#ab82ae2b14363e1066d6ab0e5a896e4b7" title="Number of warnings reported.">NumWarnings</a>; }</div>
+<div class="line"><a name="l01266"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a30bce2dd5e959ad7f6b31317ef84949e"> 1266</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a30bce2dd5e959ad7f6b31317ef84949e">clear</a>() { <a class="code" href="classclang_1_1DiagnosticConsumer.html#ab82ae2b14363e1066d6ab0e5a896e4b7" title="Number of warnings reported.">NumWarnings</a> = <a class="code" href="classclang_1_1DiagnosticConsumer.html#a8430e8a2dd72eca2821aa05c61e618e5" title="Number of errors reported.">NumErrors</a> = 0; }</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> </div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a061b004cc1101e4e7d3283caa0380bd7">~DiagnosticConsumer</a>();</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="comment"></span></div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="comment">  /// \brief Callback to inform the diagnostic client that processing</span></div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> <span class="comment">  /// of a source file is beginning.</span></div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> <span class="comment">  /// Note that diagnostics may be emitted outside the processing of a source</span></div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="comment">  /// file, for example during the parsing of command line options. However,</span></div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> <span class="comment">  /// diagnostics with source range information are required to only be emitted</span></div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> <span class="comment">  /// in between BeginSourceFile() and EndSourceFile().</span></div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> <span class="comment">  /// \param LangOpts The language options for the source file being processed.</span></div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> <span class="comment">  /// \param PP The preprocessor object being used for the source; this is </span></div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> <span class="comment">  /// optional, e.g., it may not be present when processing AST source files.</span></div>
+<div class="line"><a name="l01281"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#ac7ad3bfdd4235a1b7b4c37accf54760c"> 1281</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#ac7ad3bfdd4235a1b7b4c37accf54760c" title="Callback to inform the diagnostic client that processing of a source file is beginning.">BeginSourceFile</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LangOptions.html" title="Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...">LangOptions</a> &LangOpts,</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> *PP = 0) {}</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> <span class="comment"></span></div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> <span class="comment">  /// \brief Callback to inform the diagnostic client that processing</span></div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> <span class="comment">  /// of a source file has ended.</span></div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> <span class="comment">  /// The diagnostic client should assume that any objects made available via</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> <span class="comment">  /// BeginSourceFile() are inaccessible.</span></div>
+<div class="line"><a name="l01289"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a37d4613d4c2ce9bf238f49d9e830d744"> 1289</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a37d4613d4c2ce9bf238f49d9e830d744" title="Callback to inform the diagnostic client that processing of a source file has ended.">EndSourceFile</a>() {}</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> <span class="comment"></span></div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> <span class="comment">  /// \brief Callback to inform the diagnostic client that processing of all</span></div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> <span class="comment">  /// source files has ended.</span></div>
+<div class="line"><a name="l01293"></a><span class="lineno"><a class="code" href="classclang_1_1DiagnosticConsumer.html#a69db9525165df8cb31a237943ed6cae4"> 1293</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a69db9525165df8cb31a237943ed6cae4" title="Callback to inform the diagnostic client that processing of all source files has ended.">finish</a>() {}</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> <span class="comment"></span></div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> <span class="comment">  /// \brief Indicates whether the diagnostics handled by this</span></div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> <span class="comment">  /// DiagnosticConsumer should be included in the number of diagnostics</span></div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="comment">  /// reported by DiagnosticsEngine.</span></div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> <span class="comment">  /// The default implementation returns true.</span></div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#aa75b0e19bc6995ece6e8ab6e8d4c24b6" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">IncludeInDiagnosticCounts</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> <span class="comment"></span></div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="comment">  /// \brief Handle this diagnostic, reporting it to the user or</span></div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="comment">  /// capturing it to a log as needed.</span></div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="comment">  /// The default implementation just keeps track of the total number of</span></div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="comment">  /// warnings and errors.</span></div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html#a4e2f11fcedb8495fe184b8adbd589708" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">HandleDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> DiagLevel,</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info);</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> };</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="comment"></span></div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="comment">/// \brief A diagnostic client that ignores all diagnostics.</span></div>
+<div class="line"><a name="l01312"></a><span class="lineno"><a class="code" href="classclang_1_1IgnoringDiagConsumer.html"> 1312</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1IgnoringDiagConsumer.html" title="A diagnostic client that ignores all diagnostics.">IgnoringDiagConsumer</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> {</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> anchor();</div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>   <span class="keywordtype">void</span> HandleDiagnostic(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> DiagLevel,</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>                         <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info) {</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>     <span class="comment">// Just ignore it.</span></div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>   }</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> };</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="comment"></span></div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="comment">/// \brief Diagnostic consumer that forwards diagnostics along to an</span></div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="comment">/// existing, already-initialized diagnostic consumer.</span></div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="comment">///</span></div>
+<div class="line"><a name="l01323"></a><span class="lineno"><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html"> 1323</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html" title="Diagnostic consumer that forwards diagnostics along to an existing, already-initialized diagnostic co...">ForwardingDiagnosticConsumer</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> {</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>   <a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> &Target;</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> </div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l01327"></a><span class="lineno"><a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#aefc06beb93c66c95ffd90e014291beca"> 1327</a></span>   <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#aefc06beb93c66c95ffd90e014291beca">ForwardingDiagnosticConsumer</a>(<a class="code" href="classclang_1_1DiagnosticConsumer.html" title="Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...">DiagnosticConsumer</a> &Target) : Target(Target) {}</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#ad87af2d7030acc40603044e172b8abbc">~ForwardingDiagnosticConsumer</a>();</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> </div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a1cf62be1e76d9aad8d4ef3ef8f09cc74" title="Handle this diagnostic, reporting it to the user or capturing it to a log as needed.">HandleDiagnostic</a>(<a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0" title="The level of the diagnostic, after it has been through mapping.">DiagnosticsEngine::Level</a> DiagLevel,</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info);</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a78b23a4a8e3890c38377ca1fef1020da">clear</a>();</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> </div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ForwardingDiagnosticConsumer.html#a5359c9551fbed341d22ac7394965d823" title="Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number...">IncludeInDiagnosticCounts</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> };</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> </div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="comment">// Struct used for sending info about how a type should be printed.</span></div>
+<div class="line"><a name="l01339"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html"> 1339</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1TemplateDiffTypes.html">TemplateDiffTypes</a> {</div>
+<div class="line"><a name="l01340"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#ae4ed236eb6d928c2cbd30e0ecf7637e4"> 1340</a></span>   intptr_t <a class="code" href="structclang_1_1TemplateDiffTypes.html#ae4ed236eb6d928c2cbd30e0ecf7637e4">FromType</a>;</div>
+<div class="line"><a name="l01341"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#adea7b7dba67717b38b315b954a94480a"> 1341</a></span>   intptr_t <a class="code" href="structclang_1_1TemplateDiffTypes.html#adea7b7dba67717b38b315b954a94480a">ToType</a>;</div>
+<div class="line"><a name="l01342"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#a745b58180bafede77a4cfd2099010bbe"> 1342</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1TemplateDiffTypes.html#a745b58180bafede77a4cfd2099010bbe">PrintTree</a> : 1;</div>
+<div class="line"><a name="l01343"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#a661a7c61c9a148a46a5457458fa974cb"> 1343</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1TemplateDiffTypes.html#a661a7c61c9a148a46a5457458fa974cb">PrintFromType</a> : 1;</div>
+<div class="line"><a name="l01344"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#a1d977b3fad3793d0d8e1ed9309337fa2"> 1344</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1TemplateDiffTypes.html#a1d977b3fad3793d0d8e1ed9309337fa2">ElideType</a> : 1;</div>
+<div class="line"><a name="l01345"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#acfa16212338242db13a29f8498e954bd"> 1345</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1TemplateDiffTypes.html#acfa16212338242db13a29f8498e954bd">ShowColors</a> : 1;</div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>   <span class="comment">// The printer sets this variable to true if the template diff was used.</span></div>
+<div class="line"><a name="l01347"></a><span class="lineno"><a class="code" href="structclang_1_1TemplateDiffTypes.html#ac090947dacb5e40092e211e373003961"> 1347</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1TemplateDiffTypes.html#ac090947dacb5e40092e211e373003961">TemplateDiffUsed</a> : 1;</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> };</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="comment"></span></div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="comment">/// Special character that the diagnostic printer will use to toggle the bold</span></div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="comment">/// attribute.  The character itself will be not be printed.</span></div>
+<div class="line"><a name="l01352"></a><span class="lineno"><a class="code" href="namespaceclang.html#aa962aa132f7c6d2c84c22238a7680acc"> 1352</a></span> <span class="comment"></span><span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="namespaceclang.html#aa962aa132f7c6d2c84c22238a7680acc">ToggleHighlight</a> = 127;</div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> </div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> }  <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> </div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:33 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Diagnostics.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_7166f89c8d6eff13069d8d607a946656.html">ASTMatchers</a></li><li class="navelem"><a class="el" href="dir_4fdbb297ee905cf60c3ac55b97d4a674.html">Dynamic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Diagnostics.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Diagnostics_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- Diagnostics.cpp - Helper class for error diagnostics -----*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="preprocessor">#include "<a class="code" href="Diagnostics_8h.html" title="Diagnostics class to manage error messages.">clang/ASTMatchers/Dynamic/Diagnostics.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> </div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="keyword">namespace </span>ast_matchers {</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="keyword">namespace </span>dynamic {</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> Diagnostics::ArgStream Diagnostics::pushContextFrame(ContextType Type,</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>                                                      SourceRange Range) {</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>   ContextStack.push_back(ContextFrame());</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>   ContextFrame& <a class="code" href="ASTWriter_8cpp.html#a5c6341076bde2012a21db25f4e2e3792">data</a> = ContextStack.back();</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>   data.Type = Type;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>   data.Range = Range;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>   <span class="keywordflow">return</span> ArgStream(&data.Args);</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> }</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#ad12694772b8609f4dd374c7253e7101e">   25</a></span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#ad12694772b8609f4dd374c7253e7101e">Diagnostics::Context::Context</a>(<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a733e819291e5829333d46856dce64f3e" title="About to call the constructor for a matcher.">ConstructMatcherEnum</a>, <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *Error,</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>                               StringRef MatcherName,</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>                               <span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &MatcherRange)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>     : Error(Error) {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   Error->pushContextFrame(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490ac13d2da2df44904f352ec13f477bb570">CT_MatcherConstruct</a>, MatcherRange) << MatcherName;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> }</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a04a3295f173325bf08801bd8f30abcd3">   32</a></span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#ad12694772b8609f4dd374c7253e7101e">Diagnostics::Context::Context</a>(<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a0ac03125df8cb9508cc6b85c7519fe89" title="About to recurse into parsing one argument for a matcher.">MatcherArgEnum</a>, <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *Error,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>                               StringRef MatcherName,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>                               <span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &MatcherRange,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>                               <span class="keywordtype">unsigned</span> ArgNumber)</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>     : Error(Error) {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   Error->pushContextFrame(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490a9c5937fbb4c2e65a99686a2125e56c35">CT_MatcherArg</a>, MatcherRange) << ArgNumber</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>                                                        << MatcherName;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> }</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a923bb910faaeeebb248731f0fecf2ff8">   41</a></span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a923bb910faaeeebb248731f0fecf2ff8">Diagnostics::Context::~Context</a>() { Error->ContextStack.pop_back(); }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#ac47dc6f10fad57c5f0ad49e616da5f7d">   43</a></span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#ac47dc6f10fad57c5f0ad49e616da5f7d">Diagnostics::OverloadContext::OverloadContext</a>(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *Error)</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     : Error(Error), BeginIndex(Error->Errors.size()) {}</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#ac67324a4ccfe31b0fa7d461c3945c779">   46</a></span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#ac67324a4ccfe31b0fa7d461c3945c779">Diagnostics::OverloadContext::~OverloadContext</a>() {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="comment">// Merge all errors that happened while in this context.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   <span class="keywordflow">if</span> (BeginIndex < Error->Errors.size()) {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>     <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html" title="Information stored for each error found.">Diagnostics::ErrorContent</a> &Dest = Error->Errors[BeginIndex];</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = BeginIndex + 1, e = Error->Errors.size(); i < e; ++i) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>       Dest.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.push_back(Error->Errors[i].Messages[0]);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     }</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>     Error->Errors.resize(BeginIndex + 1);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> }</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#a5774014274ccc9bf676479e7d0e5c6bc">   57</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#a5774014274ccc9bf676479e7d0e5c6bc" title="Revert all errors that happened within this context.">Diagnostics::OverloadContext::revertErrors</a>() {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="comment">// Revert the errors.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   Error->Errors.resize(BeginIndex);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> }</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#ad34125651faf780a3281c6c29149b3a4">   62</a></span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">Diagnostics::ArgStream</a> &<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a21862d386c284885359063c3eea6c794">Diagnostics::ArgStream::operator<<</a>(<span class="keyword">const</span> Twine &Arg) {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   Out->push_back(Arg.str());</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> }</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#acebeb3264e3bb02051a94f81637c9cc0">   67</a></span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">Diagnostics::ArgStream</a> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#acebeb3264e3bb02051a94f81637c9cc0" title="Add an error to the diagnostics.">Diagnostics::addError</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &Range,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                                              <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdff" title="All errors from the system.">ErrorType</a> Error) {</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   Errors.push_back(<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html" title="Information stored for each error found.">ErrorContent</a>());</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html" title="Information stored for each error found.">ErrorContent</a> &<a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960a266d73bc4ca20907a5df65ca32193720">Last</a> = Errors.back();</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   Last.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#aab526c69e541eed3568216a93b73f4a1">ContextStack</a> = ContextStack;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   Last.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.push_back(<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html">ErrorContent::Message</a>());</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   Last.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.back().Range = Range;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>   Last.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.back().Type = Error;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">ArgStream</a>(&Last.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.back().Args);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> }</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a381acdfb9c2c1e3409838e6a00affabd">   78</a></span> StringRef <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a381acdfb9c2c1e3409838e6a00affabd">contextTypeToFormatString</a>(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490" title="Parser context types.">Diagnostics::ContextType</a> Type) {</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   <span class="keywordflow">switch</span> (Type) {</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490ac13d2da2df44904f352ec13f477bb570">Diagnostics::CT_MatcherConstruct</a>:</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>       <span class="keywordflow">return</span> <span class="stringliteral">"Error building matcher $0."</span>;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490a9c5937fbb4c2e65a99686a2125e56c35">Diagnostics::CT_MatcherArg</a>:</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>       <span class="keywordflow">return</span> <span class="stringliteral">"Error parsing argument $0 for matcher $1."</span>;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   }</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   llvm_unreachable(<span class="stringliteral">"Unknown ContextType value."</span>);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> }</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#abf2420d5bdbea7437a0aec6fec0ff474">   88</a></span> StringRef <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#abf2420d5bdbea7437a0aec6fec0ff474">errorTypeToFormatString</a>(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdff" title="All errors from the system.">Diagnostics::ErrorType</a> Type) {</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   <span class="keywordflow">switch</span> (Type) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffadfc5d141f6dda043ca021e3a32df3dcd">Diagnostics::ET_RegistryNotFound</a>:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Matcher not found: $0"</span>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffac8c2cc4aa5024819e42daf25d0388540">Diagnostics::ET_RegistryWrongArgCount</a>:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Incorrect argument count. (Expected = $0) != (Actual = $1)"</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa11b04e52d50995dd4296701b2185dc60">Diagnostics::ET_RegistryWrongArgType</a>:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Incorrect type for arg $0. (Expected = $1) != (Actual = $2)"</span>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa9d41db82e50e92e988a6e92265763d34">Diagnostics::ET_RegistryNotBindable</a>:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Matcher does not support binding."</span>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffad329f57cfa122b8470c7757dfaa51a56">Diagnostics::ET_RegistryAmbiguousOverload</a>:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>     <span class="comment">// TODO: Add type info about the overload error.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Ambiguous matcher overload."</span>;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa3ca857eb847e9830dab67e26f6ef3e37">Diagnostics::ET_ParserStringError</a>:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Error parsing string token: <$0>"</span>;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa4a9214c583b8e9cd8f2a3147e8c09bb3">Diagnostics::ET_ParserNoOpenParen</a>:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Error parsing matcher. Found token <$0> while looking for '('."</span>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa7c1636875a8e83865389c43d1f6ee6f4">Diagnostics::ET_ParserNoCloseParen</a>:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Error parsing matcher. Found end-of-code while looking for ')'."</span>;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa1610cd9a4a81e42f64baca5530357e92">Diagnostics::ET_ParserNoComma</a>:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Error parsing matcher. Found token <$0> while looking for ','."</span>;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffac920baa68c2c6cf8325360155816a4f9">Diagnostics::ET_ParserNoCode</a>:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     <span class="keywordflow">return</span> <span class="stringliteral">"End of code found while looking for token."</span>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa43bc65447e6fc9d4bd0dcef9e994bde4">Diagnostics::ET_ParserNotAMatcher</a>:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Input value is not a matcher expression."</span>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffaa191f4d731f8faaac0f9986b0799938a">Diagnostics::ET_ParserInvalidToken</a>:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Invalid token <$0> found when looking for a value."</span>;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa4ac91c2b348eae8cebfae25199ffc19b">Diagnostics::ET_ParserMalformedBindExpr</a>:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Malformed bind() expression."</span>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa6208744a98f61d953c16146b908e06be">Diagnostics::ET_ParserTrailingCode</a>:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Expected end of code."</span>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffae52605e63f96f0f36c621557438805eb">Diagnostics::ET_ParserUnsignedError</a>:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Error parsing unsigned token: <$0>"</span>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa260fce018f14dfbb8f546470440e9619">Diagnostics::ET_ParserOverloadedType</a>:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Input value has unresolved overloaded type: $0"</span>;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa67df78cae17bf3f212099325eee2b10b">Diagnostics::ET_None</a>:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     <span class="keywordflow">return</span> <span class="stringliteral">"<N/A>"</span>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   }</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   llvm_unreachable(<span class="stringliteral">"Unknown ErrorType value."</span>);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> }</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a6879307d5beb785dca5f8f47ba5d775b">  131</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a6879307d5beb785dca5f8f47ba5d775b">formatErrorString</a>(StringRef FormatString, <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<std::string></a> <a class="code" href="SemaOverload_8cpp.html#ab0970fce5a85028c7eac6fb99797fea5">Args</a>,</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>                        llvm::raw_ostream &OS) {</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="keywordflow">while</span> (!FormatString.empty()) {</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     std::pair<StringRef, StringRef> Pieces = FormatString.split(<span class="stringliteral">"$"</span>);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     OS << Pieces.first.str();</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordflow">if</span> (Pieces.second.empty()) <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> Next = Pieces.second.front();</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     FormatString = Pieces.second.drop_front();</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="keywordflow">if</span> (Next >= <span class="charliteral">'0'</span> && Next <= <span class="charliteral">'9'</span>) {</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>       <span class="keyword">const</span> <span class="keywordtype">unsigned</span> Index = Next - <span class="charliteral">'0'</span>;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>       <span class="keywordflow">if</span> (Index < Args.size()) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>         OS << Args[Index];</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>         OS << <span class="stringliteral">"<Argument_Not_Provided>"</span>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>       }</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     }</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   }</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> }</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a73330bab0588d91eed473ba9c5d41132">  151</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a73330bab0588d91eed473ba9c5d41132">maybeAddLineAndColumn</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &Range,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>                                   llvm::raw_ostream &OS) {</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>   <span class="keywordflow">if</span> (Range.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#a6b257e44f05b3759e30812d9932f3108">Start</a>.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#af3b9e48124283ed5e7a52b5a616b1075">Line</a> > 0 && Range.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#a6b257e44f05b3759e30812d9932f3108">Start</a>.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#a115d50a9ea6f14bbead8731e5a830f3e">Column</a> > 0) {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     OS << Range.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#a6b257e44f05b3759e30812d9932f3108">Start</a>.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#af3b9e48124283ed5e7a52b5a616b1075">Line</a> << <span class="stringliteral">":"</span> << Range.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#a6b257e44f05b3759e30812d9932f3108">Start</a>.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#a115d50a9ea6f14bbead8731e5a830f3e">Column</a> << <span class="stringliteral">": "</span>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   }</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> }</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#acccbfad0ddf5af492c1ca86b51ed306c">  158</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#acccbfad0ddf5af492c1ca86b51ed306c">printContextFrameToStream</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html" title="Information stored for one frame of the context.">Diagnostics::ContextFrame</a> &Frame,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>                                       llvm::raw_ostream &OS) {</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a73330bab0588d91eed473ba9c5d41132">maybeAddLineAndColumn</a>(Frame.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#abf554c627fa956ab9244c57670fbef08">Range</a>, OS);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a6879307d5beb785dca5f8f47ba5d775b">formatErrorString</a>(<a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a381acdfb9c2c1e3409838e6a00affabd">contextTypeToFormatString</a>(Frame.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#adc9af5f0521edb771825874d729be0b9">Type</a>), Frame.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#a20e5a2504197195a083bc725731f5096">Args</a>, OS);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#ad373cfab8ad4db1208ef1be6ab65d8a9">  165</a></span> <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#ad373cfab8ad4db1208ef1be6ab65d8a9">printMessageToStream</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html">Diagnostics::ErrorContent::Message</a> &Message,</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>                      <span class="keyword">const</span> Twine Prefix, llvm::raw_ostream &OS) {</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a73330bab0588d91eed473ba9c5d41132">maybeAddLineAndColumn</a>(Message.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#a7b1ce53dc27421426a5cd27fa67ad884">Range</a>, OS);</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   OS << Prefix;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#a6879307d5beb785dca5f8f47ba5d775b">formatErrorString</a>(<a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#abf2420d5bdbea7437a0aec6fec0ff474">errorTypeToFormatString</a>(Message.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#a9f5364074652f7a35356cee6f82d51bc">Type</a>), Message.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#aa591647d8f9a2c5c73276a3aa534e91f">Args</a>, OS);</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> }</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#adec9c0941a859df49f1370fd40b2ccc7">  172</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#adec9c0941a859df49f1370fd40b2ccc7">printErrorContentToStream</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html" title="Information stored for each error found.">Diagnostics::ErrorContent</a> &Content,</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>                                       llvm::raw_ostream &OS) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   <span class="keywordflow">if</span> (Content.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.size() == 1) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#ad373cfab8ad4db1208ef1be6ab65d8a9">printMessageToStream</a>(Content.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>[0], <span class="stringliteral">""</span>, OS);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, e = Content.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <span class="keywordflow">if</span> (i != 0) OS << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>       <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#ad373cfab8ad4db1208ef1be6ab65d8a9">printMessageToStream</a>(Content.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>[i],</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>                            <span class="stringliteral">"Candidate "</span> + Twine(i + 1) + <span class="stringliteral">": "</span>, OS);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     }</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   }</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> }</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#ae229a021f7ec022eb040c581892ac8a8">  185</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#ae229a021f7ec022eb040c581892ac8a8" title="Returns a simple string representation of each error.">Diagnostics::printToStream</a>(llvm::raw_ostream &OS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, e = Errors.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     <span class="keywordflow">if</span> (i != 0) OS << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#adec9c0941a859df49f1370fd40b2ccc7">printErrorContentToStream</a>(Errors[i], OS);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   }</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> }</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#aaf6cf96b8074fbdcc4521cac26aa1e62">  192</a></span> std::string <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#aaf6cf96b8074fbdcc4521cac26aa1e62">Diagnostics::toString</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   std::string <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   llvm::raw_string_ostream OS(S);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#ae229a021f7ec022eb040c581892ac8a8" title="Returns a simple string representation of each error.">printToStream</a>(OS);</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   <span class="keywordflow">return</span> OS.str();</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> }</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a5ee56b53fe19aa9bb4afd3fc14261d4b">  199</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a5ee56b53fe19aa9bb4afd3fc14261d4b" title="Returns the full string representation of each error.">Diagnostics::printToStreamFull</a>(llvm::raw_ostream &OS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, e = Errors.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">if</span> (i != 0) OS << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html" title="Information stored for each error found.">ErrorContent</a> &Error = Errors[i];</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, e = Error.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#aab526c69e541eed3568216a93b73f4a1">ContextStack</a>.size(); i != e; ++i) {</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>       <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#acccbfad0ddf5af492c1ca86b51ed306c">printContextFrameToStream</a>(Error.<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#aab526c69e541eed3568216a93b73f4a1">ContextStack</a>[i], OS);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>       OS << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>     }</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>     <a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html#adec9c0941a859df49f1370fd40b2ccc7">printErrorContentToStream</a>(Error, OS);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   }</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> }</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a427447d93a7f4ec66739ba016fb45426">  211</a></span> std::string <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a427447d93a7f4ec66739ba016fb45426">Diagnostics::toStringFull</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   std::string <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   llvm::raw_string_ostream OS(S);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a5ee56b53fe19aa9bb4afd3fc14261d4b" title="Returns the full string representation of each error.">printToStreamFull</a>(OS);</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <span class="keywordflow">return</span> OS.str();</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> }</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> }  <span class="comment">// namespace dynamic</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> }  <span class="comment">// namespace ast_matchers</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> }  <span class="comment">// namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:34 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,382 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Diagnostics.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_7166f89c8d6eff13069d8d607a946656.html">ASTMatchers</a></li><li class="navelem"><a class="el" href="dir_4fdbb297ee905cf60c3ac55b97d4a674.html">Dynamic</a></li><li class="navelem"><a class="el" href="dir_d100ba8b57870745f0978c80b88b176b.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Diagnostics.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Diagnostics_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/Release+Asserts/Diagnostics.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/Release+Asserts/Diagnostics.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  Diagnostics.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/Dynamic/Diagnostics.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/Dynamic/VariantValue.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/ASTMatchers.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclFriend.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclTemplate.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/ASTMatchersInternal.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/StmtCXX.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm/ADT/VariadicFunction.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/ASTMatchersMacros.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/Support/Regex.h</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/Dynamic/Diagnostics.h:</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/Dynamic/VariantValue.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/ASTMatchers.h:</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclFriend.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/DeclTemplate.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/ASTMatchersInternal.h:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/AST/StmtCXX.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/include/llvm/ADT/VariadicFunction.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/tools/clang/lib/ASTMatchers/Dynamic/../../../include/clang/ASTMatchers/ASTMatchersMacros.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/include/llvm/Support/Regex.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:34 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Diagnostics_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: Diagnostics.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_13fcf62b671b31ccdd455cdd72ed3510.html">ASTMatchers</a></li><li class="navelem"><a class="el" href="dir_b97ef2b61f846d87b1651d4d00e66e2a.html">Dynamic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Diagnostics.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Diagnostics_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> <span class="comment">//===--- Diagnostics.h - Helper class for error diagnostics -----*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief Diagnostics class to manage error messages.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment"></span><span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#ifndef LLVM_CLANG_AST_MATCHERS_DYNAMIC_DIAGNOSTICS_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_AST_MATCHERS_DYNAMIC_DIAGNOSTICS_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include <vector></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="VariantValue_8h.html" title="Polymorphic value type.">clang/ASTMatchers/Dynamic/VariantValue.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/ArrayRef.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/StringRef.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/ADT/Twine.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">namespace </span>ast_matchers {</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ast__matchers_1_1dynamic.html">   30</a></span> <span class="keyword">namespace </span>dynamic {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html">   32</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html">SourceLocation</a> {</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#ad90432f6145d8d71797018be9b8428f6">   33</a></span>   <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#ad90432f6145d8d71797018be9b8428f6">SourceLocation</a>() : <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#af3b9e48124283ed5e7a52b5a616b1075">Line</a>(), <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#a115d50a9ea6f14bbead8731e5a830f3e">Column</a>() {}</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#af3b9e48124283ed5e7a52b5a616b1075">   34</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#af3b9e48124283ed5e7a52b5a616b1075">Line</a>;</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#a115d50a9ea6f14bbead8731e5a830f3e">   35</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html#a115d50a9ea6f14bbead8731e5a830f3e">Column</a>;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> };</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">   38</a></span> <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> {</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#a6b257e44f05b3759e30812d9932f3108">   39</a></span>   <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html">SourceLocation</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#a6b257e44f05b3759e30812d9932f3108">Start</a>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#ac55be8ec22a29570a5b402c75d587805">   40</a></span>   <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceLocation.html">SourceLocation</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html#ac55be8ec22a29570a5b402c75d587805">End</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> };</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment"></span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">/// \brief A VariantValue instance annotated with its parser context.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html">   44</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html" title="A VariantValue instance annotated with its parser context.">ParserValue</a> {</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#a9d6500d3279d2135481c61b39b03a57a">   45</a></span>   <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#a9d6500d3279d2135481c61b39b03a57a">ParserValue</a>() : <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#af7510905bdfe5f7be45c41fee7b401bc">Text</a>(), <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#a95f6c308ec1b9bb14b820d0429ed98ad">Range</a>(), <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>() {}</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#af7510905bdfe5f7be45c41fee7b401bc">   46</a></span>   StringRef <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#af7510905bdfe5f7be45c41fee7b401bc">Text</a>;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#a95f6c308ec1b9bb14b820d0429ed98ad">   47</a></span>   <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#a95f6c308ec1b9bb14b820d0429ed98ad">Range</a>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#ace65585a0199465ddba318435ff8733b">   48</a></span>   <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1VariantValue.html" title="Variant value class.">VariantValue</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1ParserValue.html#ace65585a0199465ddba318435ff8733b">Value</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> };</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">/// \brief Helper class to manage error messages.</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html">   52</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// \brief Parser context types.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490">   55</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490" title="Parser context types.">ContextType</a> {</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490a9c5937fbb4c2e65a99686a2125e56c35">   56</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490a9c5937fbb4c2e65a99686a2125e56c35">CT_MatcherArg</a> = 0,</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490ac13d2da2df44904f352ec13f477bb570">   57</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490ac13d2da2df44904f352ec13f477bb570">CT_MatcherConstruct</a> = 1</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   };</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment"></span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">  /// \brief All errors from the system.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdff">   61</a></span> <span class="comment"></span>  <span class="keyword">enum</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdff" title="All errors from the system.">ErrorType</a> {</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa67df78cae17bf3f212099325eee2b10b">   62</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa67df78cae17bf3f212099325eee2b10b">ET_None</a> = 0,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffadfc5d141f6dda043ca021e3a32df3dcd">   64</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffadfc5d141f6dda043ca021e3a32df3dcd">ET_RegistryNotFound</a> = 1,</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffac8c2cc4aa5024819e42daf25d0388540">   65</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffac8c2cc4aa5024819e42daf25d0388540">ET_RegistryWrongArgCount</a> = 2,</div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa11b04e52d50995dd4296701b2185dc60">   66</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa11b04e52d50995dd4296701b2185dc60">ET_RegistryWrongArgType</a> = 3,</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa9d41db82e50e92e988a6e92265763d34">   67</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa9d41db82e50e92e988a6e92265763d34">ET_RegistryNotBindable</a> = 4,</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffad329f57cfa122b8470c7757dfaa51a56">   68</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffad329f57cfa122b8470c7757dfaa51a56">ET_RegistryAmbiguousOverload</a> = 5,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa3ca857eb847e9830dab67e26f6ef3e37">   70</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa3ca857eb847e9830dab67e26f6ef3e37">ET_ParserStringError</a> = 100,</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa4a9214c583b8e9cd8f2a3147e8c09bb3">   71</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa4a9214c583b8e9cd8f2a3147e8c09bb3">ET_ParserNoOpenParen</a> = 101,</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa7c1636875a8e83865389c43d1f6ee6f4">   72</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa7c1636875a8e83865389c43d1f6ee6f4">ET_ParserNoCloseParen</a> = 102,</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa1610cd9a4a81e42f64baca5530357e92">   73</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa1610cd9a4a81e42f64baca5530357e92">ET_ParserNoComma</a> = 103,</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffac920baa68c2c6cf8325360155816a4f9">   74</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffac920baa68c2c6cf8325360155816a4f9">ET_ParserNoCode</a> = 104,</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa43bc65447e6fc9d4bd0dcef9e994bde4">   75</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa43bc65447e6fc9d4bd0dcef9e994bde4">ET_ParserNotAMatcher</a> = 105,</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffaa191f4d731f8faaac0f9986b0799938a">   76</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffaa191f4d731f8faaac0f9986b0799938a">ET_ParserInvalidToken</a> = 106,</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa4ac91c2b348eae8cebfae25199ffc19b">   77</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa4ac91c2b348eae8cebfae25199ffc19b">ET_ParserMalformedBindExpr</a> = 107,</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa6208744a98f61d953c16146b908e06be">   78</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa6208744a98f61d953c16146b908e06be">ET_ParserTrailingCode</a> = 108,</div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffae52605e63f96f0f36c621557438805eb">   79</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffae52605e63f96f0f36c621557438805eb">ET_ParserUnsignedError</a> = 109,</div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa260fce018f14dfbb8f546470440e9619">   80</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdffa260fce018f14dfbb8f546470440e9619">ET_ParserOverloadedType</a> = 110</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   };</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">  /// \brief Helper stream class.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html">   84</a></span> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">ArgStream</a> {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a5599d6a18d9306241bc7b766327c320b">   86</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a5599d6a18d9306241bc7b766327c320b">ArgStream</a>(std::vector<std::string> *Out) : Out(Out) {}</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a21862d386c284885359063c3eea6c794">   87</a></span>     <span class="keyword">template</span> <<span class="keyword">class</span> T> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">ArgStream</a> &<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a21862d386c284885359063c3eea6c794">operator<<</a>(<span class="keyword">const</span> T &Arg) {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a21862d386c284885359063c3eea6c794">operator<<</a>(Twine(Arg));</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>     }</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">ArgStream</a> &<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html#a21862d386c284885359063c3eea6c794">operator<<</a>(<span class="keyword">const</span> Twine &Arg);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     std::vector<std::string> *Out;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   };</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> <span class="comment"></span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment">  /// \brief Class defining a parser context.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment">  /// Used by the parser to specify (possibly recursive) contexts where the</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">  /// parsing/construction can fail. Any error triggered within a context will</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// keep information about the context chain.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">  /// This class should be used as a RAII instance in the stack.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html">  102</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html" title="Class defining a parser context.">Context</a> {</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment">    /// \brief About to call the constructor for a matcher.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a733e819291e5829333d46856dce64f3e">  105</a></span> <span class="comment"></span>    <span class="keyword">enum</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a733e819291e5829333d46856dce64f3e" title="About to call the constructor for a matcher.">ConstructMatcherEnum</a> { <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a733e819291e5829333d46856dce64f3ea723a2e7420afa259ee9f3e2db56f5ac7">ConstructMatcher</a> };</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#ad12694772b8609f4dd374c7253e7101e">Context</a>(<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a733e819291e5829333d46856dce64f3e" title="About to call the constructor for a matcher.">ConstructMatcherEnum</a>, <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *Error, StringRef MatcherName,</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>             <span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &MatcherRange);<span class="comment"></span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment">    /// \brief About to recurse into parsing one argument for a matcher.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a0ac03125df8cb9508cc6b85c7519fe89">  109</a></span> <span class="comment"></span>    <span class="keyword">enum</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a0ac03125df8cb9508cc6b85c7519fe89" title="About to recurse into parsing one argument for a matcher.">MatcherArgEnum</a> { <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a0ac03125df8cb9508cc6b85c7519fe89a0c1644eeac589412dbe7517ed24e6fa3">MatcherArg</a> };</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>     <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#ad12694772b8609f4dd374c7253e7101e">Context</a>(<a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a0ac03125df8cb9508cc6b85c7519fe89" title="About to recurse into parsing one argument for a matcher.">MatcherArgEnum</a>, <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *Error, StringRef MatcherName,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>             <span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &MatcherRange, <span class="keywordtype">unsigned</span> ArgNumber);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1Context.html#a923bb910faaeeebb248731f0fecf2ff8">~Context</a>();</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *<span class="keyword">const</span> Error;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   };</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment">  /// \brief Context for overloaded matcher construction.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  /// This context will take care of merging all errors that happen within it</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment">  /// as "candidate" overloads for the same matcher.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html">  122</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html" title="Context for overloaded matcher construction.">OverloadContext</a> {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>    <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#ac47dc6f10fad57c5f0ad49e616da5f7d">OverloadContext</a>(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a>* Error);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>    <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#ac67324a4ccfe31b0fa7d461c3945c779">~OverloadContext</a>();</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment"></span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment">   /// \brief Revert all errors that happened within this context.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment"></span>   <span class="keywordtype">void</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1OverloadContext.html#a5774014274ccc9bf676479e7d0e5c6bc" title="Revert all errors that happened within this context.">revertErrors</a>();</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html" title="Helper class to manage error messages.">Diagnostics</a> *<span class="keyword">const</span> Error;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     <span class="keywordtype">unsigned</span> BeginIndex;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   };</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment"></span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">  /// \brief Add an error to the diagnostics.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment">  /// All the context information will be kept on the error message.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment">  /// \return a helper class to allow the caller to pass the arguments for the</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">  /// error message, using the << operator.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ArgStream.html" title="Helper stream class.">ArgStream</a> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#acebeb3264e3bb02051a94f81637c9cc0" title="Add an error to the diagnostics.">addError</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> &Range, <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdff" title="All errors from the system.">ErrorType</a> Error);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> <span class="comment">  /// \brief Information stored for one frame of the context.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html">  143</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html" title="Information stored for one frame of the context.">ContextFrame</a> {</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#adc9af5f0521edb771825874d729be0b9">  144</a></span>     <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490" title="Parser context types.">ContextType</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#adc9af5f0521edb771825874d729be0b9">Type</a>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#abf554c627fa956ab9244c57670fbef08">  145</a></span>     <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#abf554c627fa956ab9244c57670fbef08">Range</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#a20e5a2504197195a083bc725731f5096">  146</a></span>     std::vector<std::string> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ContextFrame.html#a20e5a2504197195a083bc725731f5096">Args</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   };</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> <span class="comment"></span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="comment">  /// \brief Information stored for each error found.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html">  150</a></span> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html" title="Information stored for each error found.">ErrorContent</a> {</div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#aab526c69e541eed3568216a93b73f4a1">  151</a></span>     std::vector<ContextFrame> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#aab526c69e541eed3568216a93b73f4a1">ContextStack</a>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html">  152</a></span>     <span class="keyword">struct </span><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html">Message</a> {</div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#a7b1ce53dc27421426a5cd27fa67ad884">  153</a></span>       <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#a7b1ce53dc27421426a5cd27fa67ad884">Range</a>;</div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#a9f5364074652f7a35356cee6f82d51bc">  154</a></span>       <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a1984961e812252332675cedccc45fdff" title="All errors from the system.">ErrorType</a> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#a9f5364074652f7a35356cee6f82d51bc">Type</a>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#aa591647d8f9a2c5c73276a3aa534e91f">  155</a></span>       std::vector<std::string> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent_1_1Message.html#aa591647d8f9a2c5c73276a3aa534e91f">Args</a>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     };</div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">  157</a></span>     std::vector<Message> <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics_1_1ErrorContent.html#abd524be7434abeb752c6e2271c06684d">Messages</a>;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   };</div>
+<div class="line"><a name="l00159"></a><span class="lineno"><a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a02091ed95a5b0558fc7c07007a67d1f8">  159</a></span>   <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<ErrorContent></a> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a02091ed95a5b0558fc7c07007a67d1f8">errors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Errors; }</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment"></span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment">  /// \brief Returns a simple string representation of each error.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment">  /// Each error only shows the error message without any context.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#ae229a021f7ec022eb040c581892ac8a8" title="Returns a simple string representation of each error.">printToStream</a>(llvm::raw_ostream &OS) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>   std::string <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#aaf6cf96b8074fbdcc4521cac26aa1e62">toString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">  /// \brief Returns the full string representation of each error.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> <span class="comment">  /// Each error message contains the full context.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a5ee56b53fe19aa9bb4afd3fc14261d4b" title="Returns the full string representation of each error.">printToStreamFull</a>(llvm::raw_ostream &OS) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   std::string <a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a427447d93a7f4ec66739ba016fb45426">toStringFull</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> <span class="comment">  /// \brief Helper function used by the constructors of ContextFrame.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment"></span>  ArgStream pushContextFrame(<a class="code" href="classclang_1_1ast__matchers_1_1dynamic_1_1Diagnostics.html#a06898b1fa4fb4b9df09343c3dee7f490" title="Parser context types.">ContextType</a> <a class="code" href="classclang_1_1Type.html">Type</a>, <a class="code" href="structclang_1_1ast__matchers_1_1dynamic_1_1SourceRange.html">SourceRange</a> Range);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   std::vector<ContextFrame> ContextStack;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   std::vector<ErrorContent> Errors;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> };</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> }  <span class="comment">// namespace dynamic</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> }  <span class="comment">// namespace ast_matchers</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> }  <span class="comment">// namespace clang</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="preprocessor">#endif  // LLVM_CLANG_AST_MATCHERS_DYNAMIC_DIAGNOSTICS_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:34 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DirectIvarAssignment_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DirectIvarAssignment_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DirectIvarAssignment_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/DirectIvarAssignment_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="clang,LLVM,Low Level Virtual Machine,C,C++,doxygen,API,frontend,documentation"/>
+<meta name="description" content="C++ source code API documentation for clang."/>
+<title>clang: DirectIvarAssignment.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem"