[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/SerializationDiagnostic_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializationDiagnostic_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializationDiagnostic_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializationDiagnostic_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,107 @@
+<!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: SerializationDiagnostic.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_0dc2050340a96003388a0ee3c6e6b064.html">Serialization</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SerializationDiagnostic.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SerializationDiagnostic_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">//===--- SerializationDiagnostic.h - Serialization 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">#ifndef LLVM_CLANG_SERIALIZATIONDIAGNOSTIC_H</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_SERIALIZATIONDIAGNOSTIC_H</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</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="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>   <span class="keyword">namespace </span>diag {</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>     <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="code" href="SerializationDiagnostic_8h.html#a628471a2bdbc3c1b61ce5b3b44f8bd20">   18</a></span> <span class="preprocessor">#define DIAG(ENUM,FLAGS,DEFAULT_MAPPING,DESC,GROUP,\</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">             SFINAE,NOWERROR,SHOWINSYSHEADER,CATEGORY) ENUM,</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="SerializationDiagnostic_8h.html#a177960e1a1916632dd7dd6d099fa5b29">   20</a></span> <span class="preprocessor"></span><span class="preprocessor">#define SERIALIZATIONSTART</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="DiagnosticSerializationKinds_8inc.html">clang/Basic/DiagnosticSerializationKinds.inc</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#undef DIAG</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="namespaceclang_1_1diag.html#adcf10752f419a321977f879735321139afb32f1cc218d1d96ef27ccdff1aad999">   23</a></span> <span class="preprocessor"></span>      NUM_BUILTIN_SERIALIZATION_DIAGNOSTICS</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>     };</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   }  <span class="comment">// end namespace diag</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> }  <span class="comment">// end namespace clang</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="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:09 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/Serialization_2Module_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Module_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Module_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Module_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,201 @@
+<!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: Module.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_76f5807b435ffff72c67c480f0b9aa5b.html">Serialization</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Serialization/Module.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Serialization_2Module_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">//===--- Module.cpp - Module description ------------------------*- 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> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file implements the Module class, which describes a module that has</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  been loaded from an AST file.</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></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="Serialization_2Module_8h.html">clang/Serialization/Module.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="ASTReaderInternals_8h.html">ASTReaderInternals.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "llvm/Support/MemoryBuffer.h"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">using namespace </span>serialization;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">using namespace </span>reader;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0eaa1d3931e01ef4456e40b0003c422c">   23</a></span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0eaa1d3931e01ef4456e40b0003c422c">ModuleFile::ModuleFile</a>(<a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1e" title="Specifies the kind of module that has been loaded.">ModuleKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, <span class="keywordtype">unsigned</span> Generation)</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   : Kind(Kind), File(0), DirectlyImported(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>     Generation(Generation), SizeInBits(0),</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>     LocalNumSLocEntries(0), SLocEntryBaseID(0),</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>     SLocEntryBaseOffset(0), SLocEntryOffsets(0),</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>     LocalNumIdentifiers(0),</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>     IdentifierOffsets(0), BaseIdentifierID(0), IdentifierTableData(0),</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>     IdentifierLookupTable(0),</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>     LocalNumMacros(0), MacroOffsets(0),</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>     BasePreprocessedEntityID(0),</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>     PreprocessedEntityOffsets(0), NumPreprocessedEntities(0),</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>     LocalNumHeaderFileInfos(0), </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>     HeaderFileInfoTableData(0), HeaderFileInfoTable(0),</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>     LocalNumSubmodules(0), BaseSubmoduleID(0),</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>     LocalNumSelectors(0), SelectorOffsets(0), BaseSelectorID(0),</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     SelectorLookupTableData(0), SelectorLookupTable(0), LocalNumDecls(0),</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     DeclOffsets(0), BaseDeclID(0),</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     LocalNumCXXBaseSpecifiers(0), CXXBaseSpecifiersOffsets(0),</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     FileSortedDecls(0), NumFileSortedDecls(0),</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     RedeclarationsMap(0), LocalNumRedeclarationsInMap(0),</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     ObjCCategoriesMap(0), LocalNumObjCCategoriesInMap(0),</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     LocalNumTypes(0), TypeOffsets(0), BaseTypeIndex(0)</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> {}</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2f8983e6d441c9427a5b0e3a935b649d">   47</a></span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2f8983e6d441c9427a5b0e3a935b649d">ModuleFile::~ModuleFile</a>() {</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   <span class="keywordflow">for</span> (DeclContextInfosMap::iterator I = <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4addb09fd6d133334c85ed46c17eadc1" title="Information about the lexical and visible declarations for each DeclContext.">DeclContextInfos</a>.begin(),</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>        E = <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4addb09fd6d133334c85ed46c17eadc1" title="Information about the lexical and visible declarations for each DeclContext.">DeclContextInfos</a>.end();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>     <span class="keywordflow">if</span> (I->second.NameLookupTableData)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>       <span class="keyword">delete</span> I->second.NameLookupTableData;</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>   </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <span class="keyword">delete</span> <span class="keyword">static_cast<</span><a class="code" href="classclang_1_1OnDiskChainedHashTable.html">ASTIdentifierLookupTable</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a099108c0f23448bdc4580da0374815fd" title="A pointer to an on-disk hash table of opaque type IdentifierHashTable.">IdentifierLookupTable</a>);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   <span class="keyword">delete</span> <span class="keyword">static_cast<</span><a class="code" href="classclang_1_1OnDiskChainedHashTable.html">HeaderFileInfoLookupTable</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a97deb9d720995b99129ad72a91140655" title="The on-disk hash table that contains information about each of the header files.">HeaderFileInfoTable</a>);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   <span class="keyword">delete</span> <span class="keyword">static_cast<</span><a class="code" href="classclang_1_1OnDiskChainedHashTable.html">ASTSelectorLookupTable</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0c1aeedc3c6832cfea36bb27c5d5436f" title="A pointer to an on-disk hash table of opaque type ASTSelectorLookupTable.">SelectorLookupTable</a>);</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> </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="keyword">template</span><<span class="keyword">typename</span> Key, <span class="keyword">typename</span> Offset, <span class="keywordtype">unsigned</span> InitialCapacity></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">   62</a></span> <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(StringRef Name,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>                <span class="keyword">const</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">ContinuousRangeMap<Key, Offset, InitialCapacity></a> &<a class="code" href="namespaceclang_1_1LangAS.html#a241b6fc974438ba623ec877f2b294f0c">Map</a>) {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="keywordflow">if</span> (Map.<a class="code" href="classclang_1_1ContinuousRangeMap.html#aa30ffcf77e63a0506b422dc23d7a68e7">begin</a>() == Map.<a class="code" href="classclang_1_1ContinuousRangeMap.html#ab41da90d6c752df09de12361c3d2b978">end</a>())</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>     <span class="keywordflow">return</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">   67</span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">ContinuousRangeMap<Key, Offset, InitialCapacity></a> MapType;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   llvm::errs() << <span class="stringliteral">"  "</span> << Name << <span class="stringliteral">":\n"</span>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keywordflow">for</span> (<span class="keyword">typename</span> MapType::const_iterator I = Map.<a class="code" href="classclang_1_1ContinuousRangeMap.html#aa30ffcf77e63a0506b422dc23d7a68e7">begin</a>(), IEnd = Map.<a class="code" href="classclang_1_1ContinuousRangeMap.html#ab41da90d6c752df09de12361c3d2b978">end</a>(); </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>        I != IEnd; ++I) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     llvm::errs() << <span class="stringliteral">"    "</span> << I->first << <span class="stringliteral">" -> "</span> << I->second << <span class="stringliteral">"\n"</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">   73</span> }</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7c9116bde62a5005e2fa65909679ae8b">   75</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7c9116bde62a5005e2fa65909679ae8b" title="Dump debugging output for this module.">ModuleFile::dump</a>() {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>   llvm::errs() << <span class="stringliteral">"\nModule: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa4695cae700072908654c579d193ddf1" title="The file name of the module file.">FileName</a> << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ab155dc8c7dd06ea3731b00dc7a6b72b9" title="List of modules which this module depends on.">Imports</a>.empty()) {</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     llvm::errs() << <span class="stringliteral">"  Imports: "</span>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, N = <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ab155dc8c7dd06ea3731b00dc7a6b72b9" title="List of modules which this module depends on.">Imports</a>.size(); I != N; ++I) {</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>       <span class="keywordflow">if</span> (I)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>         llvm::errs() << <span class="stringliteral">", "</span>;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>       llvm::errs() << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ab155dc8c7dd06ea3731b00dc7a6b72b9" title="List of modules which this module depends on.">Imports</a>[I]->FileName;</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>     llvm::errs() << <span class="stringliteral">"\n"</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">   86</span>   </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <span class="comment">// Remapping tables.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   llvm::errs() << <span class="stringliteral">"  Base source location offset: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a266aead6709f78618f9fa0d3379c04a5" title="The base offset in the source manager's view of this module.">SLocEntryBaseOffset</a> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>                << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Source location offset local -> global map"</span>, <a class="code" href="classclang_1_1ContinuousRangeMap.html" title="A map from continuous integer ranges to some value, with a very specialized interface.">SLocRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base identifier ID: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a04eb7f504a0c749d71088e5f3ef702a6" title="Base identifier ID for identifiers local to this module.">BaseIdentifierID</a> << <span class="charliteral">'\n'</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>                << <span class="stringliteral">"  Number of identifiers: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4976ed85982b6c189e2fbf601fc3742e" title="The number of identifiers in this AST file.">LocalNumIdentifiers</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Identifier ID local -> global map"</span>, <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6c41e226bb29c7a711a258666efd413c" title="Remapping table for identifier IDs in this module.">IdentifierRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base macro ID: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af7f8e81b24632be9c686b4afeee7032f" title="Base macro ID for macros local to this module.">BaseMacroID</a> << <span class="charliteral">'\n'</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>                << <span class="stringliteral">"  Number of macros: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ac829305942634ea126e8f65baa74581a" title="The number of macros in this AST file.">LocalNumMacros</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Macro ID local -> global map"</span>, <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae2c4140607f1aebf9fac47a92ee9e238" title="Remapping table for macro IDs in this module.">MacroRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base submodule ID: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9c762eeaadd60fa0bb2ba52203ec732d" title="Base submodule ID for submodules local to this module.">BaseSubmoduleID</a> << <span class="charliteral">'\n'</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>                << <span class="stringliteral">"  Number of submodules: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6f052c25afb11351df385649dfa1003a" title="The number of submodules in this module.">LocalNumSubmodules</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Submodule ID local -> global map"</span>, <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae8b74531ec46fec75e44810ffd3b6d14" title="Remapping table for submodule IDs in this module.">SubmoduleRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base selector ID: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a3c132169012397a7a4ad3d01ba0450" title="Base selector ID for selectors local to this module.">BaseSelectorID</a> << <span class="charliteral">'\n'</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>                << <span class="stringliteral">"  Number of selectors: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af087a823fe1f210ae12ba27d5f0e9d16" title="The number of selectors new to this file.">LocalNumSelectors</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Selector ID local -> global map"</span>, <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#add3e89466528124203634290a45375b8" title="Remapping table for selector IDs in this module.">SelectorRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base preprocessed entity ID: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a383cdaa147bcd5f308515de570ad4e11" title="Base preprocessed entity ID for preprocessed entities local to this module.">BasePreprocessedEntityID</a></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>                << <span class="charliteral">'\n'</span>  </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>                << <span class="stringliteral">"  Number of preprocessed entities: "</span> </div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>                << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a88ac4827bc99f652cf652f509b1e2143">NumPreprocessedEntities</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Preprocessed entity ID local -> global map"</span>, </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>                  <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1d1b2f81270e8fcbaacccf1dde69eeeb" title="Remapping table for preprocessed entity IDs in this module.">PreprocessedEntityRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base type index: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a386334eee0ebf53b12c1fa31ce6a0243" title="Base type ID for types local to this module as represented in the global type ID space.">BaseTypeIndex</a> << <span class="charliteral">'\n'</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>                << <span class="stringliteral">"  Number of types: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa2ea4f143667d97c33d124f9e684a91a" title="The number of types in this AST file.">LocalNumTypes</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Type index local -> global map"</span>, <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a624cffa8cb20fc80d5c71dbc0a953595" title="Remapping table for type IDs in this module.">TypeRemap</a>);</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>   llvm::errs() << <span class="stringliteral">"  Base decl ID: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0aa5dd6fb74fef27b397abba6016c0e3" title="Base declaration ID for declarations local to this module.">BaseDeclID</a> << <span class="charliteral">'\n'</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>                << <span class="stringliteral">"  Number of decls: "</span> << <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad162ef94b3bd68b721226cf90233bfed" title="The number of declarations in this AST file.">LocalNumDecls</a> << <span class="charliteral">'\n'</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <a class="code" href="Serialization_2Module_8cpp.html#adf3137c1972fc6fd830b17d2e6ce7372">dumpLocalRemap</a>(<span class="stringliteral">"Decl ID local -> global map"</span>, <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2aa112718567b3278b5510ecc187845d" title="Remapping table for declaration IDs in this module.">DeclRemap</a>);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:43 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/Serialization_2Module_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Module_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Module_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Module_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,518 @@
+<!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: Module.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_0dc2050340a96003388a0ee3c6e6b064.html">Serialization</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Serialization/Module.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Serialization_2Module_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">//===--- Module.h - Module description --------------------------*- 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> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines the Module class, which describes a module that has</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  been loaded from an AST file.</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></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_SERIALIZATION_MODULE_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_SERIALIZATION_MODULE_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="SourceLocation_8h.html" title="Defines the clang::SourceLocation class and associated facilities.">clang/Basic/SourceLocation.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="ASTBitCodes_8h.html">clang/Serialization/ASTBitCodes.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="ContinuousRangeMap_8h.html">clang/Serialization/ContinuousRangeMap.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/OwningPtr.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/SetVector.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/Bitcode/BitstreamReader.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">namespace </span>clang {</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">class </span>FileEntry;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">class </span>DeclContext;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">class </span>Module;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">template</span><<span class="keyword">typename</span> Info> <span class="keyword">class </span>OnDiskChainedHashTable;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="keyword">namespace </span>serialization {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">namespace </span>reader {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">class </span>ASTDeclContextNameLookupTrait;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment">/// \brief Specifies the kind of module that has been loaded.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1e">   40</a></span> <span class="comment"></span><span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1e" title="Specifies the kind of module that has been loaded.">ModuleKind</a> {</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea22e2f1dba8920d73cd2979ca1e17a097">   41</a></span>   <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea22e2f1dba8920d73cd2979ca1e17a097" title="File is a module proper.">MK_Module</a>,   <span class="comment">///< File is a module proper.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea3be10581dcaa249a8ba0d5c740b18e49">   42</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea3be10581dcaa249a8ba0d5c740b18e49" title="File is a PCH file treated as such.">MK_PCH</a>,      <span class="comment">///< File is a PCH file treated as such.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea53fc1233721074698c4b1ff9b78cc35d">   43</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea53fc1233721074698c4b1ff9b78cc35d" title="File is a PCH file treated as the preamble.">MK_Preamble</a>, <span class="comment">///< File is a PCH file treated as the preamble.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea56f9f6ae59033d66f4f50e4fb149cce3">   44</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1ea56f9f6ae59033d66f4f50e4fb149cce3" title="File is a PCH file treated as the actual main file.">MK_MainFile</a>  <span class="comment">///< File is a PCH file treated as the actual main file.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment"></span>};</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment"></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">/// \brief Information about the contents of a DeclContext.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html">   48</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html" title="Information about the contents of a DeclContext.">DeclContextInfo</a> {</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a8a524fc87df57528c1f2079278b834cd">   49</a></span>   <a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a8a524fc87df57528c1f2079278b834cd">DeclContextInfo</a>()</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     : <a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a3dfe1cddd1056baefe2a417fc362b939">NameLookupTableData</a>(), <a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a3e5586305c548b9f63f5867a4c89a067">LexicalDecls</a>(), <a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a5074c0c79ca01bb98fee249dded6efaa">NumLexicalDecls</a>() {}</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>   <a class="code" href="classclang_1_1OnDiskChainedHashTable.html">OnDiskChainedHashTable<reader::ASTDeclContextNameLookupTrait></a></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a3dfe1cddd1056baefe2a417fc362b939">   53</a></span>     *<a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a3dfe1cddd1056baefe2a417fc362b939">NameLookupTableData</a>; <span class="comment">// an ASTDeclContextNameLookupTable.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a3e5586305c548b9f63f5867a4c89a067">   54</a></span>   <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1serialization.html#ae7d1e33c5193ac34820dcfeefe66c403" title="a Decl::Kind/DeclID pair.">KindDeclIDPair</a> *<a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a3e5586305c548b9f63f5867a4c89a067">LexicalDecls</a>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a5074c0c79ca01bb98fee249dded6efaa">   55</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1serialization_1_1DeclContextInfo.html#a5074c0c79ca01bb98fee249dded6efaa">NumLexicalDecls</a>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> };</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 input file that has been loaded from this AST file, along with</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">/// bools indicating whether this was an overridden buffer or if it was</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">/// out-of-date.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1InputFile.html">   61</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1serialization_1_1InputFile.html" title="The input file that has been loaded from this AST file, along with bools indicating whether this was ...">InputFile</a> {</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>     Overridden = 1,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>     OutOfDate = 2</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>   llvm::PointerIntPair<const FileEntry *, 2, unsigned> Val;</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> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1InputFile.html#a2841cefd8949e0eed8ffb049b4c96f75">   69</a></span>   <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a2841cefd8949e0eed8ffb049b4c96f75">InputFile</a>() {}</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1InputFile.html#a526c6577c74e83c5421f3aead8642776">   70</a></span>   <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a2841cefd8949e0eed8ffb049b4c96f75">InputFile</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *File,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>             <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a85463bfbc14a86d276284c7a89bff6c5">isOverridden</a> = <span class="keyword">false</span>, <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a12333867a2f67dc2e8116e327c3f6a06">isOutOfDate</a> = <span class="keyword">false</span>) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>     assert(!(<a class="code" href="classclang_1_1serialization_1_1InputFile.html#a85463bfbc14a86d276284c7a89bff6c5">isOverridden</a> && <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a12333867a2f67dc2e8116e327c3f6a06">isOutOfDate</a>) &&</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>            <span class="stringliteral">"an overridden cannot be out-of-date"</span>);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>     <span class="keywordtype">unsigned</span> intVal = 0;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1serialization_1_1InputFile.html#a85463bfbc14a86d276284c7a89bff6c5">isOverridden</a>)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>       intVal = Overridden;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1serialization_1_1InputFile.html#a12333867a2f67dc2e8116e327c3f6a06">isOutOfDate</a>)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>       intVal = OutOfDate;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     Val.setPointerAndInt(File, intVal);</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_1serialization_1_1InputFile.html#af139fbaa1651e96cb0d107853f31adc3">   82</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *<a class="code" href="classclang_1_1serialization_1_1InputFile.html#af139fbaa1651e96cb0d107853f31adc3">getFile</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Val.getPointer(); }</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1InputFile.html#a85463bfbc14a86d276284c7a89bff6c5">   83</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a85463bfbc14a86d276284c7a89bff6c5">isOverridden</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Val.getInt() == Overridden; }</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1InputFile.html#a12333867a2f67dc2e8116e327c3f6a06">   84</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1InputFile.html#a12333867a2f67dc2e8116e327c3f6a06">isOutOfDate</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Val.getInt() == OutOfDate; }</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> <span class="comment"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">/// \brief Information about a module that has been loaded by the ASTReader.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">/// Each instance of the Module class corresponds to a single AST file, which</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment">/// may be a precompiled header, precompiled preamble, a module, or an AST file</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> <span class="comment">/// of some sort loaded as the main file, all of which are specific formulations</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="comment">/// of the general notion of a "module". A module may depend on any number of</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> <span class="comment">/// other modules.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html">   94</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html" title="Information about a module that has been loaded by the ASTReader.">ModuleFile</a> {</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0eaa1d3931e01ef4456e40b0003c422c">ModuleFile</a>(<a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1e" title="Specifies the kind of module that has been loaded.">ModuleKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad7c8f7bed99c36ef2c306571bffaf84d" title="The generation of which this module file is a part.">Generation</a>);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2f8983e6d441c9427a5b0e3a935b649d">~ModuleFile</a>();</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   <span class="comment">// === General information ===</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment"></span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">  /// \brief The index of this module in the list of modules.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a99c4a02d851e2d61edf4787b6ecd7ac6">  102</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a99c4a02d851e2d61edf4787b6ecd7ac6" title="The index of this module in the list of modules.">Index</a>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment">  /// \brief The type of this module.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af0cdb3be9cdc29ae4a8f351ab0f91083">  105</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#ac4e913a3b4b4721b8995cb7dd6d9bb1e" title="Specifies the kind of module that has been loaded.">ModuleKind</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af0cdb3be9cdc29ae4a8f351ab0f91083" title="The type of this module.">Kind</a>;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">  /// \brief The file name of the module file.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa4695cae700072908654c579d193ddf1">  108</a></span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa4695cae700072908654c579d193ddf1" title="The file name of the module file.">FileName</a>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  /// \brief The original source file name that was used to build the</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">  /// primary AST file, which may have been modified for</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment">  /// relocatable-pch support.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7c37b6bbb642934c7a46f23de50c3d31">  113</a></span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7c37b6bbb642934c7a46f23de50c3d31" title="The original source file name that was used to build the primary AST file, which may have been modifi...">OriginalSourceFileName</a>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment"></span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment">  /// \brief The actual original source file name that was used to</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">  /// build this AST file.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6b9e302ed602f10489b3870ca6b391ff">  117</a></span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6b9e302ed602f10489b3870ca6b391ff" title="The actual original source file name that was used to build this AST file.">ActualOriginalSourceFileName</a>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">  /// \brief The file ID for the original source file that was used to</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  /// build this AST file.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a69063be6a4ddfc35ee43e5a74fe667f1">  121</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a69063be6a4ddfc35ee43e5a74fe667f1" title="The file ID for the original source file that was used to build this AST file.">OriginalSourceFileID</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment"></span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment">  /// \brief The directory that the PCH was originally created in. Used to</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">  /// allow resolving headers even after headers+PCH was moved to a new path.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a81ac3d0655d10834d411d6d1936eced2">  125</a></span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a81ac3d0655d10834d411d6d1936eced2" title="The directory that the PCH was originally created in. Used to allow resolving headers even after head...">OriginalDir</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 Whether this precompiled header is a relocatable PCH file.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a8c2bedf1f55c8ccd4c75061fa317cfb5">  128</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a8c2bedf1f55c8ccd4c75061fa317cfb5" title="Whether this precompiled header is a relocatable PCH file.">RelocatablePCH</a>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment"></span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">  /// \brief The file entry for the module file.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9e7181984c55ffe2c7257eac8b3bfb0f">  131</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9e7181984c55ffe2c7257eac8b3bfb0f" title="The file entry for the module file.">File</a>;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">  /// \brief Whether this module has been directly imported by the</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">  /// user.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0aa7d4bc270733be4fbce61304ca4ba3">  135</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0aa7d4bc270733be4fbce61304ca4ba3" title="Whether this module has been directly imported by the user.">DirectlyImported</a>;</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">  /// \brief The generation of which this module file is a part.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad7c8f7bed99c36ef2c306571bffaf84d">  138</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad7c8f7bed99c36ef2c306571bffaf84d" title="The generation of which this module file is a part.">Generation</a>;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">  /// \brief The memory buffer that stores the data associated with</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment">  /// this AST file.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7366b7f14af0a3dafd132121d7e068e6">  142</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<llvm::MemoryBuffer></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7366b7f14af0a3dafd132121d7e068e6" title="The memory buffer that stores the data associated with this AST file.">Buffer</a>;</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">  /// \brief The size of this file, in bits.</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9d2fd93544554f2a3f3f59b4d2e8cc06">  145</a></span> <span class="comment"></span>  uint64_t <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9d2fd93544554f2a3f3f59b4d2e8cc06" title="The size of this file, in bits.">SizeInBits</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment">  /// \brief The global bit offset (or base) of this module</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa0b03dd7f127ce40bbcd76e8d19e395c">  148</a></span> <span class="comment"></span>  uint64_t <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa0b03dd7f127ce40bbcd76e8d19e395c" title="The global bit offset (or base) of this module.">GlobalBitOffset</a>;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment">  /// \brief The bitstream reader from which we'll read the AST file.</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad51550e8d8668e6b76b2149ca12ef1b1">  151</a></span> <span class="comment"></span>  llvm::BitstreamReader <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad51550e8d8668e6b76b2149ca12ef1b1" title="The bitstream reader from which we'll read the AST file.">StreamFile</a>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> <span class="comment"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> <span class="comment">  /// \brief The main bitstream cursor for the main block.</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9bf07827f9d6d5220e6a2a081ddfa5c3">  154</a></span> <span class="comment"></span>  llvm::BitstreamCursor <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9bf07827f9d6d5220e6a2a081ddfa5c3" title="The main bitstream cursor for the main block.">Stream</a>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="comment"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> <span class="comment">  /// \brief The source location where the module was explicitly or implicitly</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment">  /// imported in the local translation unit.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment">  /// If module A depends on and imports module B, both modules will have the</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment">  /// same DirectImportLoc, but different ImportLoc (B's ImportLoc will be a</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment">  /// source location inside module A).</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1552be19be2b92359da4aaccbe1e9e2b">  162</a></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> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1552be19be2b92359da4aaccbe1e9e2b" title="The source location where the module was explicitly or implicitly imported in the local translation u...">DirectImportLoc</a>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">  /// \brief The source location where this module was first imported.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5f1751f45ef511e48bcde792b499c129">  165</a></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> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5f1751f45ef511e48bcde792b499c129" title="The source location where this module was first imported.">ImportLoc</a>;</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 The first source location in this module.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a72a8a3184f955bdc2b49467831e876d3">  168</a></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> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a72a8a3184f955bdc2b49467831e876d3" title="The first source location in this module.">FirstLoc</a>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>   <span class="comment">// === Input Files ===</span><span class="comment"></span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> <span class="comment">  /// \brief The cursor to the start of the input-files block.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5668b2d15adb91f95d754990951bd50a">  172</a></span> <span class="comment"></span>  llvm::BitstreamCursor <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5668b2d15adb91f95d754990951bd50a" title="The cursor to the start of the input-files block.">InputFilesCursor</a>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> <span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> <span class="comment">  /// \brief Offsets for all of the input file entries in the AST file.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a80c7bb0509abfacb08c50ce9db32546f">  175</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a80c7bb0509abfacb08c50ce9db32546f" title="Offsets for all of the input file entries in the AST file.">InputFileOffsets</a>;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> <span class="comment"></span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment">  /// \brief The input files that have been loaded from this AST file.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a22b53dc60ad93b27138fd9c56dcfe9">  178</a></span> <span class="comment"></span>  std::vector<InputFile> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a22b53dc60ad93b27138fd9c56dcfe9" title="The input files that have been loaded from this AST file.">InputFilesLoaded</a>;</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>   <span class="comment">// === Source Locations ===</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment">  /// \brief Cursor used to read source location entries.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a8453f32b58d07c1c8ca54b03dd2a0ec8">  183</a></span> <span class="comment"></span>  llvm::BitstreamCursor <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a8453f32b58d07c1c8ca54b03dd2a0ec8" title="Cursor used to read source location entries.">SLocEntryCursor</a>;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">  /// \brief The number of source location entries in this AST file.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a97b8d484b8843c41c4004f6f4637bb23">  186</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a97b8d484b8843c41c4004f6f4637bb23" title="The number of source location entries in this AST file.">LocalNumSLocEntries</a>;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="comment"></span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="comment">  /// \brief The base ID in the source manager's view of this module.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a297d42d659d9fd8b19a32dd167b637da">  189</a></span> <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a297d42d659d9fd8b19a32dd167b637da" title="The base ID in the source manager's view of this module.">SLocEntryBaseID</a>;</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 The base offset in the source manager's view of this module.</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a266aead6709f78618f9fa0d3379c04a5">  192</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a266aead6709f78618f9fa0d3379c04a5" title="The base offset in the source manager's view of this module.">SLocEntryBaseOffset</a>;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> <span class="comment"></span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  /// \brief Offsets for all of the source location entries in the</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment">  /// AST file.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a65cf8b1b1a21154e599d507a42413bbd">  196</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a65cf8b1b1a21154e599d507a42413bbd" title="Offsets for all of the source location entries in the AST file.">SLocEntryOffsets</a>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment"></span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment">  /// \brief SLocEntries that we're going to preload.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4a3a6a4677b2dcfc0859628ceb42d08b">  199</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<uint64_t, 4></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4a3a6a4677b2dcfc0859628ceb42d08b" title="SLocEntries that we're going to preload.">PreloadSLocEntries</a>;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="comment"></span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment">  /// \brief Remapping table for source locations in this module.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2e8fed7e615e8cf799e6f6dcd9e0c7cb">  202</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2e8fed7e615e8cf799e6f6dcd9e0c7cb" title="Remapping table for source locations in this module.">SLocRemap</a>;</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>   <span class="comment">// === Identifiers ===</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="comment"></span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">  /// \brief The number of identifiers in this AST file.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4976ed85982b6c189e2fbf601fc3742e">  207</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4976ed85982b6c189e2fbf601fc3742e" title="The number of identifiers in this AST file.">LocalNumIdentifiers</a>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="comment"></span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment">  /// \brief Offsets into the identifier table data.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment">  /// This array is indexed by the identifier ID (-1), and provides</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment">  /// the offset into IdentifierTableData where the string data is</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> <span class="comment">  /// stored.</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad9ed1ca9e211cee3858128dcbd858ce8">  214</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad9ed1ca9e211cee3858128dcbd858ce8" title="Offsets into the identifier table data.">IdentifierOffsets</a>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> <span class="comment"></span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> <span class="comment">  /// \brief Base identifier ID for identifiers local to this module.</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a04eb7f504a0c749d71088e5f3ef702a6">  217</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#aa7a1e72ed4b332bf9f49c7410e175cad" title="An ID number that refers to an identifier in an AST file.">serialization::IdentID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a04eb7f504a0c749d71088e5f3ef702a6" title="Base identifier ID for identifiers local to this module.">BaseIdentifierID</a>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment"></span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="comment">  /// \brief Remapping table for identifier IDs in this module.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6c41e226bb29c7a711a258666efd413c">  220</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6c41e226bb29c7a711a258666efd413c" title="Remapping table for identifier IDs in this module.">IdentifierRemap</a>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> <span class="comment"></span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment">  /// \brief Actual data for the on-disk hash table of identifiers.</span></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">  /// This pointer points into a memory buffer, where the on-disk hash</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> <span class="comment">  /// table for identifiers actually lives.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a800afe7babfa37e17dcf55bc650a9027">  226</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a800afe7babfa37e17dcf55bc650a9027" title="Actual data for the on-disk hash table of identifiers.">IdentifierTableData</a>;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="comment"></span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">  /// \brief A pointer to an on-disk hash table of opaque type</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment">  /// IdentifierHashTable.</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a099108c0f23448bdc4580da0374815fd">  230</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a099108c0f23448bdc4580da0374815fd" title="A pointer to an on-disk hash table of opaque type IdentifierHashTable.">IdentifierLookupTable</a>;</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>   <span class="comment">// === Macros ===</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment"></span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> <span class="comment">  /// \brief The cursor to the start of the preprocessor block, which stores</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="comment">  /// all of the macro definitions.</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a68fd8cd6abb5eb0a61ec754e5a641b39">  236</a></span> <span class="comment"></span>  llvm::BitstreamCursor <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a68fd8cd6abb5eb0a61ec754e5a641b39" title="The cursor to the start of the preprocessor block, which stores all of the macro definitions.">MacroCursor</a>;</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment"></span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> <span class="comment">  /// \brief The number of macros in this AST file.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ac829305942634ea126e8f65baa74581a">  239</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ac829305942634ea126e8f65baa74581a" title="The number of macros in this AST file.">LocalNumMacros</a>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> <span class="comment"></span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> <span class="comment">  /// \brief Offsets of macros in the preprocessor block.</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> <span class="comment">  /// This array is indexed by the macro ID (-1), and provides</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> <span class="comment">  /// the offset into the preprocessor block where macro definitions are</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> <span class="comment">  /// stored.</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae5b92e20646ec7a32fa42287971dcbc4">  246</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae5b92e20646ec7a32fa42287971dcbc4" title="Offsets of macros in the preprocessor block.">MacroOffsets</a>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="comment"></span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> <span class="comment">  /// \brief Base macro ID for macros local to this module.</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af7f8e81b24632be9c686b4afeee7032f">  249</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#aa45d728abd3462ec39bbf90af1efb7dc" title="An ID number that refers to a macro in an AST file.">serialization::MacroID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af7f8e81b24632be9c686b4afeee7032f" title="Base macro ID for macros local to this module.">BaseMacroID</a>;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> <span class="comment"></span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> <span class="comment">  /// \brief Remapping table for macro IDs in this module.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae2c4140607f1aebf9fac47a92ee9e238">  252</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae2c4140607f1aebf9fac47a92ee9e238" title="Remapping table for macro IDs in this module.">MacroRemap</a>;</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 The offset of the start of the set of defined macros.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ac42cb7ca9c49596ada5eb0b3641cceeb">  255</a></span> <span class="comment"></span>  uint64_t <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ac42cb7ca9c49596ada5eb0b3641cceeb" title="The offset of the start of the set of defined macros.">MacroStartOffset</a>;</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>   <span class="comment">// === Detailed PreprocessingRecord ===</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> <span class="comment"></span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> <span class="comment">  /// \brief The cursor to the start of the (optional) detailed preprocessing</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> <span class="comment">  /// record block.</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aaac67f3a1b875432959852cccd0407b6">  261</a></span> <span class="comment"></span>  llvm::BitstreamCursor <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aaac67f3a1b875432959852cccd0407b6" title="The cursor to the start of the (optional) detailed preprocessing record block.">PreprocessorDetailCursor</a>;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> <span class="comment"></span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> <span class="comment">  /// \brief The offset of the start of the preprocessor detail cursor.</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6d00db01210e8a12c015880c3954af95">  264</a></span> <span class="comment"></span>  uint64_t <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6d00db01210e8a12c015880c3954af95" title="The offset of the start of the preprocessor detail cursor.">PreprocessorDetailStartOffset</a>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="comment"></span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> <span class="comment">  /// \brief Base preprocessed entity ID for preprocessed entities local to</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> <span class="comment">  /// this module.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a383cdaa147bcd5f308515de570ad4e11">  268</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#a69b0c2eae71e4e80def76ebd48d75957" title="An ID number that refers to an entity in the detailed preprocessing record.">serialization::PreprocessedEntityID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a383cdaa147bcd5f308515de570ad4e11" title="Base preprocessed entity ID for preprocessed entities local to this module.">BasePreprocessedEntityID</a>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> <span class="comment"></span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> <span class="comment">  /// \brief Remapping table for preprocessed entity IDs in this module.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1d1b2f81270e8fcbaacccf1dde69eeeb">  271</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1d1b2f81270e8fcbaacccf1dde69eeeb" title="Remapping table for preprocessed entity IDs in this module.">PreprocessedEntityRemap</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"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a021e8c5e97c6e88b54b7ab41b68b178a">  273</a></span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1serialization_1_1PPEntityOffset.html" title="Source range/offset of a preprocessed entity.">PPEntityOffset</a> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a021e8c5e97c6e88b54b7ab41b68b178a">PreprocessedEntityOffsets</a>;</div>
+<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a88ac4827bc99f652cf652f509b1e2143">  274</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a88ac4827bc99f652cf652f509b1e2143">NumPreprocessedEntities</a>;</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">// === Header search information ===</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 The number of local HeaderFileInfo structures.</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad4b3dc37568265cd07956a4fafc472f3">  279</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad4b3dc37568265cd07956a4fafc472f3" title="The number of local HeaderFileInfo structures.">LocalNumHeaderFileInfos</a>;</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 Actual data for the on-disk hash table of header file</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> <span class="comment">  /// information.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> <span class="comment">  /// This pointer points into a memory buffer, where the on-disk hash</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> <span class="comment">  /// table for header file information actually lives.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5c1c4d3beedf16c42ef78754e5b13d76">  286</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5c1c4d3beedf16c42ef78754e5b13d76" title="Actual data for the on-disk hash table of header file information.">HeaderFileInfoTableData</a>;</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 The on-disk hash table that contains information about each of</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> <span class="comment">  /// the header files.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a97deb9d720995b99129ad72a91140655">  290</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a97deb9d720995b99129ad72a91140655" title="The on-disk hash table that contains information about each of the header files.">HeaderFileInfoTable</a>;</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>   <span class="comment">// === Submodule information ===  </span><span class="comment"></span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> <span class="comment">  /// \brief The number of submodules in this module.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6f052c25afb11351df385649dfa1003a">  294</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a6f052c25afb11351df385649dfa1003a" title="The number of submodules in this module.">LocalNumSubmodules</a>;</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 Base submodule ID for submodules local to this module.</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9c762eeaadd60fa0bb2ba52203ec732d">  297</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#a4bd106e4761bfc2a1b2ba41b391d3073" title="An ID number that refers to a submodule in a module file.">serialization::SubmoduleID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9c762eeaadd60fa0bb2ba52203ec732d" title="Base submodule ID for submodules local to this module.">BaseSubmoduleID</a>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> <span class="comment">  /// \brief Remapping table for submodule IDs in this module.</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae8b74531ec46fec75e44810ffd3b6d14">  300</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae8b74531ec46fec75e44810ffd3b6d14" title="Remapping table for submodule IDs in this module.">SubmoduleRemap</a>;</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="comment">// === Selectors ===</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> <span class="comment"></span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> <span class="comment">  /// \brief The number of selectors new to this file.</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> <span class="comment">  /// This is the number of entries in SelectorOffsets.</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af087a823fe1f210ae12ba27d5f0e9d16">  307</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af087a823fe1f210ae12ba27d5f0e9d16" title="The number of selectors new to this file.">LocalNumSelectors</a>;</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">  /// \brief Offsets into the selector lookup table's data array</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="comment">  /// where each selector resides.</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9021e0ac7bdab5904a06b43ab0eae00d">  311</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a9021e0ac7bdab5904a06b43ab0eae00d" title="Offsets into the selector lookup table's data array where each selector resides.">SelectorOffsets</a>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> <span class="comment"></span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> <span class="comment">  /// \brief Base selector ID for selectors local to this module.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a3c132169012397a7a4ad3d01ba0450">  314</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#a79d7521f50e764df679984a7df6bbd9c" title="An ID number that refers to an ObjC selector in an AST file.">serialization::SelectorID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a3c132169012397a7a4ad3d01ba0450" title="Base selector ID for selectors local to this module.">BaseSelectorID</a>;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> <span class="comment"></span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> <span class="comment">  /// \brief Remapping table for selector IDs in this module.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#add3e89466528124203634290a45375b8">  317</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#add3e89466528124203634290a45375b8" title="Remapping table for selector IDs in this module.">SelectorRemap</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> <span class="comment"></span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> <span class="comment">  /// \brief A pointer to the character data that comprises the selector table</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> <span class="comment">  /// The SelectorOffsets table refers into this memory.</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aca7e30642ed199864e76512293794715">  322</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aca7e30642ed199864e76512293794715" title="A pointer to the character data that comprises the selector table.">SelectorLookupTableData</a>;</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> <span class="comment"></span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> <span class="comment">  /// \brief A pointer to an on-disk hash table of opaque type</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> <span class="comment">  /// ASTSelectorLookupTable.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="comment">  /// This hash table provides the IDs of all selectors, and the associated</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> <span class="comment">  /// instance and factory methods.</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0c1aeedc3c6832cfea36bb27c5d5436f">  329</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0c1aeedc3c6832cfea36bb27c5d5436f" title="A pointer to an on-disk hash table of opaque type ASTSelectorLookupTable.">SelectorLookupTable</a>;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> </div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <span class="comment">// === Declarations ===</span></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">  /// DeclsCursor - This is a cursor to the start of the DECLS_BLOCK block. It</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="comment">  /// has read all the abbreviations at the start of the block and is ready to</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> <span class="comment">  /// jump around with these in context.</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4bdcf720e00ca61c4431a32faa9a1a73">  336</a></span> <span class="comment"></span>  llvm::BitstreamCursor <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4bdcf720e00ca61c4431a32faa9a1a73">DeclsCursor</a>;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> <span class="comment"></span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> <span class="comment">  /// \brief The number of declarations in this AST file.</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad162ef94b3bd68b721226cf90233bfed">  339</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad162ef94b3bd68b721226cf90233bfed" title="The number of declarations in this AST file.">LocalNumDecls</a>;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> <span class="comment"></span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="comment">  /// \brief Offset of each declaration within the bitstream, indexed</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="comment">  /// by the declaration ID (-1).</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#abfcd6878ed0883f57ff751bfe1fa0962">  343</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1serialization_1_1DeclOffset.html" title="Source range/offset of a preprocessed entity.">DeclOffset</a> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#abfcd6878ed0883f57ff751bfe1fa0962" title="Offset of each declaration within the bitstream, indexed by the declaration ID (-1).">DeclOffsets</a>;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> <span class="comment"></span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> <span class="comment">  /// \brief Base declaration ID for declarations local to this module.</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0aa5dd6fb74fef27b397abba6016c0e3">  346</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#af3f9c681595246da4bb499bd210e7f36" title="An ID number that refers to a declaration in an AST file.">serialization::DeclID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0aa5dd6fb74fef27b397abba6016c0e3" title="Base declaration ID for declarations local to this module.">BaseDeclID</a>;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> <span class="comment"></span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> <span class="comment">  /// \brief Remapping table for declaration IDs in this module.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2aa112718567b3278b5510ecc187845d">  349</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a2aa112718567b3278b5510ecc187845d" title="Remapping table for declaration IDs in this module.">DeclRemap</a>;</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 Mapping from the module files that this module file depends on</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> <span class="comment">  /// to the base declaration ID for that module as it is understood within this</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> <span class="comment">  /// module.</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> <span class="comment">  /// This is effectively a reverse global-to-local mapping for declaration</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="comment">  /// IDs, so that we can interpret a true global ID (for this translation unit)</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> <span class="comment">  /// as a local ID (for this module file).</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#adf1696bdfb0f9ba4e4aa86282bcb7706">  358</a></span> <span class="comment"></span>  llvm::DenseMap<ModuleFile *, serialization::DeclID> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#adf1696bdfb0f9ba4e4aa86282bcb7706" title="Mapping from the module files that this module file depends on to the base declaration ID for that mo...">GlobalToLocalDeclIDs</a>;</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 The number of C++ base specifier sets in this AST file.</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a690b48281f4ed3d5401f2b5f7cc56b58">  361</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a690b48281f4ed3d5401f2b5f7cc56b58" title="The number of C++ base specifier sets in this AST file.">LocalNumCXXBaseSpecifiers</a>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="comment"></span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> <span class="comment">  /// \brief Offset of each C++ base specifier set within the bitstream,</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> <span class="comment">  /// indexed by the C++ base specifier set ID (-1).</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af3c6d8be2d5f9bfdae97a47514a99a04">  365</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af3c6d8be2d5f9bfdae97a47514a99a04" title="Offset of each C++ base specifier set within the bitstream, indexed by the C++ base specifier set ID ...">CXXBaseSpecifiersOffsets</a>;</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   <span class="keyword">typedef</span> llvm::DenseMap<const DeclContext *, DeclContextInfo></div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#acaa71f6e8516523c58346c573f0db819">  368</a></span>   <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#acaa71f6e8516523c58346c573f0db819">DeclContextInfosMap</a>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> <span class="comment"></span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> <span class="comment">  /// \brief Information about the lexical and visible declarations</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> <span class="comment">  /// for each DeclContext.</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4addb09fd6d133334c85ed46c17eadc1">  372</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#acaa71f6e8516523c58346c573f0db819">DeclContextInfosMap</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a4addb09fd6d133334c85ed46c17eadc1" title="Information about the lexical and visible declarations for each DeclContext.">DeclContextInfos</a>;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> <span class="comment"></span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> <span class="comment">  /// \brief Array of file-level DeclIDs sorted by file.</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#acdbc4cb9938d92fdf6238b873854ec43">  375</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1serialization.html#af3f9c681595246da4bb499bd210e7f36" title="An ID number that refers to a declaration in an AST file.">serialization::DeclID</a> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#acdbc4cb9938d92fdf6238b873854ec43" title="Array of file-level DeclIDs sorted by file.">FileSortedDecls</a>;</div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a922823ba762b8e30da92267ea71729e4">  376</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a922823ba762b8e30da92267ea71729e4">NumFileSortedDecls</a>;</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">  /// \brief Array of redeclaration chain location information within this </span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="comment">  /// module file, sorted by the first declaration ID.</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad25793103c5b0c1b512f514a9f204282">  380</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1serialization_1_1LocalRedeclarationsInfo.html" title="Describes the redeclarations of a declaration.">serialization::LocalRedeclarationsInfo</a> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ad25793103c5b0c1b512f514a9f204282" title="Array of redeclaration chain location information within this module file, sorted by the first declar...">RedeclarationsMap</a>;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="comment"></span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> <span class="comment">  /// \brief The number of redeclaration info entries in RedeclarationsMap.</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aeec91c090535b8b6775f7eb67cbef44c">  383</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aeec91c090535b8b6775f7eb67cbef44c" title="The number of redeclaration info entries in RedeclarationsMap.">LocalNumRedeclarationsInMap</a>;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> <span class="comment">  /// \brief The redeclaration chains for declarations local to this</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> <span class="comment">  /// module file.</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1aed84dd1337886db2ad53e1bee7316f">  387</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<uint64_t, 1></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a1aed84dd1337886db2ad53e1bee7316f" title="The redeclaration chains for declarations local to this module file.">RedeclarationChains</a>;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="comment">  /// \brief Array of category list location information within this </span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="comment">  /// module file, sorted by the definition ID.</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a17d15143ac7f24ef9dd7609aecfd8c09">  391</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1serialization_1_1ObjCCategoriesInfo.html" title="Describes the categories of an Objective-C class.">serialization::ObjCCategoriesInfo</a> *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a17d15143ac7f24ef9dd7609aecfd8c09" title="Array of category list location information within this module file, sorted by the definition ID...">ObjCCategoriesMap</a>;</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> <span class="comment">  /// \brief The number of redeclaration info entries in ObjCCategoriesMap.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a3bc5560640ad39afea240aa9f00622a5">  394</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a3bc5560640ad39afea240aa9f00622a5" title="The number of redeclaration info entries in ObjCCategoriesMap.">LocalNumObjCCategoriesInMap</a>;</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 The Objective-C category lists for categories known to this</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> <span class="comment">  /// module.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af8d606321dbb5b3755285ee2519246d7">  398</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<uint64_t, 1></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#af8d606321dbb5b3755285ee2519246d7" title="The Objective-C category lists for categories known to this module.">ObjCCategories</a>;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>   <span class="comment">// === Types ===</span></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 The number of types in this AST file.</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa2ea4f143667d97c33d124f9e684a91a">  403</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aa2ea4f143667d97c33d124f9e684a91a" title="The number of types in this AST file.">LocalNumTypes</a>;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> <span class="comment"></span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> <span class="comment">  /// \brief Offset of each type within the bitstream, indexed by the</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> <span class="comment">  /// type ID, or the representation of a Type*.</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae07560f35de9a01e9e791cdfd1b722b9">  407</a></span> <span class="comment"></span>  <span class="keyword">const</span> uint32_t *<a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ae07560f35de9a01e9e791cdfd1b722b9" title="Offset of each type within the bitstream, indexed by the type ID, or the representation of a Type*...">TypeOffsets</a>;</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> <span class="comment"></span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> <span class="comment">  /// \brief Base type ID for types local to this module as represented in</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> <span class="comment">  /// the global type ID space.</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a386334eee0ebf53b12c1fa31ce6a0243">  411</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialization.html#a0e09d1ee46891ec8fe62b5ab5b583d12" title="An ID number that refers to a type in an AST file.">serialization::TypeID</a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a386334eee0ebf53b12c1fa31ce6a0243" title="Base type ID for types local to this module as represented in the global type ID space.">BaseTypeIndex</a>;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> <span class="comment"></span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> <span class="comment">  /// \brief Remapping table for type IDs in this module.</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a624cffa8cb20fc80d5c71dbc0a953595">  414</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ContinuousRangeMap.html">ContinuousRangeMap<uint32_t, int, 2></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a624cffa8cb20fc80d5c71dbc0a953595" title="Remapping table for type IDs in this module.">TypeRemap</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">// === Miscellaneous ===</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> <span class="comment"></span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> <span class="comment">  /// \brief Diagnostic IDs and their mappings that the user changed.</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aeffad7f7153a3ff8a14906ed0e4d3eb8">  419</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<uint64_t, 8></a> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#aeffad7f7153a3ff8a14906ed0e4d3eb8" title="Diagnostic IDs and their mappings that the user changed.">PragmaDiagMappings</a>;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment"></span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">  /// \brief List of modules which depend on this module</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a6bf3ba8b6c7d1899cfcd5750553c39">  422</a></span> <span class="comment"></span>  llvm::SetVector<ModuleFile *> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a5a6bf3ba8b6c7d1899cfcd5750553c39" title="List of modules which depend on this module.">ImportedBy</a>;</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> <span class="comment"></span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> <span class="comment">  /// \brief List of modules which this module depends on</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ab155dc8c7dd06ea3731b00dc7a6b72b9">  425</a></span> <span class="comment"></span>  llvm::SetVector<ModuleFile *> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#ab155dc8c7dd06ea3731b00dc7a6b72b9" title="List of modules which this module depends on.">Imports</a>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> <span class="comment"></span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> <span class="comment">  /// \brief Determine whether this module was directly imported at</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> <span class="comment">  /// any point during translation.</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a147801aca787adc56bdd741ff80c7122">  429</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a147801aca787adc56bdd741ff80c7122" title="Determine whether this module was directly imported at any point during translation.">isDirectlyImported</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a0aa7d4bc270733be4fbce61304ca4ba3" title="Whether this module has been directly imported by the user.">DirectlyImported</a>; }</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> <span class="comment"></span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> <span class="comment">  /// \brief Dump debugging output for this module.</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1serialization_1_1ModuleFile.html#a7c9116bde62a5005e2fa65909679ae8b" title="Dump debugging output for this module.">dump</a>();</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> };</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> } <span class="comment">// end namespace serialization</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:43 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/Serialization_2Release_09Asserts_2Module_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Release_09Asserts_2Module_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Release_09Asserts_2Module_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/Serialization_2Release_09Asserts_2Module_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,304 @@
+<!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: Module.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_76f5807b435ffff72c67c480f0b9aa5b.html">Serialization</a></li><li class="navelem"><a class="el" href="dir_186faff73c2562a69cd2ad4aa181d1d1.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Serialization/Release+Asserts/Module.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="Serialization_2Release_09Asserts_2Module_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/Serialization/Release+Asserts/Module.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/Release+Asserts/Module.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  Module.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Serialization/Module.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/None.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/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Serialization/ASTBitCodes.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../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="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../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="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../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="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Serialization/ContinuousRangeMap.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/Bitcode/BitstreamReader.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/Support/Endian.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/Support/Host.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/Support/StreamableMemoryObject.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/Support/DataStream.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/MemoryObject.h \
+ ASTReaderInternals.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/OnDiskHashTable.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm-c/Core.h</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/Serialization/../../include/clang/Serialization/Module.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/tools/clang/lib/Serialization/../../include/clang/Basic/SourceLocation.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/tools/clang/lib/Serialization/../../include/clang/Basic/LLVM.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/Support/Casting.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/type_traits.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/DataTypes.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/ADT/None.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/Support/Compiler.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/Config/llvm-config.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/include/llvm/Support/PointerLikeTypeTraits.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/Serialization/../../include/clang/Serialization/ASTBitCodes.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/Serialization/../../include/clang/AST/Type.h:</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/Serialization/../../include/clang/AST/NestedNameSpecifier.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/Serialization/../../include/clang/Basic/Diagnostic.h:</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/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticIDs.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/IntrusiveRefCntPtr.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/ADT/StringRef.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/Serialization/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticOptions.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/tools/clang/lib/Serialization/../../include/clang/Basic/DiagnosticOptions.def:</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/ADT/ArrayRef.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/ADT/SmallVector.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/AlignOf.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/Support/MathExtras.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/Support/SwapByteOrder.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/ADT/DenseMap.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/ADT/DenseMapInfo.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/ADT/FoldingSet.h:</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> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/TemplateName.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/OperatorKinds.def:</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> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../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="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/IdentifierTable.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/TokenKinds.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</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> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../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="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../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="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/TypeNodes.def:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/BuiltinTypes.def:</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> /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Serialization/ContinuousRangeMap.h:</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> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/Bitcode/BitstreamReader.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/include/llvm/Support/Endian.h:</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> /home/tstellar/llvm/include/llvm/Support/Host.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/Support/StreamableMemoryObject.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/Support/DataStream.h:</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> /home/tstellar/llvm/include/llvm/Support/MemoryObject.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> ASTReaderInternals.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/AST/DeclarationName.h:</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> /home/tstellar/llvm/tools/clang/lib/Serialization/../../include/clang/Basic/OnDiskHashTable.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</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> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</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> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</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> /home/tstellar/llvm/include/llvm/Support/system_error.h:</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> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</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> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:43 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/SerializedDiagnosticPrinter_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,771 @@
+<!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: SerializedDiagnosticPrinter.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_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SerializedDiagnosticPrinter.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SerializedDiagnosticPrinter_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">//===--- SerializedDiagnosticPrinter.cpp - Serializer for diagnostics -----===//</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="SerializedDiagnosticPrinter_8h.html">clang/Frontend/SerializedDiagnosticPrinter.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</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="l00012"></a><span class="lineno">   12</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticOptions_8h.html">clang/Basic/DiagnosticOptions.h</a>"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#include "<a class="code" href="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="Version_8h.html" title="Defines version macros and version-related utility functions for Clang.">clang/Basic/Version.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticRenderer_8h.html">clang/Frontend/DiagnosticRenderer.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "llvm/ADT/DenseSet.h"</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/StringRef.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include <vector></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> <span class="keyword">using namespace </span>clang::serialized_diags;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">class </span>AbbreviationMap {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   llvm::DenseMap<unsigned, unsigned> Abbrevs;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   AbbreviationMap() {}</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keywordtype">unsigned</span> recordID, <span class="keywordtype">unsigned</span> abbrevID) {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>     assert(Abbrevs.find(recordID) == Abbrevs.end() </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>            && <span class="stringliteral">"Abbreviation already set."</span>);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>     Abbrevs[recordID] = abbrevID;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   }</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>   <span class="keywordtype">unsigned</span> <span class="keyword">get</span>(<span class="keywordtype">unsigned</span> recordID) {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     assert(Abbrevs.find(recordID) != Abbrevs.end() &&</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>            <span class="stringliteral">"Abbreviation not set."</span>);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     <span class="keywordflow">return</span> Abbrevs[recordID];</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   }</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> };</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<uint64_t, 64></a> RecordData;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<uint64_t></a> RecordDataImpl;</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="keyword">class </span>SDiagsWriter;</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> <span class="keyword">class </span>SDiagsRenderer : <span class="keyword">public</span> <a class="code" href="classclang_1_1DiagnosticNoteRenderer.html">DiagnosticNoteRenderer</a> {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   SDiagsWriter &Writer;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   SDiagsRenderer(SDiagsWriter &Writer, <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="l00056"></a><span class="lineno">   56</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="l00057"></a><span class="lineno">   57</span>     : <a class="code" href="classclang_1_1DiagnosticNoteRenderer.html">DiagnosticNoteRenderer</a>(LangOpts, DiagOpts), Writer(Writer) {}</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="keyword">virtual</span> ~SDiagsRenderer() {}</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> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> emitDiagnosticMessage(<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="l00063"></a><span class="lineno">   63</span>                                      <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>                                      StringRef Message,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</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="l00067"></a><span class="lineno">   67</span>                                      <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                                      <a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D);</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>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> emitDiagnosticLoc(<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_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</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="l00073"></a><span class="lineno">   73</span>                                  <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>) {}</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> emitNote(<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, StringRef Message,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                         <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>);</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>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> emitCodeContext(<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="l00079"></a><span class="lineno">   79</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>                                <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CharSourceRange></a>& <a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>                                <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> Hints,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>                                <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>);</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="keyword">virtual</span> <span class="keywordtype">void</span> beginDiagnostic(<a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D,</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> endDiagnostic(<a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D,</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</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="keyword">class </span>SDiagsWriter : <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="l00091"></a><span class="lineno">   91</span>   <span class="keyword">friend</span> <span class="keyword">class </span>SDiagsRenderer;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keyword">struct </span>SharedState;</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="keyword">explicit</span> SDiagsWriter(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<SharedState></a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>     : LangOpts(0), OriginalInstance(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), State(State) { }</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> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   SDiagsWriter(raw_ostream *os, <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *diags)</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>     : LangOpts(0), OriginalInstance(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>), <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>(new SharedState(os, diags))</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>     EmitPreamble();</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> </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   ~SDiagsWriter() {}</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>   <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="l00108"></a><span class="lineno">  108</span>                         <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info);</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>   <span class="keywordtype">void</span> BeginSourceFile(<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> &LO,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>                        <span class="keyword">const</span> <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> *PP) {</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     LangOpts = &LO;</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> </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> finish();</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="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment">  /// \brief Emit the preamble for the serialized diagnostics.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitPreamble();</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment">  /// \brief Emit the BLOCKINFO block.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitBlockInfoBlock();</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">  /// \brief Emit the META data block.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitMetaBlock();</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 Start a DIAG block.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment"></span>  <span class="keywordtype">void</span> EnterDiagBlock();</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment"></span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">  /// \brief End a DIAG block.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment"></span>  <span class="keywordtype">void</span> ExitDiagBlock();</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> <span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">  /// \brief Emit a DIAG record.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitDiagnosticMessage(<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="l00135"></a><span class="lineno">  135</span>                              <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>                              StringRef Message,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>                              <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>,</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>                              <a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment">  /// \brief Emit FIXIT and SOURCE_RANGE records for a diagnostic.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitCodeContext(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CharSourceRange></a> &<a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>,</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                        <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> Hints,</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>                        <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> <span class="comment"></span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment">  /// \brief Emit a record for a CharSourceRange.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitCharSourceRange(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> R, <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>);</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 Emit the string information for the category.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> getEmitCategory(<span class="keywordtype">unsigned</span> category = 0);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> <span class="comment">  /// \brief Emit the string information for diagnostic flags.</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> getEmitDiagnosticFlag(<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="l00154"></a><span class="lineno">  154</span>                                  <span class="keywordtype">unsigned</span> DiagID = 0);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> <span class="comment">  /// \brief Emit (lazily) the file string and retrieved the file identifier.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> getEmitFile(<span class="keyword">const</span> <span class="keywordtype">char</span> *Filename);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> <span class="comment"></span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment">  /// \brief Add SourceLocation information the specified record.  </span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddLocToRecord(<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> <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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>,</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>                       <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc, RecordDataImpl &Record,</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>                       <span class="keywordtype">unsigned</span> TokSize = 0);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">  /// \brief Add SourceLocation information the specified record.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddLocToRecord(<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, RecordDataImpl &Record,</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>                       <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>,</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>                       <span class="keywordtype">unsigned</span> TokSize = 0) {</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>     AddLocToRecord(Loc, SM, SM ? SM-><a class="code" href="classclang_1_1SourceManager.html#a28f3fe716f6b9c504beb968f0eb8c17d" title="Returns the "presumed" location of a SourceLocation specifies.">getPresumedLoc</a>(Loc) : <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a>(),</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                    Record, TokSize);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment">  /// \brief Add CharSourceRange information the specified record.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> <span class="comment"></span>  <span class="keywordtype">void</span> AddCharSourceRangeToRecord(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> R, RecordDataImpl &Record,</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SM);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment"></span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> <span class="comment">  /// \brief The version of the diagnostics file.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment"></span>  <span class="keyword">enum</span> { Version = 1 };</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment"></span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment">  /// \brief Language options, which can differ from one clone of this client</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">  /// to another.</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment"></span>  <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="l00182"></a><span class="lineno">  182</span> <span class="comment"></span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> <span class="comment">  /// \brief Whether this is the original instance (rather than one of its</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment">  /// clones), responsible for writing the file at the end.</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment"></span>  <span class="keywordtype">bool</span> OriginalInstance;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> <span class="comment"></span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="comment">  /// \brief State that is shared among the various clones of this diagnostic</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="comment">  /// consumer.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> <span class="comment"></span>  <span class="keyword">struct </span>SharedState : <a class="code" href="classllvm_1_1RefCountedBase.html">RefCountedBase</a><SharedState> {</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     SharedState(raw_ostream *os, <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *diags)</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>       : DiagOpts(diags), Stream(Buffer), OS(os), EmittedAnyDiagBlocks(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) { }</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">    /// \brief Diagnostic options.</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment"></span>    <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticOptions></a> DiagOpts;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment"></span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment">    /// \brief The byte buffer for the serialized content.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment"></span>    <a class="code" href="classllvm_1_1SmallString.html">SmallString<1024></a> Buffer;</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">    /// \brief The BitStreamWriter for the serialized diagnostics.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> <span class="comment"></span>    llvm::BitstreamWriter Stream;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment"></span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> <span class="comment">    /// \brief The name of the diagnostics file.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> <span class="comment"></span>    <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<raw_ostream></a> OS;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> <span class="comment"></span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="comment">    /// \brief The set of constructed record abbreviations.</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment"></span>    AbbreviationMap Abbrevs;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment"></span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="comment">    /// \brief A utility buffer for constructing record content.</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment"></span>    RecordData Record;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment"></span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment">    /// \brief A text buffer for rendering diagnostic text.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment"></span>    <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> diagBuf;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> <span class="comment"></span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> <span class="comment">    /// \brief The collection of diagnostic categories used.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> <span class="comment"></span>    <a class="code" href="classllvm_1_1DenseSet.html">llvm::DenseSet<unsigned></a> Categories;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> <span class="comment"></span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> <span class="comment">    /// \brief The collection of files used.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment"></span>    llvm::DenseMap<const char *, unsigned> Files;</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="keyword">typedef</span> llvm::DenseMap<const void *, std::pair<unsigned, StringRef> ></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     DiagFlagsTy;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment"></span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> <span class="comment">    /// \brief Map for uniquing strings.</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> <span class="comment"></span>    DiagFlagsTy DiagFlags;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> <span class="comment"></span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> <span class="comment">    /// \brief Whether we have already started emission of any DIAG blocks. Once</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="comment">    /// this becomes \c true, we never close a DIAG block until we know that we're</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">    /// starting another one or we're done.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment"></span>    <span class="keywordtype">bool</span> EmittedAnyDiagBlocks;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="comment">  /// \brief State shared among the various clones of this diagnostic consumer.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<SharedState></a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</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="comment">// end anonymous namespace</span></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> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> <span class="keyword">namespace </span>serialized_diags {</div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282">  239</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="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">create</a>(raw_ostream *OS, <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *diags) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> SDiagsWriter(OS, diags);</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> }</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> } <span class="comment">// end namespace serialized_diags</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> } <span class="comment">// end namespace clang</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">// Serialization methods.</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> <span class="comment">//===----------------------------------------------------------------------===//</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">/// \brief Emits a block ID in the BLOCKINFO block.</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno"><a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a544ddb541b5cbab8daf5896eb981a490">  250</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a544ddb541b5cbab8daf5896eb981a490" title="Emits a block ID in the BLOCKINFO block.">EmitBlockID</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>, <span class="keyword">const</span> <span class="keywordtype">char</span> *Name,</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>                         llvm::BitstreamWriter &Stream,</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>                         RecordDataImpl &Record) {</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   Record.clear();</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   Record.push_back(ID);</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_SETBID, Record);</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>   <span class="comment">// Emit the block name if present.</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   <span class="keywordflow">if</span> (Name == 0 || Name[0] == 0)</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     <span class="keywordflow">return</span>;</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>   Record.clear();</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="keywordflow">while</span> (*Name)</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     Record.push_back(*Name++);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_BLOCKNAME, Record);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> }</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> <span class="comment"></span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> <span class="comment">/// \brief Emits a record ID in the BLOCKINFO block.</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno"><a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680">  270</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</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>, <span class="keyword">const</span> <span class="keywordtype">char</span> *Name,</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>                          llvm::BitstreamWriter &Stream,</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>                          RecordDataImpl &Record){</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>   Record.clear();</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   Record.push_back(ID);</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="keywordflow">while</span> (*Name)</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     Record.push_back(*Name++);</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>   Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_SETRECORDNAME, Record);</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> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> <span class="keywordtype">void</span> SDiagsWriter::AddLocToRecord(<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="l00283"></a><span class="lineno">  283</span>                                   <span class="keyword">const</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="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>,</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>                                   <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc,</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>                                   RecordDataImpl &Record,</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>                                   <span class="keywordtype">unsigned</span> TokSize) {</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>   <span class="keywordflow">if</span> (PLoc.<a class="code" href="classclang_1_1PresumedLoc.html#a1a38ca2e240338cca1b26dc06245f92c" title="Return true if this object is invalid or uninitialized.">isInvalid</a>()) {</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>     <span class="comment">// Emit a "sentinel" location.</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     Record.push_back((<span class="keywordtype">unsigned</span>)0); <span class="comment">// File.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     Record.push_back((<span class="keywordtype">unsigned</span>)0); <span class="comment">// Line.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>     Record.push_back((<span class="keywordtype">unsigned</span>)0); <span class="comment">// Column.</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     Record.push_back((<span class="keywordtype">unsigned</span>)0); <span class="comment">// Offset.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     <span class="keywordflow">return</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">  296</span>   Record.push_back(getEmitFile(PLoc.<a class="code" href="classclang_1_1PresumedLoc.html#ad7b3e219f0b8f103d47bdb2516502298" title="Return the presumed filename of this location.">getFilename</a>()));</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   Record.push_back(PLoc.<a class="code" href="classclang_1_1PresumedLoc.html#acfc1284e86ca48cdfcaf5d118c6abb30" title="Return the presumed line number of this location.">getLine</a>());</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   Record.push_back(PLoc.<a class="code" href="classclang_1_1PresumedLoc.html#a2cb9e651c8183ff661a6243fa0f6bc1f" title="Return the presumed column number of this location.">getColumn</a>()+TokSize);</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   Record.push_back(SM-><a class="code" href="classclang_1_1SourceManager.html#a0f516aaeaf42593e9cc0bae4b2f7383b" title="Returns the offset from the start of the file that the specified SourceLocation represents.">getFileOffset</a>(Loc));</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> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> <span class="keywordtype">void</span> SDiagsWriter::AddCharSourceRangeToRecord(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> Range,</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>                                               RecordDataImpl &Record,</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>                                               <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SM) {</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   AddLocToRecord(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a93f9ab18a904f1c089698b99dace2e82">getBegin</a>(), Record, &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>   <span class="keywordtype">unsigned</span> TokSize = 0;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   <span class="keywordflow">if</span> (Range.<a class="code" href="classclang_1_1CharSourceRange.html#a9bc337ba1c6e4e47e0f997196525d12f" title="Return true if the end of this range specifies the start of the last token. Return false if the end o...">isTokenRange</a>())</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     TokSize = <a class="code" href="classclang_1_1Lexer.html#aa5a4859612cfd5bbce76ce0ac75f406b">Lexer::MeasureTokenLength</a>(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(),</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>                                         <a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, *LangOpts);</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   AddLocToRecord(Range.<a class="code" href="classclang_1_1CharSourceRange.html#a2a3d04e2491bd5b564a1bf4c975ff3f0">getEnd</a>(), Record, &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>, TokSize);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> }</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> <span class="keywordtype">unsigned</span> SDiagsWriter::getEmitFile(<span class="keyword">const</span> <span class="keywordtype">char</span> *FileName){</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="keywordflow">if</span> (!FileName)</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>   </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>   <span class="keywordtype">unsigned</span> &entry = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Files[FileName];</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>   <span class="keywordflow">if</span> (entry)</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>     <span class="keywordflow">return</span> entry;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="comment">// Lazily generate the record for the file.</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   entry = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Files.size();</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   RecordData Record;</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">RECORD_FILENAME</a>);</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   Record.push_back(entry);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   Record.push_back(0); <span class="comment">// For legacy.</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>   Record.push_back(0); <span class="comment">// For legacy.</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   StringRef Name(FileName);</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   Record.push_back(Name.size());</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.EmitRecordWithBlob(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">RECORD_FILENAME</a>), Record,</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>                                    Name);</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>   <span class="keywordflow">return</span> entry;</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> </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> <span class="keywordtype">void</span> SDiagsWriter::EmitCharSourceRange(<a class="code" href="classclang_1_1CharSourceRange.html" title="Represents a character-granular source range.">CharSourceRange</a> R,</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SM) {</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record.clear();</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">RECORD_SOURCE_RANGE</a>);</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   AddCharSourceRangeToRecord(R, <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record, SM);</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.EmitRecordWithAbbrev(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">RECORD_SOURCE_RANGE</a>),</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>                                      <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record);</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> }</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> <span class="comment"></span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> <span class="comment">/// \brief Emits the preamble of the diagnostics file.</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> <span class="comment"></span><span class="keywordtype">void</span> SDiagsWriter::EmitPreamble() {</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="comment">// Emit the file header.</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.Emit((<span class="keywordtype">unsigned</span>)<span class="charliteral">'D'</span>, 8);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.Emit((<span class="keywordtype">unsigned</span>)<span class="charliteral">'I'</span>, 8);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.Emit((<span class="keywordtype">unsigned</span>)<span class="charliteral">'A'</span>, 8);</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.Emit((<span class="keywordtype">unsigned</span>)<span class="charliteral">'G'</span>, 8);</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   EmitBlockInfoBlock();</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   EmitMetaBlock();</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> </div>
+<div class="line"><a name="l00358"></a><span class="lineno"><a class="code" href="SerializedDiagnosticPrinter_8cpp.html#aa67cccbb0ef25a7844bef947c8703d76">  358</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#aa67cccbb0ef25a7844bef947c8703d76">AddSourceLocationAbbrev</a>(llvm::BitCodeAbbrev *Abbrev) {</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>   <span class="keyword">using namespace </span>llvm;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 10)); <span class="comment">// File ID.</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); <span class="comment">// Line.</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); <span class="comment">// Column.</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); <span class="comment">// Offset;</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> }</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno"><a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a642946695e43bb2a5595a02fe718431e">  366</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a642946695e43bb2a5595a02fe718431e">AddRangeLocationAbbrev</a>(llvm::BitCodeAbbrev *Abbrev) {</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#aa67cccbb0ef25a7844bef947c8703d76">AddSourceLocationAbbrev</a>(Abbrev);</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#aa67cccbb0ef25a7844bef947c8703d76">AddSourceLocationAbbrev</a>(Abbrev);  </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> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> <span class="keywordtype">void</span> SDiagsWriter::EmitBlockInfoBlock() {</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.EnterBlockInfoBlock(3);</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="keyword">using namespace </span>llvm;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   llvm::BitstreamWriter &Stream = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   RecordData &Record = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   AbbreviationMap &Abbrevs = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="comment">// ==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>   <span class="comment">// The subsequent records and Abbrevs are for the "Meta" block.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="comment">// ==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a544ddb541b5cbab8daf5896eb981a490" title="Emits a block ID in the BLOCKINFO block.">EmitBlockID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a9448f37df5099b44960da7f80fca617b" title="A top-level block which represents any meta data associated with the diagostics, including versioning...">BLOCK_META</a>, <span class="stringliteral">"Meta"</span>, Stream, Record);</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a>, <span class="stringliteral">"Version"</span>, Stream, Record);</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   BitCodeAbbrev *Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a>));</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a>, Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a9448f37df5099b44960da7f80fca617b" title="A top-level block which represents any meta data associated with the diagostics, including versioning...">BLOCK_META</a>, Abbrev));</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>   <span class="comment">// ==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <span class="comment">// The subsequent records and Abbrevs are for the "Diagnostic" block.</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="comment">// ==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a544ddb541b5cbab8daf5896eb981a490" title="Emits a block ID in the BLOCKINFO block.">EmitBlockID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>, <span class="stringliteral">"Diag"</span>, Stream, Record);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">RECORD_DIAG</a>, <span class="stringliteral">"DiagInfo"</span>, Stream, Record);</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">RECORD_SOURCE_RANGE</a>, <span class="stringliteral">"SrcRange"</span>, Stream, Record);</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">RECORD_CATEGORY</a>, <span class="stringliteral">"CatName"</span>, Stream, Record);</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">RECORD_DIAG_FLAG</a>, <span class="stringliteral">"DiagFlag"</span>, Stream, Record);</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">RECORD_FILENAME</a>, <span class="stringliteral">"FileName"</span>, Stream, Record);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a80e69f3857dd7cb388fa9e00ec6e8680" title="Emits a record ID in the BLOCKINFO block.">EmitRecordID</a>(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a>, <span class="stringliteral">"FixIt"</span>, Stream, Record);</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   <span class="comment">// Emit abbreviation for RECORD_DIAG.</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>   Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">RECORD_DIAG</a>));</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 3));  <span class="comment">// Diag level.</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#aa67cccbb0ef25a7844bef947c8703d76">AddSourceLocationAbbrev</a>(Abbrev);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 10)); <span class="comment">// Category.  </span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 10)); <span class="comment">// Mapped Diag ID.</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 16)); <span class="comment">// Text size.</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob)); <span class="comment">// Diagnostc text.</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">RECORD_DIAG</a>, Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>, Abbrev));</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">// Emit abbrevation for RECORD_CATEGORY.</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">RECORD_CATEGORY</a>));</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 16)); <span class="comment">// Category ID.</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 8));  <span class="comment">// Text size.</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob));      <span class="comment">// Category text.</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">RECORD_CATEGORY</a>, Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>, Abbrev));</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>   <span class="comment">// Emit abbrevation for RECORD_SOURCE_RANGE.</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">RECORD_SOURCE_RANGE</a>));</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a642946695e43bb2a5595a02fe718431e">AddRangeLocationAbbrev</a>(Abbrev);</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">RECORD_SOURCE_RANGE</a>,</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>               Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>, Abbrev));</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>   </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   <span class="comment">// Emit the abbreviation for RECORD_DIAG_FLAG.</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">RECORD_DIAG_FLAG</a>));</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 10)); <span class="comment">// Mapped Diag ID.</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 16)); <span class="comment">// Text size.</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob)); <span class="comment">// Flag name text.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">RECORD_DIAG_FLAG</a>, Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>,</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>                                                            Abbrev));</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="comment">// Emit the abbreviation for RECORD_FILENAME.</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">RECORD_FILENAME</a>));</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 10)); <span class="comment">// Mapped file ID.</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); <span class="comment">// Size.</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32)); <span class="comment">// Modifcation time.  </span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 16)); <span class="comment">// Text size.</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob)); <span class="comment">// File name text.</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">RECORD_FILENAME</a>, Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>,</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>                                                           Abbrev));</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>   <span class="comment">// Emit the abbreviation for RECORD_FIXIT.</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   Abbrev = <span class="keyword">new</span> BitCodeAbbrev();</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>   Abbrev->Add(BitCodeAbbrevOp(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a>));</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>   <a class="code" href="SerializedDiagnosticPrinter_8cpp.html#a642946695e43bb2a5595a02fe718431e">AddRangeLocationAbbrev</a>(Abbrev);</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 16)); <span class="comment">// Text size.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>   Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob));      <span class="comment">// FixIt text.</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>   Abbrevs.set(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a>, Stream.EmitBlockInfoAbbrev(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>,</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>                                                        Abbrev));</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>   Stream.ExitBlock();</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> </div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> <span class="keywordtype">void</span> SDiagsWriter::EmitMetaBlock() {</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   llvm::BitstreamWriter &Stream = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   RecordData &Record = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   AbbreviationMap &Abbrevs = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>   Stream.EnterSubblock(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a9448f37df5099b44960da7f80fca617b" title="A top-level block which represents any meta data associated with the diagostics, including versioning...">BLOCK_META</a>, 3);</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   Record.clear();</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>   Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a>);</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>   Record.push_back(Version);</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   Stream.EmitRecordWithAbbrev(Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a>), Record);  </div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>   Stream.ExitBlock();</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> }</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> <span class="keywordtype">unsigned</span> SDiagsWriter::getEmitCategory(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> category) {</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>   <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Categories.count(category))</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>     <span class="keywordflow">return</span> category;</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>   </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Categories.insert(category);</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="comment">// We use a local version of 'Record' so that we can be generating</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>   <span class="comment">// another record when we lazily generate one for the category entry.</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   RecordData Record;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">RECORD_CATEGORY</a>);</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>   Record.push_back(category);</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   StringRef catName = <a class="code" href="classclang_1_1DiagnosticIDs.html#a0effd747e90dff31a882246f2746c3b2" title="Given a category ID, return the name of the category.">DiagnosticIDs::getCategoryNameFromID</a>(category);</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   Record.push_back(catName.size());</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.EmitRecordWithBlob(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">RECORD_CATEGORY</a>), Record,</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>                                    catName);</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>   <span class="keywordflow">return</span> category;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> }</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="keywordtype">unsigned</span> SDiagsWriter::getEmitDiagnosticFlag(<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="l00493"></a><span class="lineno">  493</span>                                              <span class="keywordtype">unsigned</span> DiagID) {</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>   <span class="keywordflow">if</span> (DiagLevel == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>)</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>     <span class="keywordflow">return</span> 0; <span class="comment">// No flag for notes.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>   </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>   StringRef FlagName = <a class="code" href="classclang_1_1DiagnosticIDs.html#aa407bce5e1f9c064a49cc234779a8621" title="Return the lowest-level warning option that enables the specified diagnostic.">DiagnosticIDs::getWarningOptionForDiag</a>(DiagID);</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>   <span class="keywordflow">if</span> (FlagName.empty())</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> </div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>   <span class="comment">// Here we assume that FlagName points to static data whose pointer</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <span class="comment">// value is fixed.  This allows us to unique by diagnostic groups.</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>   <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="ASTWriter_8cpp.html#a5c6341076bde2012a21db25f4e2e3792">data</a> = FlagName.data();</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>   std::pair<unsigned, StringRef> &entry = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->DiagFlags[<a class="code" href="ASTWriter_8cpp.html#a5c6341076bde2012a21db25f4e2e3792">data</a>];</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>   <span class="keywordflow">if</span> (entry.first == 0) {</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     entry.first = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->DiagFlags.size();</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     entry.second = FlagName;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     </div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>     <span class="comment">// Lazily emit the string in a separate record.</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>     RecordData Record;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>     Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">RECORD_DIAG_FLAG</a>);</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>     Record.push_back(entry.first);</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>     Record.push_back(FlagName.size());</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>     <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.EmitRecordWithBlob(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">RECORD_DIAG_FLAG</a>),</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>                                      Record, FlagName);</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   }</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>   <span class="keywordflow">return</span> entry.first;</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="keywordtype">void</span> SDiagsWriter::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="l00522"></a><span class="lineno">  522</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> &Info) {</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <span class="comment">// Enter the block for a non-note diagnostic immediately, rather than waiting</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>   <span class="comment">// for beginDiagnostic, in case associated notes are emitted before we get</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="comment">// there.</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   <span class="keywordflow">if</span> (DiagLevel != <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>) {</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>     <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->EmittedAnyDiagBlocks)</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>       ExitDiagBlock();</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>     EnterDiagBlock();</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->EmittedAnyDiagBlocks = <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>   <span class="comment">// Compute the diagnostic text.</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->diagBuf.clear();</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</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>(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->diagBuf);</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span> </div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</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#a1936fc09837ff8a195fa63e29f05796f">isInvalid</a>()) {</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>     <span class="comment">// Special-case diagnostics with no location. We may not have entered a</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>     <span class="comment">// source file in this case, so we can't use the normal DiagnosticsRenderer</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>     <span class="comment">// machinery.</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>     <span class="comment">// Make sure we bracket all notes as "sub-diagnostics".  This matches</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>     <span class="comment">// the behavior in SDiagsRenderer::emitDiagnostic().</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>     <span class="keywordflow">if</span> (DiagLevel == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>)</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>       EnterDiagBlock();</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span> </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>     EmitDiagnosticMessage(<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_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a>(), DiagLevel,</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>                           <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->diagBuf, 0, &Info);</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>     <span class="keywordflow">if</span> (DiagLevel == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>)</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>       ExitDiagBlock();</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> </div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</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>   assert(Info.<a class="code" href="classclang_1_1Diagnostic.html#aae26a5bb59bf1d70a26e7bf665b51925">hasSourceManager</a>() && LangOpts &&</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>          <span class="stringliteral">"Unexpected diagnostic with valid location outside of a source file"</span>);</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   SDiagsRenderer Renderer(*<span class="keyword">this</span>, *LangOpts, &*<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->DiagOpts);</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   Renderer.emitDiagnostic(Info.<a class="code" href="classclang_1_1Diagnostic.html#a577a00b2237f0f83226bc85c7642ac16">getLocation</a>(), DiagLevel,</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>                           <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->diagBuf.str(),</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>                           Info.<a class="code" href="classclang_1_1Diagnostic.html#a0ece82a31d3d72df27cd42e9fd920f8e" title="Return an array reference for this diagnostic's ranges.">getRanges</a>(),</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>                           llvm::makeArrayRef(Info.<a class="code" href="classclang_1_1Diagnostic.html#a2bee3048283a7766758675a0145d47fa">getFixItHints</a>(),</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>                                              Info.<a class="code" href="classclang_1_1Diagnostic.html#a57e7d37e899b78200bf263410f59692f">getNumFixItHints</a>()),</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>                           &Info.<a class="code" href="classclang_1_1Diagnostic.html#a48b68414f88d8451288420d6615366e3">getSourceManager</a>(),</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>                           &Info);</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> }</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span> <span class="keywordtype">void</span> SDiagsWriter::EmitDiagnosticMessage(<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="l00570"></a><span class="lineno">  570</span>                                          <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc,</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</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="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ff">Level</a>,</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>                                          StringRef Message,</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> *SM,</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>                                          <a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D) {</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   llvm::BitstreamWriter &Stream = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream;</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   RecordData &Record = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record;</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   AbbreviationMap &Abbrevs = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs;</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   </div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>   <span class="comment">// Emit the RECORD_DIAG record.</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>   Record.clear();</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>   Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">RECORD_DIAG</a>);</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>   Record.push_back(Level);</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   AddLocToRecord(Loc, SM, PLoc, Record);</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> </div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a> *Info = D.dyn_cast<<span class="keyword">const</span> <a class="code" href="classclang_1_1Diagnostic.html">Diagnostic</a>*>()) {</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>     <span class="comment">// Emit the category string lazily and get the category ID.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     <span class="keywordtype">unsigned</span> DiagID = <a class="code" href="classclang_1_1DiagnosticIDs.html#ab465e25b91e40c0be246c0a5db815093" title="Return the category number that a specified DiagID belongs to, or 0 if no category.">DiagnosticIDs::getCategoryNumberForDiag</a>(Info-><a class="code" href="classclang_1_1Diagnostic.html#a3c8e2b6dbde493a394966fbbd27211cf">getID</a>());</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>     Record.push_back(getEmitCategory(DiagID));</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>     <span class="comment">// Emit the diagnostic flag string lazily and get the mapped ID.</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>     Record.push_back(getEmitDiagnosticFlag(Level, Info-><a class="code" href="classclang_1_1Diagnostic.html#a3c8e2b6dbde493a394966fbbd27211cf">getID</a>()));</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     Record.push_back(getEmitCategory());</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>     Record.push_back(getEmitDiagnosticFlag(Level));</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   }</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> </div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>   Record.push_back(Message.size());</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>   Stream.EmitRecordWithBlob(Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">RECORD_DIAG</a>), Record, Message);</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span> }</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> </div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span> SDiagsRenderer::emitDiagnosticMessage(<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="l00602"></a><span class="lineno">  602</span>                                       <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc,</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</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="l00604"></a><span class="lineno">  604</span>                                       StringRef Message,</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>                                       <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<clang::CharSourceRange></a> <a class="code" href="Format_8cpp.html#aef493d34e5188d58ad804f7954a8ed5b">Ranges</a>,</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> *SM,</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>                                       <a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D) {</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   Writer.EmitDiagnosticMessage(Loc, PLoc, Level, Message, SM, D);</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">  611</span> <span class="keywordtype">void</span> SDiagsWriter::EnterDiagBlock() {</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.EnterSubblock(<a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a>, 4);</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span> }</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="keywordtype">void</span> SDiagsWriter::ExitDiagBlock() {</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream.ExitBlock();</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> }</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span> <span class="keywordtype">void</span> SDiagsRenderer::beginDiagnostic(<a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D,</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</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="l00621"></a><span class="lineno">  621</span>   <span class="keywordflow">if</span> (Level == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>)</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>     Writer.EnterDiagBlock();</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span> }</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> </div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> <span class="keywordtype">void</span> SDiagsRenderer::endDiagnostic(<a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a> D,</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</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="l00627"></a><span class="lineno">  627</span>   <span class="comment">// Only end note diagnostics here, because we can't be sure when we've seen</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>   <span class="comment">// the last note associated with a non-note diagnostic.</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>   <span class="keywordflow">if</span> (Level == <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>)</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>     Writer.ExitDiagBlock();</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</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="keywordtype">void</span> SDiagsWriter::EmitCodeContext(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CharSourceRange></a> &Ranges,</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>                                    <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> Hints,</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SM) {</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>   llvm::BitstreamWriter &Stream = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Stream;</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   RecordData &Record = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Record;</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   AbbreviationMap &Abbrevs = <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Abbrevs;</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>   <span class="comment">// Emit Source Ranges.</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<CharSourceRange>::iterator</a> I = Ranges.begin(), E = Ranges.end();</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>        I != E; ++I)</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>     <span class="keywordflow">if</span> (I->isValid())</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>       EmitCharSourceRange(*I, SM);</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> </div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>   <span class="comment">// Emit FixIts.</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint>::iterator</a> I = Hints.begin(), E = Hints.end();</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</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> &Fix = *I;</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>     <span class="keywordflow">if</span> (Fix.<a class="code" href="classclang_1_1FixItHint.html#a81ba86dce5ee1d236a88f0578264e22a">isNull</a>())</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>     Record.clear();</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>     Record.push_back(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a>);</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>     AddCharSourceRangeToRecord(Fix.<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>, Record, SM);</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>     Record.push_back(Fix.<a class="code" href="classclang_1_1FixItHint.html#ad81794cbfdb9d0e7dd9ac0c0b43b0301" title="The actual code to insert at the insertion location, as a string.">CodeToInsert</a>.size());</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>     Stream.EmitRecordWithBlob(Abbrevs.get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a>), Record,</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>                               Fix.<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="l00658"></a><span class="lineno">  658</span>   }</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span> }</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> </div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> <span class="keywordtype">void</span> SDiagsRenderer::emitCodeContext(<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="l00662"></a><span class="lineno">  662</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="l00663"></a><span class="lineno">  663</span>                                      <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CharSourceRange></a> &Ranges,</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>                                      <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<FixItHint></a> Hints,</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &SM) {</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   Writer.EmitCodeContext(Ranges, Hints, SM);</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> }</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span> </div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span> <span class="keywordtype">void</span> SDiagsRenderer::emitNote(<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, StringRef Message,</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>                               <span class="keyword">const</span> <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> *SM) {</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>   Writer.EnterDiagBlock();</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>   <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a> PLoc = SM ? SM-><a class="code" href="classclang_1_1SourceManager.html#a28f3fe716f6b9c504beb968f0eb8c17d" title="Returns the "presumed" location of a SourceLocation specifies.">getPresumedLoc</a>(Loc) : <a class="code" href="classclang_1_1PresumedLoc.html" title="Represents an unpacked "presumed" location which can be presented to the user.">PresumedLoc</a>();</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>   Writer.EmitDiagnosticMessage(Loc, PLoc, <a class="code" href="classclang_1_1DiagnosticsEngine.html#a94e5078973aa3a34432e91f3b26263e0ad2dbfbdb30b4cc857a22890e552ba76f">DiagnosticsEngine::Note</a>,</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>                                Message, SM, <a class="code" href="namespaceclang.html#ac142f04ddbaaae8ff54dac887157313d">DiagOrStoredDiag</a>());</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>   Writer.ExitDiagBlock();</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span> }</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="keywordtype">void</span> SDiagsWriter::finish() {</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="comment">// The original instance is responsible for writing the file.</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   <span class="keywordflow">if</span> (!OriginalInstance)</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>     <span class="keywordflow">return</span>;</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="comment">// Finish off any diagnostic we were in the process of emitting.</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>   <span class="keywordflow">if</span> (<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->EmittedAnyDiagBlocks)</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>     ExitDiagBlock();</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">// Write the generated bitstream to "Out".</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->OS->write((<span class="keywordtype">char</span> *)&<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Buffer.front(), <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->Buffer.size());</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->OS->flush();</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>   <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>->OS.reset(0);</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SerializedDiagnosticPrinter_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,286 @@
+<!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: SerializedDiagnosticPrinter.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_cfd7caa53089bfce4c036750f74ca8fe.html">Frontend</a></li><li class="navelem"><a class="el" href="dir_d028e0ee810452766990d0b974c930cc.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SerializedDiagnosticPrinter.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SerializedDiagnosticPrinter_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/Frontend/Release+Asserts/SerializedDiagnosticPrinter.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/SerializedDiagnosticPrinter.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SerializedDiagnosticPrinter.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/SerializedDiagnosticPrinter.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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/Bitcode/BitstreamWriter.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.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/DenseMap.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.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/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Version.inc \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/DiagnosticRenderer.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/SerializedDiagnosticPrinter.h:</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h:</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> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</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> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</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> /home/tstellar/llvm/include/llvm/Bitcode/BitstreamWriter.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</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> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</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> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> /home/tstellar/llvm/include/llvm/Bitcode/BitCodes.h:</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/Frontend/../../include/clang/Basic/Diagnostic.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/Frontend/../../include/clang/Basic/DiagnosticIDs.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/include/llvm/ADT/IntrusiveRefCntPtr.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/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Frontend/../../include/clang/Basic/DiagnosticOptions.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/Frontend/../../include/clang/Basic/DiagnosticOptions.def:</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/Frontend/../../include/clang/Basic/SourceLocation.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/include/llvm/Support/PointerLikeTypeTraits.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/include/llvm/ADT/ArrayRef.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/ADT/DenseMap.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/ADT/DenseMapInfo.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/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.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/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.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/OwningPtr.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/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/FileSystem.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/ADT/SmallString.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/ADT/Twine.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/TimeValue.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/system_error.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/Frontend/../../include/clang/Basic/SourceManager.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/include/llvm/ADT/DenseSet.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/include/llvm/ADT/PointerIntPair.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/PointerUnion.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/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.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/tools/clang/lib/Frontend/../../include/clang/Basic/Version.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/tools/clang/lib/Frontend/../../include/clang/Basic/Version.inc:</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/tools/clang/lib/Frontend/../../include/clang/Frontend/DiagnosticRenderer.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/Optional.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Frontend/../../include/clang/Basic/LangOptions.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/Frontend/../../include/clang/Basic/CommentOptions.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/Frontend/../../include/clang/Basic/ObjCRuntime.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/Frontend/../../include/clang/Basic/VersionTuple.h:</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/include/llvm/ADT/Triple.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/Frontend/../../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="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../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="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def:</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/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def:</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/Frontend/../../include/clang/Basic/OpenCLExtensions.def:</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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.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/Frontend/../../include/clang/Basic/OperatorKinds.h:</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/Frontend/../../include/clang/Basic/OperatorKinds.def:</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/Frontend/../../include/clang/Basic/TemplateKinds.h:</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/Frontend/../../include/clang/Basic/TokenKinds.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/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.def:</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/Support/raw_ostream.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SerializedDiagnosticPrinter_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SerializedDiagnosticPrinter_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,142 @@
+<!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: SerializedDiagnosticPrinter.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_86a50fedfdd177331e407e41b0c0394f.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SerializedDiagnosticPrinter.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SerializedDiagnosticPrinter_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">//===--- SerializedDiagnosticPrinter.h - Serializer for diagnostics -------===//</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">#ifndef LLVM_CLANG_FRONTEND_SERIALIZE_DIAGNOSTIC_PRINTER_H_</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_FRONTEND_SERIALIZE_DIAGNOSTIC_PRINTER_H_</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</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="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "llvm/Bitcode/BitstreamWriter.h"</span></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> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">class </span>raw_ostream;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> }</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">class </span>DiagnosticConsumer;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">class </span>DiagnosticsEngine;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">class </span>DiagnosticOptions;</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="namespaceclang_1_1serialized__diags.html">   25</a></span> <span class="keyword">namespace </span>serialized_diags {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   </div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92">   27</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92">BlockIDs</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">  /// \brief A top-level block which represents any meta data associated</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">  /// with the diagostics, including versioning of the format.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a9448f37df5099b44960da7f80fca617b">   30</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a9448f37df5099b44960da7f80fca617b" title="A top-level block which represents any meta data associated with the diagostics, including versioning...">BLOCK_META</a> = llvm::bitc::FIRST_APPLICATION_BLOCKID,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">  /// \brief The this block acts as a container for all the information</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">  /// for a specific diagnostic.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1">   34</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1serialized__diags.html#aa3463a557938da7911b87a36b71a6a92a161db12e899da2f83184e8278ebdcbc1" title="The this block acts as a container for all the information for a specific diagnostic.">BLOCK_DIAG</a></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> };</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5">   37</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5">RecordIDs</a> {</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">   38</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a> = 1,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">   39</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5afeff8e4aa830dd9f1cedde287c8d5888">RECORD_DIAG</a>,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">   40</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a8013c3bb9a3fb5210bea52bdb7215381">RECORD_SOURCE_RANGE</a>,</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">   41</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a6f6979bfe4dbc13ad45e247a8091cb56">RECORD_DIAG_FLAG</a>,</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">   42</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5acff7fbb59184fb847cfb10c924e9f8f4">RECORD_CATEGORY</a>,</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">   43</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a67811dfaefeeb038fb4e7a4faf5be179">RECORD_FILENAME</a>,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">   44</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a43abd1cc07f5f9d5f69049ebc28d7891">   45</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a43abd1cc07f5f9d5f69049ebc28d7891">RECORD_FIRST</a> = <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a1de68d324bfee63d31384e9ea7dd6958">RECORD_VERSION</a>,</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a364abfd8704723fbc2d35f975aa8e86f">   46</a></span>   <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a364abfd8704723fbc2d35f975aa8e86f">RECORD_LAST</a> = <a class="code" href="namespaceclang_1_1serialized__diags.html#a45115769ad02071c7a48733d9e3e2fb5a9cbe0d77bc057c7b0eddb7b4b474c7e3">RECORD_FIXIT</a></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> <span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">/// \brief Returns a DiagnosticConsumer that serializes diagnostics to</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">///  a bitcode file.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">/// The created DiagnosticConsumer is designed for quick and lightweight</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">/// transfer of of diagnostics to the enclosing build system (e.g., an IDE).</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">/// This allows wrapper tools for Clang to get diagnostics from Clang</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">/// (via libclang) without needing to parse Clang's command line output.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</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="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">create</a>(raw_ostream *OS,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>                            <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a> *diags);</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> } <span class="comment">// end serialized_diags namespace</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> } <span class="comment">// end clang namespace</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SimpleConstraintManager_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,346 @@
+<!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: SimpleConstraintManager.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_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SimpleConstraintManager.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleConstraintManager_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">//== SimpleConstraintManager.cpp --------------------------------*- 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> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines SimpleConstraintManager, a class that holds code shared</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  between BasicConstraintManager and RangeConstraintManager.</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></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">#include "<a class="code" href="SimpleConstraintManager_8h.html">SimpleConstraintManager.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="APSIntType_8h.html">clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="ExprEngine_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="ProgramState_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a539b40c095f9e74f0c348b137b568772">   24</a></span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a539b40c095f9e74f0c348b137b568772">SimpleConstraintManager::~SimpleConstraintManager</a>() {}</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="classclang_1_1ento_1_1SimpleConstraintManager.html#a02ac9227c2c0d73889f320bc43c28dc8">   26</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a02ac9227c2c0d73889f320bc43c28dc8">SimpleConstraintManager::canReasonAbout</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::SymbolVal></a> SymVal = X.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>>();</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="keywordflow">if</span> (SymVal && SymVal->isExpression()) {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *SE = SymVal->getSymbol();</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>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymIntExpr.html" title="Represents a symbolic expression like 'x' + 3.">SymIntExpr</a> *SIE = dyn_cast<SymIntExpr>(SE)) {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>       <span class="keywordflow">switch</span> (SIE->getOpcode()) {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>           <span class="comment">// We don't reason yet about bitwise-constraints on symbolic values.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1add0a26702b466b3820e0032922751589">BO_And</a>:</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a0bbf9a36f955dba18422f3c8800443d1">BO_Or</a>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a01db02868a5b622d647d2a3f7d7d0c5a">BO_Xor</a>:</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>         <span class="comment">// We don't reason yet about these arithmetic constraints on</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>         <span class="comment">// symbolic values.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a8e23022cab4ed3bcb24b7acd01f623e9">BO_Mul</a>:</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a58e04dd371aa4ff24af1f1ebc04739a5">BO_Div</a>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a91a7868de509af06d04ef1c6e21383be">BO_Rem</a>:</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a2a7b3ad7ff838b9d313312f2dde50cb0">BO_Shl</a>:</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a05544609a9c447c91873ed3fb1fec26c">BO_Shr</a>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>         <span class="comment">// All other cases.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>     }</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>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymSymExpr.html" title="Represents a symbolic expression like 'x' + 'y'.">SymSymExpr</a> *SSE = dyn_cast<SymSymExpr>(SE)) {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(SSE->getOpcode())) {</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>         <span class="comment">// We handle Loc <> Loc comparisons, but not (yet) NonLoc <> NonLoc.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(SSE->getLHS()->getType())) {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>           assert(<a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(SSE->getRHS()->getType()));</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>           <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>       }</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">   62</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <span class="keywordflow">return</span> <span class="keyword">true</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">   67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">   68</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">SimpleConstraintManager::assume</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>                                                <a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> Cond,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>                                                <span class="keywordtype">bool</span> Assumption) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   <span class="comment">// If we have a Loc value, cast it to a bool NonLoc first.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<Loc></a> LV = Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>>()) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = state->getStateManager().getSValBuilder();</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *MR = LV->getAsRegion();</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1TypedRegion.html" title="TypedRegion - An abstract class representing regions that are typed.">TypedRegion</a> *TR = dyn_cast_or_null<TypedRegion>(MR))</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>       T = TR->getLocationType();</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>       T = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a34dd76f677ea014481a45f7ebeff6c04">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a485732164c40553bb323c58f5e8bf7a7">VoidPtrTy</a>;</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>     Cond = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aac1b0835b003247371196257b6aa04e3">evalCast</a>(*LV, SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a34dd76f677ea014481a45f7ebeff6c04">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a699510ff594ec09506e02c3ec68e4ff5">BoolTy</a>, T).castAs<DefinedSVal>();</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   }</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="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">assume</a>(state, Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>(), Assumption);</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> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ae3275c03d0a00b6e751367ea72f67a4a">   87</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">SimpleConstraintManager::assume</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                                <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> cond,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>                                                <span class="keywordtype">bool</span> assumption) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   state = <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a9990aaf74eb3d251dd30621d0207650b">assumeAux</a>(state, cond, assumption);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1ConstraintManager.html#a7fd226a2d5745523e12ac24046cc388c">NotifyAssumeClients</a> && SU)</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     <span class="keywordflow">return</span> SU-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#a8357e8046594721feba2a123a699dc8c">processAssume</a>(state, cond, assumption);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keywordflow">return</span> state;</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> </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> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a7f33a15761b96e07a4c584335187b4da">   98</a></span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a7f33a15761b96e07a4c584335187b4da">SimpleConstraintManager::assumeAuxForSymbol</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>                                             <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym, <span class="keywordtype">bool</span> Assumption) {</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &BVF = <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a8c7a589a9d17cc330a8ed072194a23a2">getBasicVals</a>();</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> T = Sym-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#a8b17954fffe297fa90bb61e31dda7074">getType</a>();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="comment">// None of the constraint solvers currently support non-integer types.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="keywordflow">if</span> (!T-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>())</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>     <span class="keywordflow">return</span> State;</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>   <span class="keyword">const</span> llvm::APSInt &zero = BVF.getValue(0, T);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   <span class="keywordflow">if</span> (Assumption)</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#aab1d634059950593a4f1a30af0bf7b56">assumeSymNE</a>(State, Sym, zero, zero);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#adac6ae51b5125bdf27aa3a05e667f925">assumeSymEQ</a>(State, Sym, zero, zero);</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> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a9990aaf74eb3d251dd30621d0207650b">  114</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a9990aaf74eb3d251dd30621d0207650b">SimpleConstraintManager::assumeAux</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>                                                   <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> Cond,</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>                                                   <span class="keywordtype">bool</span> Assumption) {</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>   <span class="comment">// We cannot reason about SymSymExprs, and can only reason about some</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   <span class="comment">// SymIntExprs.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a02ac9227c2c0d73889f320bc43c28dc8">canReasonAbout</a>(Cond)) {</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="comment">// Just add the constraint to the expression without trying to simplify.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>     <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym = Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#a1d4d871c6cb8e749a3d08c018bd70678">getAsSymExpr</a>();</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a7f33a15761b96e07a4c584335187b4da">assumeAuxForSymbol</a>(state, sym, Assumption);</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> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <span class="keywordflow">switch</span> (Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     llvm_unreachable(<span class="stringliteral">"'Assume' not implemented for this NonLoc"</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>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2aeca584655cc2340158b1a4c527437abd">nonloc::SymbolValKind</a>: {</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>     <a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a> SV = Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>>();</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym = SV.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html#a2c795ef719752d5b3011849f92b67f45">getSymbol</a>();</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     assert(sym);</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="comment">// Handle SymbolData.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordflow">if</span> (!SV.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html#aa0bc173f951e53ef28ac6881062532b0">isExpression</a>()) {</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a7f33a15761b96e07a4c584335187b4da">assumeAuxForSymbol</a>(state, sym, Assumption);</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>     <span class="comment">// Handle symbolic expression.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymIntExpr.html" title="Represents a symbolic expression like 'x' + 3.">SymIntExpr</a> *SE = dyn_cast<SymIntExpr>(sym)) {</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>       <span class="comment">// We can only simplify expressions whose RHS is an integer.</span></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>       <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op = SE->getOpcode();</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op)) {</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>         <span class="keywordflow">if</span> (!Assumption)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>           op = <a class="code" href="classclang_1_1BinaryOperator.html#a6fb3d0cabdc29abc18eca219c1424037">BinaryOperator::negateComparisonOp</a>(op);</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">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a37adfe011f5f19b75cde6784c48d3064">assumeSymRel</a>(state, SE->getLHS(), op, SE->getRHS());</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">  151</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymSymExpr.html" title="Represents a symbolic expression like 'x' + 'y'.">SymSymExpr</a> *SSE = dyn_cast<SymSymExpr>(sym)) {</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>       <span class="comment">// Translate "a != b" to "(b - a) != 0".</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       <span class="comment">// We invert the order of the operands as a heuristic for how loop</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>       <span class="comment">// conditions are usually written ("begin != end") as compared to length</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>       <span class="comment">// calculations ("end - begin"). The more correct thing to do would be to</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>       <span class="comment">// canonicalize "a - b" and "b - a", which would allow us to treat</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       <span class="comment">// "a != b" and "b != a" the same.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>       <a class="code" href="classclang_1_1ento_1_1SymbolManager.html">SymbolManager</a> &SymMgr = <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a91c29698e6304e94ade142097b52e652">getSymbolManager</a>();</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>       <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> Op = SSE->getOpcode();</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>       assert(<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(Op));</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>       <span class="comment">// For now, we only support comparing pointers.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       assert(<a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(SSE->getLHS()->getType()));</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>       assert(<a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(SSE->getRHS()->getType()));</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> DiffTy = SymMgr.<a class="code" href="classclang_1_1ento_1_1SymbolManager.html#adb5499d080c58af32c71b06f86a995bc">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#abdf7588b14d9fa2a1ee40900a0253885" title="Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>. Pointer - pointer requires t...">getPointerDiffType</a>();</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>       <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Subtraction = SymMgr.<a class="code" href="classclang_1_1ento_1_1SymbolManager.html#ae95c60bffd9e083c5ab26c024d3add4b">getSymSymExpr</a>(SSE->getRHS(), <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>,</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>                                                    SSE->getLHS(), DiffTy);</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>       <span class="keyword">const</span> llvm::APSInt &Zero = <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a8c7a589a9d17cc330a8ed072194a23a2">getBasicVals</a>().getValue(0, DiffTy);</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>       Op = <a class="code" href="classclang_1_1BinaryOperator.html#a7a6035c40e72a4b1d7d49ec91503f7c5">BinaryOperator::reverseComparisonOp</a>(Op);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>       <span class="keywordflow">if</span> (!Assumption)</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>         Op = <a class="code" href="classclang_1_1BinaryOperator.html#a6fb3d0cabdc29abc18eca219c1424037">BinaryOperator::negateComparisonOp</a>(Op);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a37adfe011f5f19b75cde6784c48d3064">assumeSymRel</a>(state, Subtraction, Op, Zero);</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> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>     <span class="comment">// If we get here, there's nothing else we can do but treat the symbol as</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="comment">// opaque.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a7f33a15761b96e07a4c584335187b4da">assumeAuxForSymbol</a>(state, sym, Assumption);</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="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a491bec8142b2fbf2ba7505978b932fd7">nonloc::ConcreteIntKind</a>: {</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <span class="keywordtype">bool</span> b = Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>() != 0;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     <span class="keywordtype">bool</span> isFeasible = b ? Assumption : !Assumption;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>     <span class="keywordflow">return</span> isFeasible ? state : <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</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> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a0e2fa8e0ede171e7cab11a1a8710d1b1">nonloc::LocAsIntegerKind</a>:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">assume</a>(state, Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html">nonloc::LocAsInteger</a>>().<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html#a8037defa9c777ff735e8de7f58ef21c5">getLoc</a>(),</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>                   Assumption);</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   } <span class="comment">// end switch</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> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#a2eccbe81b47f633fad21b0942f57bc92">  193</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ento.html#a2eccbe81b47f633fad21b0942f57bc92">computeAdjustment</a>(<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> &Sym, llvm::APSInt &Adjustment) {</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   <span class="comment">// Is it a "($sym+constant1)" expression?</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymIntExpr.html" title="Represents a symbolic expression like 'x' + 3.">SymIntExpr</a> *SE = dyn_cast<SymIntExpr>(Sym)) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> Op = SE->getOpcode();</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>     <span class="keywordflow">if</span> (Op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a> || Op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>) {</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>       Sym = SE->getLHS();</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>       Adjustment = <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a>(Adjustment).<a class="code" href="classclang_1_1ento_1_1APSIntType.html#aac85f811f94ac11147a39e4752b94723">convert</a>(SE->getRHS());</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>       <span class="comment">// Don't forget to negate the adjustment if it's being subtracted.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>       <span class="comment">// This should happen /after/ promotion, in case the value being</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>       <span class="comment">// subtracted is, say, CHAR_MIN, and the promoted type is 'int'.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>       <span class="keywordflow">if</span> (Op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>)</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>         Adjustment = -Adjustment;</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>   }</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"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a37adfe011f5f19b75cde6784c48d3064">  210</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a37adfe011f5f19b75cde6784c48d3064">SimpleConstraintManager::assumeSymRel</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>                                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *LHS,</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>                                                      <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>                                                      <span class="keyword">const</span> llvm::APSInt& Int) {</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   assert(<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op) &&</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>          <span class="stringliteral">"Non-comparison ops should be rewritten as comparisons to zero."</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">// Get the type used for calculating wraparound.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &BVF = <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a8c7a589a9d17cc330a8ed072194a23a2">getBasicVals</a>();</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a> WraparoundType = BVF.<a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html#a3d6b7b403c67825984056e2743462a08" title="Returns the type of the APSInt used to store values of the given QualType.">getAPSIntType</a>(LHS-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#a8b17954fffe297fa90bb61e31dda7074">getType</a>());</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>   <span class="comment">// We only handle simple comparisons of the form "$sym == constant"</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   <span class="comment">// or "($sym+constant1) == constant2".</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   <span class="comment">// The adjustment is "constant1" in the above expression. It's used to</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="comment">// "slide" the solution range around for modular arithmetic. For example,</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="comment">// x < 4 has the solution [0, 3]. x+2 < 4 has the solution [0-2, 3-2], which</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="comment">// in modular arithmetic is [0, 1] U [UINT_MAX-1, UINT_MAX]. It's up to</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="comment">// the subclasses of SimpleConstraintManager to handle the adjustment.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym = LHS;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>   llvm::APSInt Adjustment = WraparoundType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a130cb33224223a589b9292b16cc6c5b6" title="Returns an all-zero value for this type.">getZeroValue</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <a class="code" href="namespaceclang_1_1ento.html#a2eccbe81b47f633fad21b0942f57bc92">computeAdjustment</a>(Sym, Adjustment);</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>   <span class="comment">// Convert the right-hand side integer as necessary.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a> ComparisonType = std::max(WraparoundType, <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a>(Int));</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>   llvm::APSInt ConvertedInt = ComparisonType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#aac85f811f94ac11147a39e4752b94723">convert</a>(Int);</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">// Prefer unsigned comparisons.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   <span class="keywordflow">if</span> (ComparisonType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a635757c3fef0d1e044ce8741c44b1389">getBitWidth</a>() == WraparoundType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a635757c3fef0d1e044ce8741c44b1389">getBitWidth</a>() &&</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>       ComparisonType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#acbbb19ae78f1ded6b3a65e19826bcc91">isUnsigned</a>() && !WraparoundType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#acbbb19ae78f1ded6b3a65e19826bcc91">isUnsigned</a>())</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     Adjustment.setIsSigned(<span class="keyword">false</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="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     llvm_unreachable(<span class="stringliteral">"invalid operation not caught by assertion above"</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="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#adac6ae51b5125bdf27aa3a05e667f925">assumeSymEQ</a>(state, Sym, ConvertedInt, Adjustment);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#aab1d634059950593a4f1a30af0bf7b56">assumeSymNE</a>(state, Sym, ConvertedInt, Adjustment);</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>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a0bdf5289151b23ee6dec93d564d17db1">assumeSymGT</a>(state, Sym, ConvertedInt, Adjustment);</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a6d1243713d45176eff32bbbe3238e3dd">assumeSymGE</a>(state, Sym, ConvertedInt, Adjustment);</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>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ae43fd53cfb1fc0e6327dd8b37c24a391">assumeSymLT</a>(state, Sym, ConvertedInt, Adjustment);</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a6e139cedff9f3c6b97f3a42d5c96c2c8">assumeSymLE</a>(state, Sym, ConvertedInt, Adjustment);</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   } <span class="comment">// end switch</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</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> } <span class="comment">// end of namespace ento</span></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> } <span class="comment">// end of namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SimpleConstraintManager_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,549 @@
+<!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: SimpleConstraintManager.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_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li><li class="navelem"><a class="el" href="dir_9dfcb8f019bd52e3ad37a9c9467cc9bb.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SimpleConstraintManager.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleConstraintManager_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/StaticAnalyzer/Core/Release+Asserts/SimpleConstraintManager.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/SimpleConstraintManager.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  SimpleConstraintManager.cpp SimpleConstraintManager.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.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/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/include/llvm/ADT/BitVector.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> SimpleConstraintManager.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</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> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</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> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h:</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> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</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> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</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> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</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> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</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> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</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> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/IdentifierTable.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</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> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</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> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def:</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> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Stmt.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Builtins.def:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h:</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h:</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h:</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> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h:</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> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h:</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h:</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h:</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/ProgramPoint.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> </div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h:</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h:</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h:</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h:</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h:</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h:</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SimpleConstraintManager_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleConstraintManager_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,179 @@
+<!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: SimpleConstraintManager.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_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SimpleConstraintManager.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleConstraintManager_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">//== SimpleConstraintManager.h ----------------------------------*- 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> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  Code shared between BasicConstraintManager and RangeConstraintManager.</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">#ifndef LLVM_CLANG_GR_SIMPLE_CONSTRAINT_MANAGER_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_GR_SIMPLE_CONSTRAINT_MANAGER_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="ConstraintManager_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="ProgramState_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html">   24</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html">SimpleConstraintManager</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a> {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *SU;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a2201196c1ebac11c64f7605fd983d3f7">   28</a></span>   <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a2201196c1ebac11c64f7605fd983d3f7">SimpleConstraintManager</a>(<a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *subengine, <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SB)</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>     : SU(subengine), SVB(SB) {}</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a539b40c095f9e74f0c348b137b568772">~SimpleConstraintManager</a>();</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   <span class="comment">//===------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="comment">// Common implementation for the interface provided by ConstraintManager.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="comment">//===------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">assume</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> Cond,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>                         <span class="keywordtype">bool</span> Assumption);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ada70fff82994c841fc4b09074cb1b08e">assume</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> Cond, <span class="keywordtype">bool</span> Assumption);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a37adfe011f5f19b75cde6784c48d3064">assumeSymRel</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>                               <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *LHS,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>                               <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>                               <span class="keyword">const</span> llvm::APSInt& Int);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="keyword">protected</span>:</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>   <span class="comment">//===------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="comment">// Interface that subclasses must implement.</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> </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="comment">// Each of these is of the form "$sym+Adj <> V", where "<>" is the comparison</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   <span class="comment">// operation for the method being invoked.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#aab1d634059950593a4f1a30af0bf7b56">assumeSymNE</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>                                      <span class="keyword">const</span> llvm::APSInt& V,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>                                      <span class="keyword">const</span> llvm::APSInt& Adjustment) = 0;</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>   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#adac6ae51b5125bdf27aa3a05e667f925">assumeSymEQ</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym,</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>                                      <span class="keyword">const</span> llvm::APSInt& V,</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>                                      <span class="keyword">const</span> llvm::APSInt& Adjustment) = 0;</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>   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#ae43fd53cfb1fc0e6327dd8b37c24a391">assumeSymLT</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym,</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>                                      <span class="keyword">const</span> llvm::APSInt& V,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>                                      <span class="keyword">const</span> llvm::APSInt& Adjustment) = 0;</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>   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a0bdf5289151b23ee6dec93d564d17db1">assumeSymGT</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>                                      <span class="keyword">const</span> llvm::APSInt& V,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                                      <span class="keyword">const</span> llvm::APSInt& Adjustment) = 0;</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>   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a6e139cedff9f3c6b97f3a42d5c96c2c8">assumeSymLE</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>                                      <span class="keyword">const</span> llvm::APSInt& V,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>                                      <span class="keyword">const</span> llvm::APSInt& Adjustment) = 0;</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>   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a6d1243713d45176eff32bbbe3238e3dd">assumeSymGE</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>                                      <span class="keyword">const</span> llvm::APSInt& V,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                                      <span class="keyword">const</span> llvm::APSInt& Adjustment) = 0;</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>   <span class="comment">//===------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   <span class="comment">// Internal implementation.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   <span class="comment">//===------------------------------------------------------------------===//</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_1ento_1_1SimpleConstraintManager.html#a8c7a589a9d17cc330a8ed072194a23a2">   82</a></span>   <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &<a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a8c7a589a9d17cc330a8ed072194a23a2">getBasicVals</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a697d1ac4d12b23dacbf8c836564a2b06">getBasicValueFactory</a>(); }</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a91c29698e6304e94ade142097b52e652">   83</a></span>   <a class="code" href="classclang_1_1ento_1_1SymbolManager.html">SymbolManager</a> &<a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a91c29698e6304e94ade142097b52e652">getSymbolManager</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#acc2441d4734f7b5d1bde2065918ef311">getSymbolManager</a>(); }</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>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a02ac9227c2c0d73889f320bc43c28dc8">canReasonAbout</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>) <span class="keyword">const</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>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a9990aaf74eb3d251dd30621d0207650b">assumeAux</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                 <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> Cond,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>                                 <span class="keywordtype">bool</span> Assumption);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1SimpleConstraintManager.html#a7f33a15761b96e07a4c584335187b4da">assumeAuxForSymbol</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                                          <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>                                          <span class="keywordtype">bool</span> Assumption);</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> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> } <span class="comment">// end GR namespace</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">   98</span> } <span class="comment">// end clang namespace</span></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> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SimpleFormatContext_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleFormatContext_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleFormatContext_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleFormatContext_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,156 @@
+<!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: SimpleFormatContext.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_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_97990bd417c20c8e3a9275e4fd2cf388.html">Index</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SimpleFormatContext.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleFormatContext_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">//===--- SimpleFormatContext.h ----------------------------------*- 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> <span class="comment">//</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">///</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// \brief Defines a utility class for use of clang-format in libclang</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> <span class="comment">//===----------------------------------------------------------------------===//</span></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> <span class="preprocessor">#ifndef LLVM_CLANG_SIMPLE_FORM_CONTEXT_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_SIMPLE_FORM_CONTEXT_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</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="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="DiagnosticOptions_8h.html">clang/Basic/DiagnosticOptions.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="FileManager_8h.html" title="Defines the clang::FileManager interface and associated types.">clang/Basic/FileManager.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="LangOptions_8h.html" title="Defines the clang::LangOptions interface.">clang/Basic/LangOptions.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="SourceManager_8h.html" title="Defines the SourceManager interface.">clang/Basic/SourceManager.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "<a class="code" href="Rewriter_8h.html">clang/Rewrite/Core/Rewriter.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">namespace </span>index {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">/// \brief A small class to be used by libclang clients to format</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// a declaration string in memory. This object is instantiated once</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// and used each time a formatting is needed.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html">   35</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html" title="A small class to be used by libclang clients to format a declaration string in memory. This object is instantiated once and used each time a formatting is needed.">SimpleFormatContext</a> {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a696dbcb63a1ca7b35f3138663162fc87">   37</a></span>   <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a696dbcb63a1ca7b35f3138663162fc87">SimpleFormatContext</a>(<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> Options)</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>       : <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ade409d809d35b1bdf7d9c3c9819025e5">DiagOpts</a>(new <a class="code" href="classclang_1_1DiagnosticOptions.html" title="Options for controlling the compiler diagnostics engine.">DiagnosticOptions</a>()),</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>         <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a39ed858caa95b629c61988afb633b5b2">Diagnostics</a>(new <a class="code" href="classclang_1_1DiagnosticsEngine.html" title="Concrete class used by the front-end to report problems and issues.">DiagnosticsEngine</a>(new <a class="code" href="classclang_1_1DiagnosticIDs.html" title="Used for handling and querying diagnostic IDs.">DiagnosticIDs</a>,</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>                                           <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ade409d809d35b1bdf7d9c3c9819025e5">DiagOpts</a>.getPtr())),</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>         <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a47d42d361dab002c7dbca26da11507f3">Files</a>((<a class="code" href="classclang_1_1FileSystemOptions.html" title="Keeps track of options that affect how file operations are performed.">FileSystemOptions</a>())),</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>         <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad5d649eaebd89bdd9b40977dbfb5a35d">Sources</a>(*<a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a39ed858caa95b629c61988afb633b5b2">Diagnostics</a>, <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a47d42d361dab002c7dbca26da11507f3">Files</a>),</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>         <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ac62f9a6faa528d890ae872a597e549fe">Rewrite</a>(<a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad5d649eaebd89bdd9b40977dbfb5a35d">Sources</a>, Options) {</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a39ed858caa95b629c61988afb633b5b2">Diagnostics</a>->setClient(<span class="keyword">new</span> <a class="code" href="classclang_1_1IgnoringDiagConsumer.html" title="A diagnostic client that ignores all diagnostics.">IgnoringDiagConsumer</a>, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   }</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad04c4b3f80336e6fad22280d0ba57dfd">   47</a></span>   <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad04c4b3f80336e6fad22280d0ba57dfd">~SimpleFormatContext</a>() { }</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a8d5ecacbdf90eefde54e6b2257bcfe93">   49</a></span>   <a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a8d5ecacbdf90eefde54e6b2257bcfe93">createInMemoryFile</a>(StringRef Name, StringRef Content) {</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     <span class="keyword">const</span> llvm::MemoryBuffer *Source =</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>         llvm::MemoryBuffer::getMemBuffer(Content);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FileEntry.html" title="Cached information about one file (either on disk or in the virtual file system).">FileEntry</a> *Entry =</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>         <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a47d42d361dab002c7dbca26da11507f3">Files</a>.<a class="code" href="classclang_1_1FileManager.html#a7dd8ef9d948ba6281672e34eb8adaa2a" title="Retrieve a file entry for a "virtual" file that acts as if there were a file with the given name on d...">getVirtualFile</a>(Name, Source->getBufferSize(), 0);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>     <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad5d649eaebd89bdd9b40977dbfb5a35d">Sources</a>.<a class="code" href="classclang_1_1SourceManager.html#a0eb85320100e00c98e4bc3305e6e8753" title="Override the contents of the given source file by providing an already-allocated buffer.">overrideFileContents</a>(Entry, Source, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     assert(Entry != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad5d649eaebd89bdd9b40977dbfb5a35d">Sources</a>.<a class="code" href="classclang_1_1SourceManager.html#acefb5d310242160b1910104bbf4d8b2d" title="Create a new FileID that represents the specified file being #included from the specified IncludePosi...">createFileID</a>(Entry, <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="namespaceclang_1_1SrcMgr.html#a27297b3568f189486de6df08a8cba35dab0548ddada8d87ad92e94d67e5af0a4f">SrcMgr::C_User</a>);</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> </div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a85b876cccf08f37aab261d10f2c73098">   59</a></span>   std::string <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a85b876cccf08f37aab261d10f2c73098">getRewrittenText</a>(<a class="code" href="classclang_1_1FileID.html" title="An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with it...">FileID</a> <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="l00060"></a><span class="lineno">   60</span>     std::string Result;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     llvm::raw_string_ostream OS(Result);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>     <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ac62f9a6faa528d890ae872a597e549fe">Rewrite</a>.<a class="code" href="classclang_1_1Rewriter.html#af32f2495719e07ae3388278d2b5b8102">getEditBuffer</a>(ID).<a class="code" href="classclang_1_1RewriteBuffer.html#ac6173ac696c168df9d6cb3ac197e73a9" title="Write to Stream the result of applying all changes to the original buffer. Note that it isn't safe to...">write</a>(OS);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>     OS.flush();</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>     <span class="keywordflow">return</span> Result;</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_1index_1_1SimpleFormatContext.html#ade409d809d35b1bdf7d9c3c9819025e5">   67</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticOptions></a> <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ade409d809d35b1bdf7d9c3c9819025e5">DiagOpts</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a39ed858caa95b629c61988afb633b5b2">   68</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<DiagnosticsEngine></a> <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a39ed858caa95b629c61988afb633b5b2">Diagnostics</a>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a47d42d361dab002c7dbca26da11507f3">   69</a></span>   <a class="code" href="classclang_1_1FileManager.html" title="Implements support for file system lookup, file system caching, and directory search management...">FileManager</a> <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#a47d42d361dab002c7dbca26da11507f3">Files</a>;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ad5d649eaebd89bdd9b40977dbfb5a35d">   70</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_1index_1_1SimpleFormatContext.html#ad5d649eaebd89bdd9b40977dbfb5a35d">Sources</a>;</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ac62f9a6faa528d890ae872a597e549fe">   71</a></span>   <a class="code" href="classclang_1_1Rewriter.html">Rewriter</a> <a class="code" href="classclang_1_1index_1_1SimpleFormatContext.html#ac62f9a6faa528d890ae872a597e549fe">Rewrite</a>;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> };</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> } <span class="comment">// end namespace index</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> } <span class="comment">// end namespace clang</span></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> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:14:10 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/SimpleSValBuilder_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleSValBuilder_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleSValBuilder_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleSValBuilder_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1024 @@
+<!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: SimpleSValBuilder.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_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_8c061bf4f1cf580e717ceaf4321c4465.html">Core</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">SimpleSValBuilder.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleSValBuilder_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">// SimpleSValBuilder.cpp - A basic SValBuilder -----------------------*- 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> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines SimpleSValBuilder, a basic implementation of SValBuilder.</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="SValBuilder_8h.html">clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="APSIntType_8h.html">clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="ProgramState_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">using namespace </span>ento;</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="keyword">namespace </span>{</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">class </span>SimpleSValBuilder : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> dispatchCast(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val, <a class="code" href="classclang_1_1QualType.html">QualType</a> castTy);</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalCastFromNonLoc(<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> val, <a class="code" href="classclang_1_1QualType.html">QualType</a> castTy);</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalCastFromLoc(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> val, <a class="code" href="classclang_1_1QualType.html">QualType</a> castTy);</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">public</span>:</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   SimpleSValBuilder(llvm::BumpPtrAllocator &alloc, <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &context,</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>                     <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &stateMgr)</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>                     : <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a>(alloc, context, stateMgr) {}</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   <span class="keyword">virtual</span> ~SimpleSValBuilder() {}</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalMinus(<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> val);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalComplement(<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> val);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalBinOpNN(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>                            <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> lhs, <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> rhs, <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalBinOpLL(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>                            <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> lhs, <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> rhs, <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> evalBinOpLN(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>                            <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> lhs, <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> rhs, <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy);</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">  /// getKnownValue - evaluates a given SVal. If the SVal has only one possible</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">  ///  (integer) value, that value is returned. Otherwise, returns NULL.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> llvm::APSInt *getKnownValue(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V);</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> MakeSymIntVal(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *LHS, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>                      <span class="keyword">const</span> llvm::APSInt &RHS, <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy);</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">// end anonymous namespace</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#a2c7edf92eaa5aa1cd9730c9c0e943f48">   52</a></span> <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> *<a class="code" href="namespaceclang_1_1ento.html#a2c7edf92eaa5aa1cd9730c9c0e943f48">ento::createSimpleSValBuilder</a>(llvm::BumpPtrAllocator &alloc,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>                                            <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &context,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>                                            <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &stateMgr) {</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> SimpleSValBuilder(alloc, context, stateMgr);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> }</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> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">// Transfer function for Casts.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">//===----------------------------------------------------------------------===//</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">   62</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::dispatchCast(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> Val, <a class="code" href="classclang_1_1QualType.html">QualType</a> CastTy) {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   assert(Val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>>() || Val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>());</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="keywordflow">return</span> Val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>>() ? evalCastFromLoc(Val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>>(), CastTy)</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>                            : evalCastFromNonLoc(Val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>(), CastTy);</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">   68</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalCastFromNonLoc(<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> val, <a class="code" href="classclang_1_1QualType.html">QualType</a> castTy) {</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>   <span class="keywordtype">bool</span> isLocType = <a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(castTy);</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>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::LocAsInteger></a> LI = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html">nonloc::LocAsInteger</a>>()) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     <span class="keywordflow">if</span> (isLocType)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>       <span class="keywordflow">return</span> LI->getLoc();</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>     <span class="comment">// FIXME: Correctly support promotions/truncations.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     <span class="keywordtype">unsigned</span> castSize = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(castTy);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     <span class="keywordflow">if</span> (castSize == LI->getNumBits())</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>       <span class="keywordflow">return</span> val;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>     <span class="keywordflow">return</span> makeLocAsInteger(LI->getLoc(), castSize);</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> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *se = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a8f4711f2caab9af6d7296473271ec034">getAsSymbolicExpression</a>()) {</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a7e70bb7eebf01548a0cab752e390ba37" title="Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...">getCanonicalType</a>(se->getType());</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>     <span class="comment">// If types are the same or both are integers, ignore the cast.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     <span class="comment">// FIXME: Remove this hack when we support symbolic truncation/extension.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>     <span class="comment">// HACK: If both castTy and T are integers, ignore the cast.  This is</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     <span class="comment">// not a permanent solution.  Eventually we want to precisely handle</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>     <span class="comment">// extension/truncation of symbolic integers.  This prevents us from losing</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <span class="comment">// precision when we assign 'x = y' and 'y' is symbolic and x and y are</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="comment">// different integer types.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>    <span class="keywordflow">if</span> (haveSameType(T, castTy))</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>       <span class="keywordflow">return</span> val;</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="keywordflow">if</span> (!isLocType)</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       <span class="keywordflow">return</span> makeNonLoc(se, T, castTy);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   }</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>   <span class="comment">// If value is a non integer constant, produce unknown.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   <span class="keywordflow">if</span> (!val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>())</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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>   <span class="comment">// Handle casts to a boolean type.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="keywordflow">if</span> (castTy-><a class="code" href="classclang_1_1Type.html#ac16047fbf3b5325d6528d8557803b0cc">isBooleanType</a>()) {</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     <span class="keywordtype">bool</span> b = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>().getBoolValue();</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     <span class="keywordflow">return</span> makeTruthVal(b, castTy);</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> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="comment">// Only handle casts from integers to integers - if val is an integer constant</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   <span class="comment">// being cast to a non integer type, produce unknown.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   <span class="keywordflow">if</span> (!isLocType && !castTy-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>())</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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>   llvm::APSInt i = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>();</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   BasicVals.getAPSIntType(castTy).apply(i);</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>   <span class="keywordflow">if</span> (isLocType)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <span class="keywordflow">return</span> makeIntLocVal(i);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="keywordflow">return</span> makeIntVal(i);</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> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalCastFromLoc(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> val, <a class="code" href="classclang_1_1QualType.html">QualType</a> castTy) {</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>   <span class="comment">// Casts from pointers -> pointers, just return the lval.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="comment">// Casts from pointers -> references, just return the lval.  These</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   <span class="comment">//   can be introduced by the frontend for corner cases, e.g</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   <span class="comment">//   casting from va_list* to __builtin_va_list&.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(castTy) || castTy-><a class="code" href="classclang_1_1Type.html#ab2b860560d2ac12cd365aa09b143d195">isReferenceType</a>())</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     <span class="keywordflow">return</span> val;</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="comment">// FIXME: Handle transparent unions where a value can be "transparently"</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   <span class="comment">//  lifted into a union type.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   <span class="keywordflow">if</span> (castTy-><a class="code" href="classclang_1_1Type.html#aeb2ffe71ce3dab180574284222a92bc3">isUnionType</a>())</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <span class="comment">// Casting a Loc to a bool will almost always be true,</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   <span class="comment">// unless this is a weak function or a symbolic region.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <span class="keywordflow">if</span> (castTy-><a class="code" href="classclang_1_1Type.html#ac16047fbf3b5325d6528d8557803b0cc">isBooleanType</a>()) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>     <span class="keywordflow">switch</span> (val.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1loc.html#a9f27b6888e6d63271e22dd6d571ecfb1a7d0b9b6f5b00142ca3321a9df72bc779">loc::MemRegionKind</a>: {</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *R = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>>().getRegion();</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1FunctionTextRegion.html" title="FunctionTextRegion - A region that represents code texts of function.">FunctionTextRegion</a> *FTR = dyn_cast<FunctionTextRegion>(R))</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>           <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *FD = dyn_cast<FunctionDecl>(FTR->getDecl()))</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>             <span class="keywordflow">if</span> (FD->isWeak())</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>               <span class="comment">// FIXME: Currently we are using an extent symbol here,</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>               <span class="comment">// because there are no generic region address metadata</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>               <span class="comment">// symbols to use, only content metadata.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>               <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>(SymMgr.getExtentSymbol(FTR));</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a> *SymR = R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a2746acf76bf1351d39c2b7796cc5d472" title="If this is a symbolic region, returns the region. Otherwise, goes up the base chain looking for the f...">getSymbolicBase</a>())</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>           <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>(SymR->getSymbol());</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>         <span class="comment">// FALL-THROUGH</span></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> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1loc.html#a9f27b6888e6d63271e22dd6d571ecfb1a689bc7a64264715d2de7681b59eceeba">loc::GotoLabelKind</a>:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>         <span class="comment">// Labels and non symbolic memory regions are always true.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>         <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, castTy);</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">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="keywordflow">if</span> (castTy-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>()) {</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordtype">unsigned</span> BitWidth = <a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(castTy);</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>     <span class="keywordflow">if</span> (!val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1ConcreteInt.html">loc::ConcreteInt</a>>())</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>       <span class="keywordflow">return</span> makeLocAsInteger(val, BitWidth);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     llvm::APSInt i = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1ConcreteInt.html">loc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>();</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     BasicVals.getAPSIntType(castTy).apply(i);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">return</span> makeIntVal(i);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   }</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>   <span class="comment">// All other cases: return 'UnknownVal'.  This includes casting pointers</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <span class="comment">// to floats, which is probably badness it itself, but this is a good</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>   <span class="comment">// intermediate solution until we do something better.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment">// Transfer function for unary operators.</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">//===----------------------------------------------------------------------===//</span></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> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalMinus(<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> val) {</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="keywordflow">switch</span> (val.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a491bec8142b2fbf2ba7505978b932fd7">nonloc::ConcreteIntKind</a>:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <span class="keywordflow">return</span> val.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().evalMinus(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   }</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> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalComplement(<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>) {</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   <span class="keywordflow">switch</span> (X.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a491bec8142b2fbf2ba7505978b932fd7">nonloc::ConcreteIntKind</a>:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     <span class="keywordflow">return</span> X.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().evalComplement(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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> }</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">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">// Transfer function for binary operators.</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment">//===----------------------------------------------------------------------===//</span></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> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::MakeSymIntVal(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *LHS,</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>                                     <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>                                     <span class="keyword">const</span> llvm::APSInt &RHS,</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>                                     <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy) {</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="keywordtype">bool</span> isIdempotent = <span class="keyword">false</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>   <span class="comment">// Check for a few special cases with known reductions first.</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>     <span class="comment">// We can't reduce this case; just treat it normally.</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a8e23022cab4ed3bcb24b7acd01f623e9">BO_Mul</a>:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     <span class="comment">// a*0 and a*1</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>     <span class="keywordflow">if</span> (RHS == 0)</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>       <span class="keywordflow">return</span> makeIntVal(0, resultTy);</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RHS == 1)</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>       isIdempotent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a58e04dd371aa4ff24af1f1ebc04739a5">BO_Div</a>:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <span class="comment">// a/0 and a/1</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     <span class="keywordflow">if</span> (RHS == 0)</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>       <span class="comment">// This is also handled elsewhere.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UndefinedVal.html">UndefinedVal</a>();</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RHS == 1)</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>       isIdempotent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a91a7868de509af06d04ef1c6e21383be">BO_Rem</a>:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>     <span class="comment">// a%0 and a%1</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>     <span class="keywordflow">if</span> (RHS == 0)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>       <span class="comment">// This is also handled elsewhere.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UndefinedVal.html">UndefinedVal</a>();</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RHS == 1)</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>       <span class="keywordflow">return</span> makeIntVal(0, resultTy);</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a2a7b3ad7ff838b9d313312f2dde50cb0">BO_Shl</a>:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a05544609a9c447c91873ed3fb1fec26c">BO_Shr</a>:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a01db02868a5b622d647d2a3f7d7d0c5a">BO_Xor</a>:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="comment">// a+0, a-0, a<<0, a>>0, a^0</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="keywordflow">if</span> (RHS == 0)</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>       isIdempotent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1add0a26702b466b3820e0032922751589">BO_And</a>:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <span class="comment">// a&0 and a&(~0)</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="keywordflow">if</span> (RHS == 0)</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>       <span class="keywordflow">return</span> makeIntVal(0, resultTy);</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RHS.isAllOnesValue())</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>       isIdempotent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a0bbf9a36f955dba18422f3c8800443d1">BO_Or</a>:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <span class="comment">// a|0 and a|(~0)</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     <span class="keywordflow">if</span> (RHS == 0)</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>       isIdempotent = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RHS.isAllOnesValue()) {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>       <span class="keyword">const</span> llvm::APSInt &Result = BasicVals.Convert(resultTy, RHS);</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>(Result);</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>     <span class="keywordflow">break</span>;</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> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   <span class="comment">// Idempotent ops (like a*1) can still change the type of an expression.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   <span class="comment">// Wrap the LHS up in a NonLoc again and let evalCastFromNonLoc do the</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>   <span class="comment">// dirty work.</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>   <span class="keywordflow">if</span> (isIdempotent)</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>       <span class="keywordflow">return</span> evalCastFromNonLoc(<a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>(LHS), resultTy);</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">// If we reach this point, the expression cannot be simplified.</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   <span class="comment">// Make a SymbolVal for the entire expression, after converting the RHS.</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   <span class="keyword">const</span> llvm::APSInt *ConvertedRHS = &RHS;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op)) {</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>     <span class="comment">// We're looking for a type big enough to compare the symbolic value</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     <span class="comment">// with the given constant.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>     <span class="comment">// FIXME: This is an approximation of Sema::UsualArithmeticConversions.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>     <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Ctx = getContext();</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> SymbolType = LHS-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#a8b17954fffe297fa90bb61e31dda7074">getType</a>();</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     uint64_t ValWidth = RHS.getBitWidth();</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     uint64_t TypeWidth = Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(SymbolType);</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>     <span class="keywordflow">if</span> (ValWidth < TypeWidth) {</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>       <span class="comment">// If the value is too small, extend it.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>       ConvertedRHS = &BasicVals.Convert(SymbolType, RHS);</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ValWidth == TypeWidth) {</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>       <span class="comment">// If the value is signed but the symbol is unsigned, do the comparison</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>       <span class="comment">// in unsigned space. [C99 6.3.1.8]</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>       <span class="comment">// (For the opposite case, the value is already unsigned.)</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>       <span class="keywordflow">if</span> (RHS.isSigned() && !SymbolType-><a class="code" href="classclang_1_1Type.html#ac1a93888d84731955cd5e95d6510aea6">isSignedIntegerOrEnumerationType</a>())</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>         ConvertedRHS = &BasicVals.Convert(SymbolType, RHS);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>     }</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   } <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     ConvertedRHS = &BasicVals.Convert(resultTy, RHS);</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>   <span class="keywordflow">return</span> makeNonLoc(LHS, op, *ConvertedRHS, resultTy);</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> </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalBinOpNN(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>                                   <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>                                   <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> lhs, <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> rhs,</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>                                   <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy)  {</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>   <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> InputLHS = lhs;</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>   <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> InputRHS = rhs;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   <span class="comment">// Handle trivial case where left-side and right-side are the same.</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <span class="keywordflow">if</span> (lhs == rhs)</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>         <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>         <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a01db02868a5b622d647d2a3f7d7d0c5a">BO_Xor</a>:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>:</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>         <span class="keywordflow">if</span> (resultTy-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>())</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>           <span class="keywordflow">return</span> makeIntVal(0, resultTy);</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>         <span class="keywordflow">return</span> evalCastFromNonLoc(makeIntVal(0, <span class="comment">/*Unsigned=*/</span><span class="keyword">false</span>), resultTy);</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a0bbf9a36f955dba18422f3c8800443d1">BO_Or</a>:</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1add0a26702b466b3820e0032922751589">BO_And</a>:</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>         <span class="keywordflow">return</span> evalCastFromNonLoc(lhs, resultTy);</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> </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>   <span class="keywordflow">while</span> (1) {</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>     <span class="keywordflow">switch</span> (lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>       <span class="keywordflow">return</span> makeSymExprValNN(state, op, lhs, rhs, resultTy);</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a0e2fa8e0ede171e7cab11a1a8710d1b1">nonloc::LocAsIntegerKind</a>: {</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>       <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> lhsL = lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html">nonloc::LocAsInteger</a>>().getLoc();</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>       <span class="keywordflow">switch</span> (rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a0e2fa8e0ede171e7cab11a1a8710d1b1">nonloc::LocAsIntegerKind</a>:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>           <span class="keywordflow">return</span> evalBinOpLL(state, op, lhsL,</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>                              rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html">nonloc::LocAsInteger</a>>().<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html#a8037defa9c777ff735e8de7f58ef21c5">getLoc</a>(),</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>                              resultTy);</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>         <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a491bec8142b2fbf2ba7505978b932fd7">nonloc::ConcreteIntKind</a>: {</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>           <span class="comment">// Transform the integer into a location and compare.</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>           llvm::APSInt i = rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>();</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>           BasicVals.getAPSIntType(<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a>.<a class="code" href="classclang_1_1ASTContext.html#a485732164c40553bb323c58f5e8bf7a7">VoidPtrTy</a>).apply(i);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>           <span class="keywordflow">return</span> evalBinOpLL(state, op, lhsL, makeLoc(i), resultTy);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>         }</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>         <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>           <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>             <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>               <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>             <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>               <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>             <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>               <span class="comment">// This case also handles pointer arithmetic.</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>               <span class="keywordflow">return</span> makeSymExprValNN(state, op, InputLHS, InputRHS, resultTy);</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>       }</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>     }</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2a491bec8142b2fbf2ba7505978b932fd7">nonloc::ConcreteIntKind</a>: {</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>       llvm::APSInt LHSValue = lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>();</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>       <span class="comment">// If we're dealing with two known constants, just perform the operation.</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::APSInt *KnownRHSValue = getKnownValue(state, rhs)) {</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>         llvm::APSInt RHSValue = *KnownRHSValue;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op)) {</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>           <span class="comment">// We're looking for a type big enough to compare the two values.</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>           <span class="comment">// FIXME: This is not correct. char + short will result in a promotion</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>           <span class="comment">// to int. Unfortunately we have lost types by this point.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>           <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a> CompareType = std::max(<a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a>(LHSValue),</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>                                             <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a>(RHSValue));</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>           CompareType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a1e2839dc46b0ac862536a51ff3578176" title="Convert a given APSInt, in place, to match this type.">apply</a>(LHSValue);</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>           CompareType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a1e2839dc46b0ac862536a51ff3578176" title="Convert a given APSInt, in place, to match this type.">apply</a>(RHSValue);</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1BinaryOperator.html#a381f53a5820f86d481f7788d8a70f49a">BinaryOperator::isShiftOp</a>(op)) {</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>           <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a> IntType = BasicVals.getAPSIntType(resultTy);</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>           IntType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a1e2839dc46b0ac862536a51ff3578176" title="Convert a given APSInt, in place, to match this type.">apply</a>(LHSValue);</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>           IntType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#a1e2839dc46b0ac862536a51ff3578176" title="Convert a given APSInt, in place, to match this type.">apply</a>(RHSValue);</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>         }</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>         <span class="keyword">const</span> llvm::APSInt *Result =</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>           BasicVals.evalAPSInt(op, LHSValue, RHSValue);</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>         <span class="keywordflow">if</span> (!Result)</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>           <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UndefinedVal.html">UndefinedVal</a>();</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>(*Result);</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>       }</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>       <span class="comment">// Swap the left and right sides and flip the operator if doing so</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>       <span class="comment">// allows us to better reason about the expression (this is a form</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>       <span class="comment">// of expression canonicalization).</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>       <span class="comment">// While we're at it, catch some special cases for non-commutative ops.</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>       <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>         op = <a class="code" href="classclang_1_1BinaryOperator.html#a7a6035c40e72a4b1d7d49ec91503f7c5">BinaryOperator::reverseComparisonOp</a>(op);</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>         <span class="comment">// FALL-THROUGH</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>:</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a8e23022cab4ed3bcb24b7acd01f623e9">BO_Mul</a>:</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1add0a26702b466b3820e0032922751589">BO_And</a>:</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a01db02868a5b622d647d2a3f7d7d0c5a">BO_Xor</a>:</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a0bbf9a36f955dba18422f3c8800443d1">BO_Or</a>:</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>         std::swap(lhs, rhs);</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a05544609a9c447c91873ed3fb1fec26c">BO_Shr</a>:</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>         <span class="comment">// (~0)>>a</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>         <span class="keywordflow">if</span> (LHSValue.isAllOnesValue() && LHSValue.isSigned())</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>           <span class="keywordflow">return</span> evalCastFromNonLoc(lhs, resultTy);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>         <span class="comment">// FALL-THROUGH</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a2a7b3ad7ff838b9d313312f2dde50cb0">BO_Shl</a>:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>         <span class="comment">// 0<<a and 0>>a</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>         <span class="keywordflow">if</span> (LHSValue == 0)</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>           <span class="keywordflow">return</span> evalCastFromNonLoc(lhs, resultTy);</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>         <span class="keywordflow">return</span> makeSymExprValNN(state, op, InputLHS, InputRHS, resultTy);</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>         <span class="keywordflow">return</span> makeSymExprValNN(state, op, InputLHS, InputRHS, resultTy);</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>       }</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="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1nonloc.html#a60376287e141ec21afadc0a64f6adbb2aeca584655cc2340158b1a4c527437abd">nonloc::SymbolValKind</a>: {</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>       <span class="comment">// We only handle LHS as simple symbols or SymIntExprs.</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>       <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym = lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>>().getSymbol();</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>       <span class="comment">// LHS is a symbolic expression.</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymIntExpr.html" title="Represents a symbolic expression like 'x' + 3.">SymIntExpr</a> *symIntExpr = dyn_cast<SymIntExpr>(Sym)) {</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>         <span class="comment">// Is this a logical not? (!x is represented as x == 0.)</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>         <span class="keywordflow">if</span> (op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a> && rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a39e08d242aab936652cc53b326cbcc04">isZeroConstant</a>()) {</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>           <span class="comment">// We know how to negate certain expressions. Simplify them here.</span></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>           <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> opc = symIntExpr->getOpcode();</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>           <span class="keywordflow">switch</span> (opc) {</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>           <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>             <span class="comment">// We don't know how to negate this operation.</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>             <span class="comment">// Just handle it as if it were a normal comparison to 0.</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>             <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a30e5536f851a7efedefd1ca23a295741">BO_LAnd</a>:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a7bc0171ddbb52333099a4774326d72c9">BO_LOr</a>:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>             llvm_unreachable(<span class="stringliteral">"Logical operators handled by branching logic."</span>);</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af0f6693357ca6bc7488c1d4de4cbe303">BO_Assign</a>:</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ae54f31f3a3a80606d1570d18fd3e2aa5">BO_MulAssign</a>:</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af6f0e4f3b441322d5d3e662929e03e5c">BO_DivAssign</a>:</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad745afa80b49821a17085fb374a5f1af">BO_RemAssign</a>:</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af2474871202242b544a408e208f2399e">BO_AddAssign</a>:</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abc31e47183ba44dc8fc651c06cce3277">BO_SubAssign</a>:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a8039f4b36186fda6134f233fd7f45ce3">BO_ShlAssign</a>:</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a604ed36a5eeadd90dc085a248eca4374">BO_ShrAssign</a>:</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab40fb7aa73ca8472468f2623a6339759">BO_AndAssign</a>:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a51df4970d4b108c4481cb80eeb47f436">BO_XorAssign</a>:</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a7dd0c189f68df30c2b390bb99d140cbf">BO_OrAssign</a>:</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ae3c9652c3c01080bd794e8e03988e278">BO_Comma</a>:</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>             llvm_unreachable(<span class="stringliteral">"'=' and ',' operators handled by ExprEngine."</span>);</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a31e63255bd536c2d74a66ac47160ed53">BO_PtrMemD</a>:</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ae432d0b89cd5293af333b8854e20fd40">BO_PtrMemI</a>:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>             llvm_unreachable(<span class="stringliteral">"Pointer arithmetic not handled here."</span>);</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>           <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>             assert(resultTy-><a class="code" href="classclang_1_1Type.html#ac16047fbf3b5325d6528d8557803b0cc">isBooleanType</a>() ||</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>                    resultTy == getConditionType());</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>             assert(symIntExpr->getType()->isBooleanType() ||</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>                    getContext().hasSameUnqualifiedType(symIntExpr->getType(),</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>                                                        getConditionType()));</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>             <span class="comment">// Negate the comparison and make a value.</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>             opc = <a class="code" href="classclang_1_1BinaryOperator.html#a6fb3d0cabdc29abc18eca219c1424037">BinaryOperator::negateComparisonOp</a>(opc);</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>             <span class="keywordflow">return</span> makeNonLoc(symIntExpr->getLHS(), opc,</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>                 symIntExpr->getRHS(), resultTy);</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>           }</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>         }</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>         <span class="comment">// For now, only handle expressions whose RHS is a constant.</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::APSInt *RHSValue = getKnownValue(state, rhs)) {</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>           <span class="comment">// If both the LHS and the current expression are additive,</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>           <span class="comment">// fold their constants and try again.</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>           <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#a385ae7be55fbcc8c66ee2be2969525e7">BinaryOperator::isAdditiveOp</a>(op)) {</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>             <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> lop = symIntExpr->getOpcode();</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>             <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#a385ae7be55fbcc8c66ee2be2969525e7">BinaryOperator::isAdditiveOp</a>(lop)) {</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>               <span class="comment">// Convert the two constants to a common type, then combine them.</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>               <span class="comment">// resultTy may not be the best type to convert to, but it's</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>               <span class="comment">// probably the best choice in expressions with mixed type</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>               <span class="comment">// (such as x+1U+2LL). The rules for implicit conversions should</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>               <span class="comment">// choose a reasonable type to preserve the expression, and will</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>               <span class="comment">// at least match how the value is going to be used.</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>               <a class="code" href="classclang_1_1ento_1_1APSIntType.html" title="A record of the "type" of an APSInt, used for conversions.">APSIntType</a> IntType = BasicVals.getAPSIntType(resultTy);</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>               <span class="keyword">const</span> llvm::APSInt &first = IntType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#aac85f811f94ac11147a39e4752b94723">convert</a>(symIntExpr->getRHS());</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>               <span class="keyword">const</span> llvm::APSInt &second = IntType.<a class="code" href="classclang_1_1ento_1_1APSIntType.html#aac85f811f94ac11147a39e4752b94723">convert</a>(*RHSValue);</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>               <span class="keyword">const</span> llvm::APSInt *newRHS;</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>               <span class="keywordflow">if</span> (lop == op)</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>                 newRHS = BasicVals.evalAPSInt(<a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>, first, second);</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>               <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>                 newRHS = BasicVals.evalAPSInt(<a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>, first, second);</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> </div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>               assert(newRHS && <span class="stringliteral">"Invalid operation despite common type!"</span>);</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>               rhs = <a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>(*newRHS);</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>               lhs = <a class="code" href="classclang_1_1ento_1_1nonloc_1_1SymbolVal.html" title="Represents symbolic expression.">nonloc::SymbolVal</a>(symIntExpr->getLHS());</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>               op = lop;</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>               <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>             }</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>           }</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>           <span class="comment">// Otherwise, make a SymIntExpr out of the expression.</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>           <span class="keywordflow">return</span> MakeSymIntVal(symIntExpr, op, *RHSValue, resultTy);</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>       }</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">// Does the symbolic expression simplify to a constant?</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>       <span class="comment">// If so, "fold" the constant by setting 'lhs' to a ConcreteInt</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>       <span class="comment">// and try again.</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>       <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a> &CMgr = state->getConstraintManager();</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::APSInt *Constant = CMgr.<a class="code" href="classclang_1_1ento_1_1ConstraintManager.html#aa491b614fa90854beb2e7c328505a527" title="If a symbol is perfectly constrained to a constant, attempt to return the concrete value...">getSymVal</a>(state, Sym)) {</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>         lhs = <a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>(*Constant);</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>       }</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> </div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>       <span class="comment">// Is the RHS a constant?</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::APSInt *RHSValue = getKnownValue(state, rhs))</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>         <span class="keywordflow">return</span> MakeSymIntVal(Sym, op, *RHSValue, resultTy);</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> </div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>       <span class="comment">// Give up -- this is not a symbolic expression we can handle.</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>       <span class="keywordflow">return</span> makeSymExprValNN(state, op, InputLHS, InputRHS, resultTy);</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     }</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>   }</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> }</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> </div>
+<div class="line"><a name="l00536"></a><span class="lineno"><a class="code" href="SimpleSValBuilder_8cpp.html#abf55751a6b84ac5790b31dfc2d5a1973">  536</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="SimpleSValBuilder_8cpp.html#abf55751a6b84ac5790b31dfc2d5a1973">evalBinOpFieldRegionFieldRegion</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a> *LeftFR,</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a> *RightFR,</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>                                             <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>                                             <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy,</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>                                             SimpleSValBuilder &SVB) {</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>   <span class="comment">// Only comparisons are meaningful here!</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op))</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> </div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   <span class="comment">// Next, see if the two FRs have the same super-region.</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   <span class="comment">// FIXME: This doesn't handle casts yet, and simply stripping the casts</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <span class="comment">// doesn't help.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <span class="keywordflow">if</span> (LeftFR-><a class="code" href="classclang_1_1ento_1_1SubRegion.html#ada0aa8debb5fb41ca2c50ee2eb6c3ac1">getSuperRegion</a>() != RightFR-><a class="code" href="classclang_1_1ento_1_1SubRegion.html#ada0aa8debb5fb41ca2c50ee2eb6c3ac1">getSuperRegion</a>())</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *LeftFD = LeftFR-><a class="code" href="classclang_1_1ento_1_1FieldRegion.html#a558e24f4ebcc5ee30d7c5b97632c0cbd">getDecl</a>();</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *RightFD = RightFR-><a class="code" href="classclang_1_1ento_1_1FieldRegion.html#a558e24f4ebcc5ee30d7c5b97632c0cbd">getDecl</a>();</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RD = LeftFD-><a class="code" href="classclang_1_1FieldDecl.html#a3a28e1eb11c273ba8d964a990ac116d6">getParent</a>();</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> </div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   <span class="comment">// Make sure the two FRs are from the same kind of record. Just in case!</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>   <span class="comment">// FIXME: This is probably where inheritance would be a problem.</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="keywordflow">if</span> (RD != RightFD-><a class="code" href="classclang_1_1FieldDecl.html#a3a28e1eb11c273ba8d964a990ac116d6">getParent</a>())</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> </div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   <span class="comment">// We know for sure that the two fields are not the same, since that</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   <span class="comment">// would have given us the same SVal.</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="keywordflow">if</span> (op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>)</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>     <span class="keywordflow">return</span> SVB.makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>   <span class="keywordflow">if</span> (op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>)</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>     <span class="keywordflow">return</span> SVB.makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> </div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>   <span class="comment">// Iterate through the fields and see which one comes first.</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>   <span class="comment">// [C99 6.7.2.1.13] "Within a structure object, the non-bit-field</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <span class="comment">// members and the units in which bit-fields reside have addresses that</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   <span class="comment">// increase in the order in which they are declared."</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>   <span class="keywordtype">bool</span> leftFirst = (op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a> || op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>);</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> I = RD-><a class="code" href="classclang_1_1RecordDecl.html#a723c70951c30c075e7a516d1933683e4">field_begin</a>(),</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>        E = RD-><a class="code" href="classclang_1_1RecordDecl.html#a118f17574e4199f2d26cd20902dc88ca">field_end</a>(); I!=E; ++I) {</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>     <span class="keywordflow">if</span> (*I == LeftFD)</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>       <span class="keywordflow">return</span> SVB.makeTruthVal(leftFirst, resultTy);</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>     <span class="keywordflow">if</span> (*I == RightFD)</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>       <span class="keywordflow">return</span> SVB.makeTruthVal(!leftFirst, resultTy);</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   }</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span> </div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>   llvm_unreachable(<span class="stringliteral">"Fields not found in parent record's definition"</span>);</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> </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> <span class="comment">// FIXME: all this logic will change if/when we have MemRegion::getLocation().</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalBinOpLL(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>                                   <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>                                   <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> lhs, <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> rhs,</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>                                   <a class="code" href="classclang_1_1QualType.html">QualType</a> resultTy) {</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   <span class="comment">// Only comparisons and subtractions are valid operations on two pointers.</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>   <span class="comment">// See [C99 6.5.5 through 6.5.14] or [C++0x 5.6 through 5.15].</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>   <span class="comment">// However, if a pointer is casted to an integer, evalBinOpNN may end up</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>   <span class="comment">// calling this function with another operation (PR7527). We don't attempt to</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>   <span class="comment">// model this for now, but it could be useful, particularly when the</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>   <span class="comment">// "location" is actually an integer value that's been passed through a void*.</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="keywordflow">if</span> (!(<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op) || op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>))</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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">// Special cases for when both sides are identical.</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>   <span class="keywordflow">if</span> (lhs == rhs) {</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>     <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>       llvm_unreachable(<span class="stringliteral">"Unimplemented operation for two identical values"</span>);</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>:</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>       <span class="keywordflow">return</span> makeZeroVal(resultTy);</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>       <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>       <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>     }</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>   }</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="keywordflow">switch</span> (lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#acf291515875bf31cf65d0f387fda75f2">getSubKind</a>()) {</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>     llvm_unreachable(<span class="stringliteral">"Ordering not implemented for this Loc."</span>);</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1loc.html#a9f27b6888e6d63271e22dd6d571ecfb1a689bc7a64264715d2de7681b59eceeba">loc::GotoLabelKind</a>:</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>     <span class="comment">// The only thing we know about labels is that they're non-null.</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>     <span class="keywordflow">if</span> (rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a39e08d242aab936652cc53b326cbcc04">isZeroConstant</a>()) {</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>       <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>:</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>         <span class="keywordflow">return</span> evalCastFromLoc(lhs, resultTy);</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>         <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>         <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>       }</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>     }</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>     <span class="comment">// There may be two labels for the same location, and a function region may</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>     <span class="comment">// have the same address as a label at the start of the function (depending</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>     <span class="comment">// on the ABI).</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>     <span class="comment">// FIXME: we can probably do a comparison against other MemRegions, though.</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>     <span class="comment">// FIXME: is there a way to tell if two labels refer to the same location?</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>(); </div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> </div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento_1_1loc.html#a9f27b6888e6d63271e22dd6d571ecfb1ad302a2387bc831890763a70db6cb51d4">loc::ConcreteIntKind</a>: {</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>     <span class="comment">// If one of the operands is a symbol and the other is a constant,</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>     <span class="comment">// build an expression for use by the constraint manager.</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> rSym = rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a3b8f453549206bf8a7b8cb983146d64f" title="If this SVal is a location and wraps a symbol, return that SymbolRef. Otherwise return 0...">getAsLocSymbol</a>()) {</div>
+<div class="line"><a name="l00648"></a><span class=&q