[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="lineno"> 648</span> <span class="comment">// We can only build expressions with symbols on the left,</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment">// so we need a reversible operator.</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno"> 650</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="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div>
+<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="keyword">const</span> llvm::APSInt &lVal = 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_1loc_1_1ConcreteInt.html">loc::ConcreteInt</a>>().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>();</div>
+<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> op = <a class="code" href="classclang_1_1BinaryOperator.html#a7a6035c40e72a4b1d7d49ec91503f7c5">BinaryOperator::reverseComparisonOp</a>(op);</div>
+<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">return</span> makeNonLoc(rSym, op, lVal, resultTy);</div>
+<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div>
+<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="comment">// If both operands are constants, just perform the operation.</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<loc::ConcreteInt></a> rInt = rhs.<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="l00660"></a><span class="lineno"> 660</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ResultVal =</div>
+<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> 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_1loc_1_1ConcreteInt.html">loc::ConcreteInt</a>>().evalBinOp(BasicVals, op, *rInt);</div>
+<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<NonLoc></a> Result = ResultVal.<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="l00663"></a><span class="lineno"> 663</span> <span class="keywordflow">return</span> evalCastFromNonLoc(*Result, resultTy);</div>
+<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> assert(!ResultVal.<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>>() && <span class="stringliteral">"Loc-Loc ops should not produce Locs"</span>);</div>
+<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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="comment">// Special case comparisons against NULL.</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="comment">// This must come after the test if the RHS is a symbol, which is used to</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment">// build constraints. The address of any non-symbolic region is guaranteed</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="comment">// to be non-NULL, as is any label.</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> assert(rhs.<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_1MemRegionVal.html">loc::MemRegionVal</a>>() || rhs.<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_1GotoLabel.html">loc::GotoLabel</a>>());</div>
+<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a39e08d242aab936652cc53b326cbcc04">isZeroConstant</a>()) {</div>
+<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</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> }</div>
+<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> </div>
+<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="comment">// Comparing an arbitrary integer to a region or label address is</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment">// completely unknowable.</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div>
+<div class="line"><a name="l00693"></a><span class="lineno"> 693</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="l00694"></a><span class="lineno"> 694</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<loc::ConcreteInt></a> rInt = rhs.<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="l00695"></a><span class="lineno"> 695</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="l00696"></a><span class="lineno"> 696</span> <span class="comment">// build an expression for use by the constraint manager.</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno"> 697</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> lSym = lhs.<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>(<span class="keyword">true</span>))</div>
+<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">return</span> MakeSymIntVal(lSym, op, rInt->getValue(), resultTy);</div>
+<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div>
+<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="comment">// Special case comparisons to NULL.</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="comment">// This must come after the test if the LHS is a symbol, which is used to</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="comment">// build constraints. The address of any non-symbolic region is guaranteed</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="comment">// to be non-NULL.</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="keywordflow">if</span> (rInt->isZeroConstant()) {</div>
+<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="keywordflow">if</span> (op == <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>)</div>
+<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">return</span> evalCastFromLoc(lhs, resultTy);</div>
+<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div>
+<div class="line"><a name="l00708"></a><span class="lineno"> 708</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="l00709"></a><span class="lineno"> 709</span> <a class="code" href="classclang_1_1QualType.html">QualType</a> boolType = getContext().BoolTy;</div>
+<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> l = evalCastFromLoc(lhs, boolType).<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>>();</div>
+<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a> r = makeTruthVal(<span class="keyword">false</span>, boolType).<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>>();</div>
+<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="keywordflow">return</span> evalBinOpNN(state, op, l, r, resultTy);</div>
+<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> }</div>
+<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> }</div>
+<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div>
+<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="comment">// Comparing a region to an arbitrary integer is completely unknowable.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> }</div>
+<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> </div>
+<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="comment">// Get both values as regions, if possible.</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</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> *LeftMR = lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> assert(LeftMR && <span class="stringliteral">"MemRegionKind SVal doesn't have a region!"</span>);</div>
+<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div>
+<div class="line"><a name="l00724"></a><span class="lineno"> 724</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> *RightMR = rhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="keywordflow">if</span> (!RightMR)</div>
+<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="comment">// The RHS is probably a label, which in theory could address a region.</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="comment">// FIXME: we can probably make a more useful statement about non-code</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="comment">// regions, though.</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
+<div class="line"><a name="l00731"></a><span class="lineno"> 731</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> *LeftBase = LeftMR-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#ae6a57e60007e672aa0444308797d3f57">getBaseRegion</a>();</div>
+<div class="line"><a name="l00732"></a><span class="lineno"> 732</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> *RightBase = RightMR-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#ae6a57e60007e672aa0444308797d3f57">getBaseRegion</a>();</div>
+<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemSpaceRegion.html">MemSpaceRegion</a> *LeftMS = LeftBase-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a4d2b2de69f0bb1c7254b4d0447bd275c">getMemorySpace</a>();</div>
+<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemSpaceRegion.html">MemSpaceRegion</a> *RightMS = RightBase-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a4d2b2de69f0bb1c7254b4d0447bd275c">getMemorySpace</a>();</div>
+<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemSpaceRegion.html">MemSpaceRegion</a> *UnknownMS = MemMgr.getUnknownRegion();</div>
+<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div>
+<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="comment">// If the two regions are from different known memory spaces they cannot be</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="comment">// equal. Also, assume that no symbolic region (whose memory space is</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="comment">// unknown) is on the stack.</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="keywordflow">if</span> (LeftMS != RightMS &&</div>
+<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> ((LeftMS != UnknownMS && RightMS != UnknownMS) ||</div>
+<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> (isa<StackSpaceRegion>(LeftMS) || isa<StackSpaceRegion>(RightMS)))) {</div>
+<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> }</div>
+<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="comment">// If both values wrap regions, see if they're from different base regions.</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="comment">// Note, heap base symbolic regions are assumed to not alias with</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment">// each other; for example, we assume that malloc returns different address</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="comment">// on each invocation.</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="keywordflow">if</span> (LeftBase != RightBase &&</div>
+<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> ((!isa<SymbolicRegion>(LeftBase) && !isa<SymbolicRegion>(RightBase)) ||</div>
+<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> (isa<HeapSpaceRegion>(LeftMS) || isa<HeapSpaceRegion>(RightMS))) ){</div>
+<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">false</span>, resultTy);</div>
+<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="keywordflow">return</span> makeTruthVal(<span class="keyword">true</span>, resultTy);</div>
+<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> }</div>
+<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> }</div>
+<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div>
+<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="comment">// Handle special cases for when both regions are element regions.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ElementRegion.html" title="ElementRegin is used to represent both array elements and casts.">ElementRegion</a> *RightER = dyn_cast<<a class="code" href="classclang_1_1ento_1_1ElementRegion.html" title="ElementRegin is used to represent both array elements and casts.">ElementRegion</a>>(RightMR);</div>
+<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ElementRegion.html" title="ElementRegin is used to represent both array elements and casts.">ElementRegion</a> *LeftER = dyn_cast<<a class="code" href="classclang_1_1ento_1_1ElementRegion.html" title="ElementRegin is used to represent both array elements and casts.">ElementRegion</a>>(LeftMR);</div>
+<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">if</span> (RightER && LeftER) {</div>
+<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="comment">// Next, see if the two ERs have the same super-region and matching types.</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="comment">// FIXME: This should do something useful even if the types don't match,</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="comment">// though if both indexes are constant the RegionRawOffset path will</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="comment">// give the correct answer.</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">if</span> (LeftER->getSuperRegion() == RightER-><a class="code" href="classclang_1_1ento_1_1SubRegion.html#ada0aa8debb5fb41ca2c50ee2eb6c3ac1">getSuperRegion</a>() &&</div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> LeftER->getElementType() == RightER-><a class="code" href="classclang_1_1ento_1_1ElementRegion.html#a4d0db120da905148948c5fc6a7887954">getElementType</a>()) {</div>
+<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">// Get the left index and cast it to the correct type.</span></div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="comment">// If the index is unknown or undefined, bail out here.</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> LeftIndexVal = LeftER->getIndex();</div>
+<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <a class="code" href="classllvm_1_1Optional.html">Optional<NonLoc></a> LeftIndex = LeftIndexVal.<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="l00784"></a><span class="lineno"> 784</span> <span class="keywordflow">if</span> (!LeftIndex)</div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> LeftIndexVal = evalCastFromNonLoc(*LeftIndex, ArrayIndexTy);</div>
+<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> LeftIndex = LeftIndexVal.<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="l00788"></a><span class="lineno"> 788</span> <span class="keywordflow">if</span> (!LeftIndex)</div>
+<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
+<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment">// Do the same for the right index.</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> RightIndexVal = RightER-><a class="code" href="classclang_1_1ento_1_1ElementRegion.html#a0c86b2841f74e7a10e1c0f8183c04683">getIndex</a>();</div>
+<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <a class="code" href="classllvm_1_1Optional.html">Optional<NonLoc></a> RightIndex = RightIndexVal.<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="l00794"></a><span class="lineno"> 794</span> <span class="keywordflow">if</span> (!RightIndex)</div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> RightIndexVal = evalCastFromNonLoc(*RightIndex, ArrayIndexTy);</div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> RightIndex = RightIndexVal.<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="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">if</span> (!RightIndex)</div>
+<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
+<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="comment">// Actually perform the operation.</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="comment">// evalBinOpNN expects the two indexes to already be the right type.</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">return</span> evalBinOpNN(state, op, *LeftIndex, *RightIndex, resultTy);</div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> }</div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> }</div>
+<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div>
+<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="comment">// Special handling of the FieldRegions, even with symbolic offsets.</span></div>
+<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a> *RightFR = dyn_cast<<a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a>>(RightMR);</div>
+<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a> *LeftFR = dyn_cast<<a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a>>(LeftMR);</div>
+<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="keywordflow">if</span> (RightFR && LeftFR) {</div>
+<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> R = <a class="code" href="SimpleSValBuilder_8cpp.html#abf55751a6b84ac5790b31dfc2d5a1973">evalBinOpFieldRegionFieldRegion</a>(LeftFR, RightFR, op, resultTy,</div>
+<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> *<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">if</span> (!R.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>())</div>
+<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="keywordflow">return</span> R;</div>
+<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> }</div>
+<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
+<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="comment">// Compare the regions using the raw offsets.</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <a class="code" href="classclang_1_1ento_1_1RegionOffset.html" title="Represent a region's offset within the top level base region.">RegionOffset</a> LeftOffset = LeftMR-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a246f88b7b1876ecd2def9c2c23b82152" title="Compute the offset within the top level memory object.">getAsOffset</a>();</div>
+<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <a class="code" href="classclang_1_1ento_1_1RegionOffset.html" title="Represent a region's offset within the top level base region.">RegionOffset</a> RightOffset = RightMR-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a246f88b7b1876ecd2def9c2c23b82152" title="Compute the offset within the top level memory object.">getAsOffset</a>();</div>
+<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">if</span> (LeftOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#ac790563400a4e4ae641981064ac2df23">getRegion</a>() != <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> &&</div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> LeftOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#ac790563400a4e4ae641981064ac2df23">getRegion</a>() == RightOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#ac790563400a4e4ae641981064ac2df23">getRegion</a>() &&</div>
+<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> !LeftOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#a0b804c16537e8e5007565dfcc0f3c701">hasSymbolicOffset</a>() && !RightOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#a0b804c16537e8e5007565dfcc0f3c701">hasSymbolicOffset</a>()) {</div>
+<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> int64_t left = LeftOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#aee60bf502472cc11791d7c197d3e7270">getOffset</a>();</div>
+<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> int64_t right = RightOffset.<a class="code" href="classclang_1_1ento_1_1RegionOffset.html#aee60bf502472cc11791d7c197d3e7270">getOffset</a>();</div>
+<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> </div>
+<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>:</div>
+<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keywordflow">return</span> makeTruthVal(left < right, resultTy);</div>
+<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>:</div>
+<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="keywordflow">return</span> makeTruthVal(left > right, resultTy);</div>
+<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>:</div>
+<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="keywordflow">return</span> makeTruthVal(left <= right, resultTy);</div>
+<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>:</div>
+<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="keywordflow">return</span> makeTruthVal(left >= right, resultTy);</div>
+<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="keywordflow">return</span> makeTruthVal(left == right, resultTy);</div>
+<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="keywordflow">return</span> makeTruthVal(left != right, resultTy);</div>
+<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> }</div>
+<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> }</div>
+<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div>
+<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="comment">// At this point we're not going to get a good answer, but we can try</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="comment">// conjuring an expression instead.</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno"> 847</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> LHSSym = lhs.<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="l00848"></a><span class="lineno"> 848</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> RHSSym = 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="l00849"></a><span class="lineno"> 849</span> <span class="keywordflow">if</span> (LHSSym && RHSSym)</div>
+<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> <span class="keywordflow">return</span> makeNonLoc(LHSSym, op, RHSSym, resultTy);</div>
+<div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div>
+<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> <span class="comment">// If we get here, we have no way of comparing the regions.</span></div>
+<div class="line"><a name="l00853"></a><span class="lineno"> 853</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> }</div>
+<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> }</div>
+<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> }</div>
+<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div>
+<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SimpleSValBuilder::evalBinOpLN(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> op,</div>
+<div class="line"><a name="l00860"></a><span class="lineno"> 860</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="l00861"></a><span class="lineno"> 861</span> assert(!<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(op) &&</div>
+<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> <span class="stringliteral">"arguments to comparison ops must be of the same type"</span>);</div>
+<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div>
+<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="comment">// Special case: rhs is a zero constant.</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno"> 865</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="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">return</span> lhs;</div>
+<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> </div>
+<div class="line"><a name="l00868"></a><span class="lineno"> 868</span> <span class="comment">// We are dealing with pointer arithmetic.</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> </div>
+<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> <span class="comment">// Handle pointer arithmetic on constant values.</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::ConcreteInt></a> rhsInt = rhs.<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="l00872"></a><span class="lineno"> 872</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<loc::ConcreteInt></a> lhsInt = lhs.<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="l00873"></a><span class="lineno"> 873</span> <span class="keyword">const</span> llvm::APSInt &leftI = lhsInt->getValue();</div>
+<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> assert(leftI.isUnsigned());</div>
+<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> llvm::APSInt rightI(rhsInt->getValue(), <span class="comment">/* isUnsigned */</span> <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div>
+<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> <span class="comment">// Convert the bitwidth of rightI. This should deal with overflow</span></div>
+<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="comment">// since we are dealing with concrete values.</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> rightI = rightI.extOrTrunc(leftI.getBitWidth());</div>
+<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div>
+<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> <span class="comment">// Offset the increment by the pointer size.</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno"> 882</span> llvm::APSInt Multiplicand(rightI.getBitWidth(), <span class="comment">/* isUnsigned */</span> <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00883"></a><span class="lineno"> 883</span> rightI *= Multiplicand;</div>
+<div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div>
+<div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="comment">// Compute the adjusted pointer.</span></div>
+<div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="keywordflow">switch</span> (op) {</div>
+<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>:</div>
+<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> rightI = leftI + rightI;</div>
+<div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af84c54a9c8a061371180b3e8b25d4c3f">BO_Sub</a>:</div>
+<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> rightI = leftI - rightI;</div>
+<div class="line"><a name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> llvm_unreachable(<span class="stringliteral">"Invalid pointer arithmetic operation"</span>);</div>
+<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> }</div>
+<div class="line"><a name="l00896"></a><span class="lineno"> 896</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1loc_1_1ConcreteInt.html">loc::ConcreteInt</a>(getBasicValueFactory().<a class="code" href="ArrayBoundCheckerV2_8cpp.html#a0f5cc163e1c5feb0c0b0af79d4b4869a">getValue</a>(rightI));</div>
+<div class="line"><a name="l00897"></a><span class="lineno"> 897</span> }</div>
+<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> }</div>
+<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div>
+<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> <span class="comment">// Handle cases where 'lhs' is a region.</span></div>
+<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> <span class="keywordflow">if</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> *region = lhs.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>()) {</div>
+<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> rhs = convertToArrayIndex(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.html">NonLoc</a>>();</div>
+<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> index = <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00904"></a><span class="lineno"> 904</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> *superR = 0;</div>
+<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> <a class="code" href="classclang_1_1QualType.html">QualType</a> elementType;</div>
+<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div>
+<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ElementRegion.html" title="ElementRegin is used to represent both array elements and casts.">ElementRegion</a> *elemReg = dyn_cast<ElementRegion>(region)) {</div>
+<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> assert(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="l00909"></a><span class="lineno"> 909</span> index = evalBinOpNN(state, op, elemReg->getIndex(), rhs,</div>
+<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> getArrayIndexType());</div>
+<div class="line"><a name="l00911"></a><span class="lineno"> 911</span> superR = elemReg->getSuperRegion();</div>
+<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> elementType = elemReg->getElementType();</div>
+<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> }</div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isa<SubRegion>(region)) {</div>
+<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> superR = region;</div>
+<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> index = rhs;</div>
+<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> <span class="keywordflow">if</span> (resultTy-><a class="code" href="classclang_1_1Type.html#a08e1571405fafb2467ba1a1cdd8d9c04">isAnyPointerType</a>())</div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> elementType = resultTy-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00919"></a><span class="lineno"> 919</span> }</div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div>
+<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<NonLoc></a> indexV = index.getAs<<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>()) {</div>
+<div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(MemMgr.getElementRegion(elementType, *indexV,</div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span> superR, getContext()));</div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span> }</div>
+<div class="line"><a name="l00925"></a><span class="lineno"> 925</span> }</div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>(); </div>
+<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> }</div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> </div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="keyword">const</span> llvm::APSInt *SimpleSValBuilder::getKnownValue(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V) {</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>())</div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<loc::ConcreteInt></a> X = V.<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="l00935"></a><span class="lineno"> 935</span> <span class="keywordflow">return</span> &X->getValue();</div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::ConcreteInt></a> X = V.<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="l00938"></a><span class="lineno"> 938</span> <span class="keywordflow">return</span> &X->getValue();</div>
+<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> </div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</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> Sym = V.<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>())</div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="keywordflow">return</span> state->getConstraintManager().getSymVal(state, Sym);</div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="comment">// FIXME: Add support for SymExprs.</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span> <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</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_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleSValBuilder_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleSValBuilder_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleSValBuilder_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,478 @@
+<!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.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">SimpleSValBuilder.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleSValBuilder_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/SimpleSValBuilder.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/SimpleSValBuilder.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> SimpleSValBuilder.cpp \</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/SValBuilder.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/ADT/None.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/Compiler.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/DeclBase.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.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/IdentifierTable.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.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/OperatorKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/PartialDiagnostic.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/Diagnostic.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</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="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.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/ExternalASTSource.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/CharUnits.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/Redeclarable.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.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/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</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="l00065"></a><span class="lineno"> 65</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="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def \</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/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Stmt.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/DeclGroup.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/StmtIterator.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.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/TemplateBase.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/TypeLoc.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.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/CommentOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/Expr.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTVector.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/DeclAccessPair.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TypeTraits.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/Builtins.def \</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</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="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</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="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.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> </div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc:</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/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.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/Casting.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/Support/type_traits.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/APInt.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/include/llvm/ADT/ArrayRef.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/include/llvm/ADT/SmallVector.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/include/llvm/Support/AlignOf.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/include/llvm/Support/Compiler.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/include/llvm/Config/llvm-config.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/Support/MathExtras.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/include/llvm/Support/SwapByteOrder.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/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.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/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.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/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.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/StaticAnalyzer/Core/../../../include/clang/Basic/IdentifierTable.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/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../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/StaticAnalyzer/Core/../../../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/ADT/SmallString.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> /home/tstellar/llvm/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="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> /home/tstellar/llvm/tools/clang/lib/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="l00258"></a><span class="lineno"> 258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> /home/tstellar/llvm/tools/clang/lib/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="l00260"></a><span class="lineno"> 260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</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> /home/tstellar/llvm/include/llvm-c/Core.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</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> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TypeTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h:</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> /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="l00358"></a><span class="lineno"> 358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h:</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h:</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h:</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> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h:</div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> /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="l00390"></a><span class="lineno"> 390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h:</div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h:</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> /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="l00398"></a><span class="lineno"> 398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.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/SimpleStreamChecker_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleStreamChecker_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleStreamChecker_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleStreamChecker_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,366 @@
+<!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: SimpleStreamChecker.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_5fa4c591fb04e7ea3227105bf6cc3359.html">Checkers</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SimpleStreamChecker.cpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleStreamChecker_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">//===-- SimpleStreamChecker.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">// Defines a checker for proper use of fopen/fclose APIs.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// - If a file has been closed with fclose, it should not be accessed again.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// Accessing a closed file results in undefined behavior.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// - If a file was opened with fopen, it must be closed with fclose before</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// the execution ends. Failing to do so results in a resource leak.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">//===----------------------------------------------------------------------===//</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="preprocessor">#include "<a class="code" href="ClangSACheckers_8h.html">ClangSACheckers.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="BugType_8h.html">clang/StaticAnalyzer/Core/BugReporter/BugType.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="Checker_8h.html">clang/StaticAnalyzer/Core/Checker.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="CallEvent_8h.html">clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="CheckerContext_8h.html">clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h</a>"</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>ento;</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> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<SymbolRef, 2></a> SymbolVector;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">struct </span>StreamState {</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">enum</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> { Opened, Closed } K;</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> StreamState(<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> InK) : K(InK) { }</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">public</span>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">bool</span> isOpened()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> K == Opened; }</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">bool</span> isClosed()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> K == Closed; }</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> <span class="keyword">static</span> StreamState getOpened() { <span class="keywordflow">return</span> StreamState(Opened); }</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> StreamState getClosed() { <span class="keywordflow">return</span> StreamState(Closed); }</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang.html#a291d36360b70f878533d50fde94b1465">operator==</a>(<span class="keyword">const</span> StreamState &<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> K == X.K;</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> <span class="keywordtype">void</span> Profile(llvm::FoldingSetNodeID &<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>{</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> ID.AddInteger(K);</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> };</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>SimpleStreamChecker : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1Checker.html">Checker</a><check::PostCall,</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> check::PreCall,</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> check::DeadSymbols,</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> check::PointerEscape> {</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">mutable</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *IIfopen, *IIfclose;</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> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> DoubleCloseBugType;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> LeakBugType;</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="keywordtype">void</span> initIdentifierInfo(<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) <span class="keyword">const</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="keywordtype">void</span> reportDoubleClose(<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> FileDescSym,</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call,</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">void</span> reportLeaks(SymbolVector LeakedStreams,</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *ErrNode) <span class="keyword">const</span>;</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> guaranteedNotToCloseFile(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call) <span class="keyword">const</span>;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> SimpleStreamChecker();</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> /// Process fopen.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span> <span class="keywordtype">void</span> checkPostCall(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;<span class="comment"></span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> /// Process fclose.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span> <span class="keywordtype">void</span> checkPreCall(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;</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> <span class="keywordtype">void</span> checkDeadSymbols(<a class="code" href="classclang_1_1ento_1_1SymbolReaper.html" title="A class responsible for cleaning up unused symbols.">SymbolReaper</a> &SymReaper, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> /// Stop tracking addresses which escape.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> checkPointerEscape(<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="l00084"></a><span class="lineno"> 84</span> <span class="keyword">const</span> <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> &Escaped,</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> *Call,</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <a class="code" href="namespaceclang_1_1ento.html#a1f45158b71c9d04bfd6094ee29a38e59" title="Describes the different reasons a pointer escapes during analysis.">PointerEscapeKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> };</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">/// The state of the checker is a map from tracked stream symbols to their</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment">/// state. Let's store it in the ProgramState.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"></span><a class="code" href="MacOSKeychainAPIChecker_8cpp.html#a7e7410348933f0f1e06f82deb494dd48">REGISTER_MAP_WITH_PROGRAMSTATE</a>(StreamMap, <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>, StreamState)</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> namespace {</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">class </span>StopTrackingCallback : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a> {</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state;</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> StopTrackingCallback(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st) : state(st) {}</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> getState()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state; }</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">bool</span> VisitSymbol(<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="l00103"></a><span class="lineno"> 103</span> state = state->remove<StreamMap>(sym);</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> };</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> } <span class="comment">// end anonymous namespace</span></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> SimpleStreamChecker::SimpleStreamChecker() : IIfopen(0), IIfclose(0) {</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// Initialize the bug types.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> DoubleCloseBugType.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a>(<span class="stringliteral">"Double fclose"</span>,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="stringliteral">"Unix Stream API Error"</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> LeakBugType.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a>(<span class="stringliteral">"Resource Leak"</span>,</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="stringliteral">"Unix Stream API Error"</span>));</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// Sinks are higher importance bugs as well as calls to assert() or exit(0).</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> LeakBugType->setSuppressOnSink(<span class="keyword">true</span>);</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> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">void</span> SimpleStreamChecker::checkPostCall(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call,</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> initIdentifierInfo(C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ae6c98ff68628991ee1d07ad7d848b41f">getASTContext</a>());</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (!Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#ab7ed1a8ce7c863cbf55f03b7f902db48" title="Returns true if the callee is an externally-visible function in the top-level namespace, such as malloc.">isGlobalCFunction</a>())</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9c481de41c30109faca43b864ebf443b" title="Returns the name of the callee, if its name is a simple identifier.">getCalleeIdentifier</a>() != IIfopen)</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">// Get the symbolic value corresponding to the file handle.</span></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> FileDesc = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a4b8985ea0b28fc1c4e074902453350ac" title="Returns the return value of the call.">getReturnValue</a>().<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>();</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (!FileDesc)</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">return</span>;</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> <span class="comment">// Generate the next transition (an edge in the exploded graph).</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a> = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a81bd66f80b18117a9a64a8d0daa62825">getState</a>();</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> State = State->set<StreamMap>(FileDesc, StreamState::getOpened());</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78" title="Generates a new transition in the program state graph (ExplodedGraph). Uses the default CheckerContex...">addTransition</a>(State);</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> }</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">void</span> SimpleStreamChecker::checkPreCall(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call,</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> initIdentifierInfo(C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ae6c98ff68628991ee1d07ad7d848b41f">getASTContext</a>());</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> <span class="keywordflow">if</span> (!Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#ab7ed1a8ce7c863cbf55f03b7f902db48" title="Returns true if the callee is an externally-visible function in the top-level namespace, such as malloc.">isGlobalCFunction</a>())</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> (Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9c481de41c30109faca43b864ebf443b" title="Returns the name of the callee, if its name is a simple identifier.">getCalleeIdentifier</a>() != IIfclose)</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span>;</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> <span class="keywordflow">if</span> (Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</a>() != 1)</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">return</span>;</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> <span class="comment">// Get the symbolic value corresponding to the file handle.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</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> FileDesc = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a6816f36951286da637ab96265baceed6" title="Returns the value of a given argument at the time of the call.">getArgSVal</a>(0).<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>();</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (!FileDesc)</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</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="comment">// Check if the stream has already been closed.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a81bd66f80b18117a9a64a8d0daa62825">getState</a>();</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">const</span> StreamState *SS = State->get<StreamMap>(FileDesc);</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">if</span> (SS && SS->isClosed()) {</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> reportDoubleClose(FileDesc, Call, C);</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span>;</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> </div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// Generate the next transition, in which the stream is closed.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> State = State->set<StreamMap>(FileDesc, StreamState::getClosed());</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78" title="Generates a new transition in the program state graph (ExplodedGraph). Uses the default CheckerContex...">addTransition</a>(State);</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> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="code" href="SimpleStreamChecker_8cpp.html#ad0926d205b198ce2232116786e6aa587"> 173</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="SimpleStreamChecker_8cpp.html#ad0926d205b198ce2232116786e6aa587">isLeaked</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, <span class="keyword">const</span> StreamState &SS,</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">bool</span> IsSymDead, <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">if</span> (IsSymDead && SS.isOpened()) {</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// If a symbol is NULL, assume that fopen failed on this path.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// A symbol should only be considered leaked if it is non-null.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a> &CMgr = State->getConstraintManager();</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <a class="code" href="classclang_1_1ento_1_1ConditionTruthVal.html">ConditionTruthVal</a> OpenFailed = CMgr.<a class="code" href="classclang_1_1ento_1_1ConstraintManager.html#a700c8e50a45a7df52954a2d79ad67278">isNull</a>(State, Sym);</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">return</span> !OpenFailed.<a class="code" href="classclang_1_1ento_1_1ConditionTruthVal.html#aadf2dff1ec3001e92583a139a40d1ffd" title="Return true if the constraint is perfectly constrained to 'true'.">isConstrainedTrue</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> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">void</span> SimpleStreamChecker::checkDeadSymbols(<a class="code" href="classclang_1_1ento_1_1SymbolReaper.html" title="A class responsible for cleaning up unused symbols.">SymbolReaper</a> &SymReaper,</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a81bd66f80b18117a9a64a8d0daa62825">getState</a>();</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> SymbolVector LeakedStreams;</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> StreamMapTy TrackedStreams = State->get<StreamMap>();</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">for</span> (StreamMapTy::iterator I = TrackedStreams.begin(),</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> E = TrackedStreams.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</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 = I->first;</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">bool</span> IsSymDead = SymReaper.<a class="code" href="classclang_1_1ento_1_1SymbolReaper.html#a55a3e2deb99a8c138b1270b8cfdfd76d" title="Returns whether or not a symbol has been confirmed dead.">isDead</a>(Sym);</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> <span class="comment">// Collect leaked symbols.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (<a class="code" href="SimpleStreamChecker_8cpp.html#ad0926d205b198ce2232116786e6aa587">isLeaked</a>(Sym, I->second, IsSymDead, State))</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> LeakedStreams.push_back(Sym);</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> <span class="comment">// Remove the dead symbol from the streams map.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">if</span> (IsSymDead)</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> State = State->remove<StreamMap>(Sym);</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> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a264f48d97809707049689c37aa35af78" title="Generates a new transition in the program state graph (ExplodedGraph). Uses the default CheckerContex...">addTransition</a>(State);</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> reportLeaks(LeakedStreams, C, N);</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> <span class="keywordtype">void</span> SimpleStreamChecker::reportDoubleClose(<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> FileDescSym,</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call,</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment">// We reached a bug, stop exploring the path here by generating a sink.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *ErrNode = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>();</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// If we've already reached this node on another path, return.</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (!ErrNode)</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</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">// Generate the report.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> *R = <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a>(*DoubleCloseBugType,</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="stringliteral">"Closing a previously closed file stream"</span>, ErrNode);</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1e48d4f89020f9b510f8dcdeef096635" title="Returns a source range for the entire call, suitable for outputting in diagnostics.">getSourceRange</a>());</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(FileDescSym);</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ae7738af2cbfd1d713edec33d3203dff5" title="Emit the diagnostics report.">emitReport</a>(R);</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> </div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">void</span> SimpleStreamChecker::reportLeaks(SymbolVector LeakedStreams,</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *ErrNode)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">// Attach bug reports to the leak node.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// TODO: Identify the leaked file descriptor.</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<SymbolRef>::iterator</a></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> I = LeakedStreams.begin(), E = LeakedStreams.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> *R = <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a>(*LeakBugType,</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="stringliteral">"Opened file is never closed; potential resource leak"</span>, ErrNode);</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(*I);</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ae7738af2cbfd1d713edec33d3203dff5" title="Emit the diagnostics report.">emitReport</a>(R);</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> }</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keywordtype">bool</span> SimpleStreamChecker::guaranteedNotToCloseFile(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> &Call)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// If it's not in a system header, assume it might close a file.</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span> (!Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae702880afd4dbe011560c91e2c1ac4ce" title="Returns true if the callee is known to be from a system header.">isInSystemHeader</a>())</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> <span class="comment">// Handle cases where we know a buffer's /address/ can escape.</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7447402ff10aeccf2774c7b13554037e" title="Returns true if any of the arguments are known to escape to long- term storage, even if this method w...">argumentsMayEscape</a>())</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// Note, even though fclose closes the file, we do not list it here</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// since the checker is modeling the call.</span></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">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// If the pointer we are tracking escaped, do not track the symbol as</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment">// we cannot reason about it anymore.</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> SimpleStreamChecker::checkPointerEscape(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State,</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">const</span> <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> &Escaped,</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html" title="Represents an abstract call to a function or method along a particular path.">CallEvent</a> *Call,</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="namespaceclang_1_1ento.html#a1f45158b71c9d04bfd6094ee29a38e59" title="Describes the different reasons a pointer escapes during analysis.">PointerEscapeKind</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">// If we know that the call cannot close a file, there is nothing to do.</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span> (Kind == <a class="code" href="namespaceclang_1_1ento.html#a1f45158b71c9d04bfd6094ee29a38e59a1c38c1cbdb7ff99b102f29a5f8453f4d" title="The pointer has been passed to a function call directly.">PSK_DirectEscapeOnCall</a> && guaranteedNotToCloseFile(*Call)) {</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">for</span> (InvalidatedSymbols::const_iterator I = Escaped.begin(),</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> E = Escaped.end();</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> I != E; ++I) {</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</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 = *I;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">// The symbol escaped. Optimistically, assume that the corresponding file</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">// handle will be closed somewhere else.</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> State = State->remove<StreamMap>(Sym);</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> }</div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keywordtype">void</span> SimpleStreamChecker::initIdentifierInfo(<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)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span> (IIfopen)</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> IIfopen = &Ctx.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"fopen"</span>);</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> IIfclose = &Ctx.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"fclose"</span>);</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> </div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">void</span> ento::registerSimpleStreamChecker(<a class="code" href="classclang_1_1ento_1_1CheckerManager.html">CheckerManager</a> &mgr) {</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> mgr.<a class="code" href="classclang_1_1ento_1_1CheckerManager.html#ab3845ff8b66a7617efdadb219829414a" title="Used to register checkers.">registerChecker</a><SimpleStreamChecker>();</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</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/SimpleStreamChecker_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleStreamChecker_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleStreamChecker_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/SimpleStreamChecker_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,588 @@
+<!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: SimpleStreamChecker.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_5fa4c591fb04e7ea3227105bf6cc3359.html">Checkers</a></li><li class="navelem"><a class="el" href="dir_6f95b71040c11c69a7222376e6764bfb.html">Release+Asserts</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="headertitle">
+<div class="title">SimpleStreamChecker.d</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="SimpleStreamChecker_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/Checkers/Release+Asserts/SimpleStreamChecker.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Release+Asserts/SimpleStreamChecker.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> SimpleStreamChecker.cpp ClangSACheckers.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h \
+ Checkers.inc \</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugType.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/Checker.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="l00054"></a><span class="lineno"> 54</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="l00064"></a><span class="lineno"> 64</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="l00065"></a><span class="lineno"> 65</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/BuiltinTypes.def \</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/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/CheckerManager.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="l00118"></a><span class="lineno"> 118</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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/Checkers/../../../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/Checkers/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="l00135"></a><span class="lineno"> 135</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="classCallEvent.html">CallEvent</a>.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.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> ClangSACheckers.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.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> Checkers.inc:</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/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugType.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LLVM.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/Support/Casting.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/include/llvm/Support/type_traits.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/Support/DataTypes.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/None.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/FoldingSet.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/SmallVector.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/Support/AlignOf.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/Compiler.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/Config/llvm-config.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/StringRef.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/Checker.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/StaticAnalyzer/Checkers/../../../include/clang/Analysis/ProgramPoint.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/StaticAnalyzer/Checkers/../../../include/clang/Analysis/AnalysisContext.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/Checkers/../../../include/clang/AST/Decl.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/Checkers/../../../include/clang/AST/APValue.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/ADT/APFloat.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/ADT/APInt.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/ADT/ArrayRef.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/ADT/APSInt.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/ADT/PointerIntPair.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/include/llvm/Support/PointerLikeTypeTraits.h:</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/PointerUnion.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclBase.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/AttrIterator.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclarationName.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/Checkers/../../../include/clang/Basic/IdentifierTable.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/Checkers/../../../include/clang/Basic/OperatorKinds.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/Checkers/../../../include/clang/Basic/OperatorKinds.def:</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/Checkers/../../../include/clang/Basic/TokenKinds.h:</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/Checkers/../../../include/clang/Basic/TokenKinds.def:</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/include/llvm/ADT/SmallString.h:</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/include/llvm/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/PartialDiagnostic.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Diagnostic.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/Checkers/../../../include/clang/Basic/DiagnosticIDs.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/include/llvm/ADT/IntrusiveRefCntPtr.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Checkers/../../../include/clang/Basic/DiagnosticOptions.h:</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/Checkers/../../../include/clang/Basic/DiagnosticOptions.def:</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/Checkers/../../../include/clang/Basic/SourceLocation.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/include/llvm/ADT/DenseMap.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/include/llvm/ADT/DenseMapInfo.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/include/llvm/ADT/STLExtras.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="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/Checkers/../../../include/clang/Basic/Specifiers.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/include/llvm/Support/PrettyStackTrace.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/Checkers/../../../include/clang/AST/DeclNodes.inc:</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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExternalASTSource.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CharUnits.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Redeclarable.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/Checkers/../../../include/clang/AST/Type.h:</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/Checkers/../../../include/clang/AST/NestedNameSpecifier.h:</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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateName.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="l00295"></a><span class="lineno"> 295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="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/ADT/Optional.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/ADT/Twine.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/include/llvm/Support/ErrorHandling.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/Checkers/../../../include/clang/AST/TypeNodes.def:</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/Checkers/../../../include/clang/AST/BuiltinTypes.def:</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/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/include/llvm/Support/TimeValue.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/include/llvm/Support/system_error.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/Checkers/../../../include/clang/Analysis/CFG.h:</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/Checkers/../../../include/clang/AST/Stmt.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/Checkers/../../../include/clang/AST/DeclGroup.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/Checkers/../../../include/clang/AST/StmtIterator.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/Checkers/../../../include/clang/Basic/CapturedStmt.h:</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/Checkers/../../../include/clang/AST/StmtNodes.inc:</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/Checkers/../../../include/clang/Analysis/Support/BumpVector.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/include/llvm/ADT/GraphTraits.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/CheckerManager.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/Checkers/../../../include/clang/Basic/LangOptions.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CommentOptions.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ObjCRuntime.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/VersionTuple.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/include/llvm/ADT/Triple.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/Checkers/../../../include/clang/Basic/Sanitizers.def:</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/Checkers/../../../include/clang/Basic/LangOptions.def:</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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OpenCLExtensions.def:</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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.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/Checkers/../../../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/Checkers/../../../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/Checkers/../../../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/Checkers/../../../include/clang/AST/TemplateBase.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/Checkers/../../../include/clang/AST/TypeLoc.h:</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/Checkers/../../../include/clang/AST/TypeLocNodes.def:</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/Checkers/../../../include/clang/AST/CanonicalType.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/Checkers/../../../include/clang/AST/CommentCommandTraits.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/Checkers/../../../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/Checkers/../../../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/Checkers/../../../include/clang/AST/RawCommentList.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/Checkers/../../../include/clang/Basic/SourceManager.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/Checkers/../../../include/clang/Basic/FileManager.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileSystemOptions.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/include/llvm/ADT/DenseSet.h:</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/include/llvm/Support/MemoryBuffer.h:</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/include/llvm/Support/CBindingWrapping.h:</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/include/llvm-c/Core.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/Checkers/../../../include/clang/Basic/AddressSpaces.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/include/llvm/ADT/SmallPtrSet.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/include/llvm/ADT/TinyPtrVector.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprObjC.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclObjC.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../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="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/Checkers/../../../include/clang/AST/Expr.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTVector.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclAccessPair.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/Checkers/../../../include/clang/AST/OperationKinds.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/Checkers/../../../include/clang/Basic/CharInfo.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/Checkers/../../../include/clang/Basic/TypeTraits.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/Checkers/../../../include/clang/Basic/Builtins.def:</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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.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/include/llvm/ADT/ImmutableList.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.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/Checkers/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</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/Checkers/../../../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="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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="classCallEvent.html">CallEvent</a>.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/Checkers/../../../include/clang/AST/DeclCXX.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTUnresolvedSet.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/UnresolvedSet.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprCXX.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/Checkers/../../../include/clang/Basic/ExpressionTraits.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/Checkers/../../../include/clang/Basic/Lambda.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.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/include/llvm/Support/SaveAndRestore.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.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/ImmutableMap.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/ImmutableSet.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h:</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h:</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h:</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h:</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h:</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h:</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h:</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h:</div>
+<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h:</div>
+<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div>
+<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h:</div>
+<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </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>
More information about the llvm-commits
mailing list