[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/CacheTokens_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CacheTokens_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CacheTokens_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CacheTokens_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,731 @@
+<!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: CacheTokens.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">CacheTokens.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CacheTokens_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">//===--- CacheTokens.cpp - Caching of lexer tokens for PTH support --------===//</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 provides a possible implementation of PTH support for Clang that is</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// based on caching lexed tokens and identifiers.</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="Utils_8h.html">clang/Frontend/Utils.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</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="l00017"></a><span class="lineno">   17</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="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="FileSystemStatCache_8h.html" title="Defines the FileSystemStatCache interface.">clang/Basic/FileSystemStatCache.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="IdentifierTable_8h.html" title="Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.">clang/Basic/IdentifierTable.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="OnDiskHashTable_8h.html" title="Defines facilities for reading and writing on-disk hash tables.">clang/Basic/OnDiskHashTable.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</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="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="Lexer_8h.html">clang/Lex/Lexer.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="Preprocessor_8h.html">clang/Lex/Preprocessor.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/StringExtras.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/ADT/StringMap.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/Support/FileSystem.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/Support/MemoryBuffer.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "llvm/Support/Path.h"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></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="comment">// FIXME: put this somewhere else?</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="preprocessor">#ifndef S_ISDIR</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="CacheTokens_8cpp.html#a8b545e50cb6e6bd55ed72564bf52cacc">   33</a></span> <span class="preprocessor"></span><span class="preprocessor">#define S_ISDIR(x) (((x)&_S_IFDIR)!=0)</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="keyword">using namespace </span>clang::io;</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="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">// PTH-specific stuff.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keyword">class </span>PTHEntry {</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> TokenData, PPCondData;</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">public</span>:</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   PTHEntry() {}</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>   PTHEntry(<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> td, <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> ppcd)</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>     : TokenData(td), PPCondData(ppcd) {}</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> </div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> getTokenOffset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TokenData; }</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> getPPCondTableOffset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> PPCondData; }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> };</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="keyword">class </span>PTHEntryKeyVariant {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <span class="keyword">union </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>* FE; <span class="keyword">const</span> <span class="keywordtype">char</span>* Path; };</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   <span class="keyword">enum</span> { IsFE = 0x1, IsDE = 0x2, IsNoExist = 0x0 } <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   <a class="code" href="structclang_1_1FileData.html">FileData</a> *Data;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   PTHEntryKeyVariant(<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> *fe) : FE(fe), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(IsFE), Data(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>   PTHEntryKeyVariant(<a class="code" href="structclang_1_1FileData.html">FileData</a> *Data, <span class="keyword">const</span> <span class="keywordtype">char</span> *path)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>       : Path(path), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(IsDE), Data(<span class="keyword">new</span> <a class="code" href="structclang_1_1FileData.html">FileData</a>(*Data)) {}</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keyword">explicit</span> PTHEntryKeyVariant(<span class="keyword">const</span> <span class="keywordtype">char</span> *path)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>       : Path(path), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>(IsNoExist), Data(0) {}</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="keywordtype">bool</span> isFile()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == IsFE; }</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>   StringRef getString()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>     <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == IsFE ? FE->getName() : Path;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>   }</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   <span class="keywordtype">unsigned</span> <a class="code" href="DeclBase_8cpp.html#a37d13911f1772d0ed90b6b2e89cf3c60">getKind</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>) <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>; }</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> EmitData(raw_ostream& Out) {</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keywordflow">switch</span> (<a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>     <span class="keywordflow">case</span> IsFE: {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>       <span class="comment">// Emit stat information.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>       llvm::sys::fs::UniqueID UID = FE->getUniqueID();</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, UID.getFile());</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, UID.getDevice());</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, FE->getModificationTime());</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, FE->getSize());</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>     } <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <span class="keywordflow">case</span> IsDE:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>       <span class="comment">// Emit stat information.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, Data-><a class="code" href="structclang_1_1FileData.html#a6f2f7531dfbb6c663815b784701cfc18">UniqueID</a>.getFile());</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, Data-><a class="code" href="structclang_1_1FileData.html#a6f2f7531dfbb6c663815b784701cfc18">UniqueID</a>.getDevice());</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, Data-><a class="code" href="structclang_1_1FileData.html#ae8fff96b53145306b60317a9d97469db">ModTime</a>);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>       <a class="code" href="namespaceclang_1_1io.html#adc11c56eabdde7cb004baa05d8480974">::Emit64</a>(Out, Data-><a class="code" href="structclang_1_1FileData.html#a87a0455abc21dbbd6f7b5a107e3ed357">Size</a>);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       <span class="keyword">delete</span> Data;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>       <span class="keywordflow">break</span>;</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>   }</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="keywordtype">unsigned</span> getRepresentationLength()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>     <span class="keywordflow">return</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> == IsNoExist ? 0 : 4 + 4 + 2 + 8 + 8;</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> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="keyword">class </span>FileEntryPTHEntryInfo {</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <span class="keyword">typedef</span> PTHEntryKeyVariant key_type;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   <span class="keyword">typedef</span> key_type key_type_ref;</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>   <span class="keyword">typedef</span> PTHEntry data_type;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <span class="keyword">typedef</span> <span class="keyword">const</span> PTHEntry& data_type_ref;</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>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1serialization.html#ae67b4ea0ba75813eed18b812020cf52e">ComputeHash</a>(PTHEntryKeyVariant V) {</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     <span class="keywordflow">return</span> llvm::HashString(V.getString());</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> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keyword">static</span> std::pair<unsigned,unsigned></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   EmitKeyDataLength(raw_ostream& Out, PTHEntryKeyVariant V,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>                     <span class="keyword">const</span> PTHEntry& E) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     <span class="keywordtype">unsigned</span> n = V.getString().size() + 1 + 1;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>     <a class="code" href="namespaceclang_1_1io.html#a1848a202a9f2af56ab1a9fac6ea25d4b">::Emit16</a>(Out, n);</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>     <span class="keywordtype">unsigned</span> m = V.getRepresentationLength() + (V.isFile() ? 4 + 4 : 0);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     <a class="code" href="namespaceclang_1_1io.html#afa2c9b85c298452a9b69c25c7a2a14fb">::Emit8</a>(Out, m);</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">return</span> std::make_pair(n, m);</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> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="keyword">static</span> <span class="keywordtype">void</span> EmitKey(raw_ostream& Out, PTHEntryKeyVariant V, <span class="keywordtype">unsigned</span> n){</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     <span class="comment">// Emit the entry kind.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     <a class="code" href="namespaceclang_1_1io.html#afa2c9b85c298452a9b69c25c7a2a14fb">::Emit8</a>(Out, (<span class="keywordtype">unsigned</span>) V.getKind());</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="comment">// Emit the string.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     Out.write(V.getString().data(), n - 1);</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> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <span class="keyword">static</span> <span class="keywordtype">void</span> EmitData(raw_ostream& Out, PTHEntryKeyVariant V,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                        <span class="keyword">const</span> PTHEntry& E, <span class="keywordtype">unsigned</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> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     <span class="comment">// For file entries emit the offsets into the PTH file for token data</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     <span class="comment">// and the preprocessor blocks table.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     <span class="keywordflow">if</span> (V.isFile()) {</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>       <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">::Emit32</a>(Out, E.getTokenOffset());</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>       <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">::Emit32</a>(Out, E.getPPCondTableOffset());</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="comment">// Emit any other data associated with the key (i.e., stat information).</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     V.EmitData(Out);</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> };</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> <span class="keyword">class </span>OffsetOpt {</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   <span class="keywordtype">bool</span> valid;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> off;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   OffsetOpt() : valid(<span class="keyword">false</span>) {}</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   <span class="keywordtype">bool</span> hasOffset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> valid; }</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> getOffset()<span class="keyword"> const </span>{ assert(valid); <span class="keywordflow">return</span> off; }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>   <span class="keywordtype">void</span> setOffset(<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> o) { off = o; valid = <span class="keyword">true</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> } <span class="comment">// end anonymous namespace</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"><a class="code" href="CacheTokens_8cpp.html#a2a851a95984c49d6a032327db672e057">  167</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html">OnDiskChainedHashTableGenerator<FileEntryPTHEntryInfo></a> <a class="code" href="CacheTokens_8cpp.html#a2a851a95984c49d6a032327db672e057">PTHMap</a>;</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">namespace </span>{</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="keyword">class </span>PTHWriter {</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   <span class="keyword">typedef</span> llvm::DenseMap<const IdentifierInfo*,uint32_t> IDMap;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>   <span class="keyword">typedef</span> llvm::StringMap<OffsetOpt, llvm::BumpPtrAllocator> CachedStrsTy;</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>   IDMap IM;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   llvm::raw_fd_ostream& Out;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a>& PP;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   uint32_t idcount;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html">PTHMap</a> PM;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>   CachedStrsTy CachedStrs;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> CurStrOffset;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   std::vector<llvm::StringMapEntry<OffsetOpt>*> StrEntries;</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">  //// Get the persistent id for the given IdentifierInfo*.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment"></span>  uint32_t ResolveID(<span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>* II);</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> <span class="comment">  /// Emit a token to the PTH file.</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitToken(<span class="keyword">const</span> <a class="code" href="classclang_1_1Token.html">Token</a>& T);</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>   <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1io.html#afa2c9b85c298452a9b69c25c7a2a14fb">Emit8</a>(uint32_t V) { <a class="code" href="namespaceclang_1_1io.html#afa2c9b85c298452a9b69c25c7a2a14fb">::Emit8</a>(Out, V); }</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>   <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1io.html#a1848a202a9f2af56ab1a9fac6ea25d4b">Emit16</a>(uint32_t V) { <a class="code" href="namespaceclang_1_1io.html#a1848a202a9f2af56ab1a9fac6ea25d4b">::Emit16</a>(Out, V); }</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>   <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(uint32_t V) { <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">::Emit32</a>(Out, V); }</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="keywordtype">void</span> EmitBuf(<span class="keyword">const</span> <span class="keywordtype">char</span> *Ptr, <span class="keywordtype">unsigned</span> NumBytes) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     Out.write(Ptr, NumBytes);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   }</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   <span class="keywordtype">void</span> <a class="code" href="PlistReporter_8cpp.html#a2951921d30823147cf73e568504ef13d">EmitString</a>(StringRef V) {</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <a class="code" href="namespaceclang_1_1io.html#a1848a202a9f2af56ab1a9fac6ea25d4b">::Emit16</a>(Out, V.size());</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     EmitBuf(V.data(), V.size());</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> <span class="comment"></span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> <span class="comment">  /// EmitIdentifierTable - Emits two tables to the PTH file.  The first is</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="comment">  ///  a hashtable mapping from identifier strings to persistent IDs.</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">  ///  The second is a straight table mapping from persistent IDs to string data</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment">  ///  (the keys of the first table).</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="comment"></span>  std::pair<Offset, Offset> EmitIdentifierTable();</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment"></span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment">  /// EmitFileTable - Emit a table mapping from file name strings to PTH</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> <span class="comment">  /// token data.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> EmitFileTable() { <span class="keywordflow">return</span> PM.Emit(Out); }</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>   PTHEntry LexTokens(<a class="code" href="classclang_1_1Lexer.html">Lexer</a>& L);</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> EmitCachedSpellings();</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="keyword">public</span>:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   PTHWriter(llvm::raw_fd_ostream& out, <a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a>& pp)</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     : Out(out), PP(pp), idcount(0), CurStrOffset(0) {}</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>   <a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html">PTHMap</a> &getPM() { <span class="keywordflow">return</span> PM; }</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a3bb2983b53bcf43494f3ba4eb17279b3" title="Generate pre-tokenized header.">GeneratePTH</a>(<span class="keyword">const</span> std::string &MainFile);</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> } <span class="comment">// end anonymous namespace</span></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> uint32_t PTHWriter::ResolveID(<span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>* II) {</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="comment">// Null IdentifierInfo's map to the persistent ID 0.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <span class="keywordflow">if</span> (!II)</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     <span class="keywordflow">return</span> 0;</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>   IDMap::iterator I = IM.find(II);</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>   <span class="keywordflow">if</span> (I != IM.end())</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>     <span class="keywordflow">return</span> I->second; <span class="comment">// We've already added 1.</span></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>   IM[II] = ++idcount; <span class="comment">// Pre-increment since '0' is reserved for NULL.</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <span class="keywordflow">return</span> idcount;</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">void</span> PTHWriter::EmitToken(<span class="keyword">const</span> <a class="code" href="classclang_1_1Token.html">Token</a>& T) {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   <span class="comment">// Emit the token kind, flags, and length.</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(((uint32_t) T.<a class="code" href="classclang_1_1Token.html#a84a069f6887b650763e640eeabfeebe4">getKind</a>()) | ((((uint32_t) T.<a class="code" href="classclang_1_1Token.html#aa6196030a0eb17ea342ac6300d6d5889" title="Return the internal represtation of the flags.">getFlags</a>())) << 8)|</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>          (((uint32_t) T.getLength()) << 16));</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>   <a class="code" href="mm__malloc_8h.html#a682140772a1d7d2744289e6abb2ad2ff">if</a> (!T.<a class="code" href="namespaceclang_1_1tok.html#ab35e74033419387c2f5fad4f4713a651" title="Return true if this is a "literal" kind, like a numeric constant, string, etc.">isLiteral</a>()) {</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(ResolveID(T.<a class="code" href="classclang_1_1Token.html#a0f86a35069d2f1917402adba7f4f6a7b">getIdentifierInfo</a>()));</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>     <span class="comment">// We cache *un-cleaned* spellings. This gives us 100% fidelity with the</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="comment">// source code.</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     StringRef s(T.<a class="code" href="classclang_1_1Token.html#aa8c2ba2da1b6cb03d1709c6a131579ea">getLiteralData</a>(), T.<a class="code" href="classclang_1_1Token.html#ada56747093e2043afd6a497d1714332d">getLength</a>());</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="comment">// Get the string entry.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     llvm::StringMapEntry<OffsetOpt> *E = &CachedStrs.GetOrCreateValue(s);</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 this is a new string entry, bump the PTH offset.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="keywordflow">if</span> (!E->getValue().hasOffset()) {</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>       E->getValue().setOffset(CurStrOffset);</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>       StrEntries.push_back(E);</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>       CurStrOffset += s.size() + 1;</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> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     <span class="comment">// Emit the relative offset into the PTH file for the spelling string.</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(E->getValue().getOffset());</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">// Emit the offset into the original source file of this token so that we</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   <span class="comment">// can reconstruct its SourceLocation.</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(PP.getSourceManager().getFileOffset(T.<a class="code" href="classclang_1_1Token.html#a6f28cdecdecc3f19f8e7c976a044ebf8" title="Return a source location identifier for the specified offset in the current file.">getLocation</a>()));</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> PTHEntry PTHWriter::LexTokens(<a class="code" href="classclang_1_1Lexer.html">Lexer</a>& L) {</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   <span class="comment">// Pad 0's so that we emit tokens to a 4-byte alignment.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>   <span class="comment">// This speed up reading them back in.</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>   <a class="code" href="namespaceclang_1_1io.html#a08c65ae484c5e72dc92da1eb51553701">Pad</a>(Out, 4);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> TokenOff = (<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) Out.tell();</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">// Keep track of matching '#if' ... '#endif'.</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   <span class="keyword">typedef</span> std::vector<std::pair<Offset, unsigned> > PPCondTable;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>   PPCondTable PPCond;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>   std::vector<unsigned> PPStartCond;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>   <span class="keywordtype">bool</span> ParsingPreprocessorDirective = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>   <a class="code" href="classclang_1_1Token.html">Token</a> Tok;</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>   <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     L.<a class="code" href="classclang_1_1Lexer.html#a16e11a597200d643efbc21fb8e657567">LexFromRawLexer</a>(Tok);</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>   NextToken:</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>     <span class="keywordflow">if</span> ((Tok.<a class="code" href="classclang_1_1Token.html#a895009ede74790b61cf636fd7e498d44">isAtStartOfLine</a>() || Tok.<a class="code" href="classclang_1_1Token.html#abc7c8cc4d8598e2c07148189157cf066">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</a>)) &&</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>         ParsingPreprocessorDirective) {</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>       <span class="comment">// Insert an eod token into the token cache.  It has the same</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>       <span class="comment">// position as the next token that is not on the same line as the</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>       <span class="comment">// preprocessor directive.  Observe that we continue processing</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>       <span class="comment">// 'Tok' when we exit this branch.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>       <a class="code" href="classclang_1_1Token.html">Token</a> Tmp = Tok;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>       Tmp.<a class="code" href="classclang_1_1Token.html#a44b757baba649ad00b79f78671a8a2aa">setKind</a>(tok::eod);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>       Tmp.<a class="code" href="classclang_1_1Token.html#a0fd0124681c9b16609144e78ff5dcbb1" title="Unset the specified flag.">clearFlag</a>(<a class="code" href="classclang_1_1Token.html#a9757e958209e601e408feda04be60db5abae95495f486499bdedf8d66b9d3d0bf">Token::StartOfLine</a>);</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>       Tmp.<a class="code" href="classclang_1_1Token.html#ae603a1243f89a7aeeabcb4d467c474ff">setIdentifierInfo</a>(0);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>       EmitToken(Tmp);</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>       ParsingPreprocessorDirective = <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1Token.html#abc7c8cc4d8598e2c07148189157cf066">is</a>(tok::raw_identifier)) {</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>       PP.LookUpIdentifierInfo(Tok);</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>       EmitToken(Tok);</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>       <span class="keywordflow">continue</span>;</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> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>     <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1Token.html#abc7c8cc4d8598e2c07148189157cf066">is</a>(tok::hash) && Tok.<a class="code" href="classclang_1_1Token.html#a895009ede74790b61cf636fd7e498d44">isAtStartOfLine</a>()) {</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>       <span class="comment">// Special processing for #include.  Store the '#' token and lex</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>       <span class="comment">// the next token.</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>       assert(!ParsingPreprocessorDirective);</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>       <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> HashOff = (<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) Out.tell();</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>       <span class="comment">// Get the next token.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>       <a class="code" href="classclang_1_1Token.html">Token</a> NextTok;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>       L.<a class="code" href="classclang_1_1Lexer.html#a16e11a597200d643efbc21fb8e657567">LexFromRawLexer</a>(NextTok);</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>       <span class="comment">// If we see the start of line, then we had a null directive "#".  In</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>       <span class="comment">// this case, discard both tokens.</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>       <span class="keywordflow">if</span> (NextTok.<a class="code" href="classclang_1_1Token.html#a895009ede74790b61cf636fd7e498d44">isAtStartOfLine</a>())</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>         <span class="keywordflow">goto</span> NextToken;</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">// The token is the start of a directive.  Emit it.</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>       EmitToken(Tok);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>       Tok = NextTok;</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>       <span class="comment">// Did we see 'include'/'import'/'include_next'?</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>       <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1Token.html#add9ef521a5de741af9c573525b71cb73">isNot</a>(tok::raw_identifier)) {</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>         EmitToken(Tok);</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>         <span class="keywordflow">continue</span>;</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> </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>       <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>* II = PP.LookUpIdentifierInfo(Tok);</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>       <a class="code" href="namespaceclang_1_1tok.html#add9c2c08b026d30fd8562736083f592a" title="Provides a namespace for preprocessor keywords which start with a '#' at the beginning of the line...">tok::PPKeywordKind</a> K = II-><a class="code" href="classclang_1_1IdentifierInfo.html#ae11e3e149e73feb580d57400c96154c5" title="Return the preprocessor keyword ID for this identifier.">getPPKeywordID</a>();</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>       ParsingPreprocessorDirective = <span class="keyword">true</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="keywordflow">switch</span> (K) {</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>       <span class="keywordflow">case</span> tok::pp_not_keyword:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>         <span class="comment">// Invalid directives "#foo" can occur in #if 0 blocks etc, just pass</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>         <span class="comment">// them through.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>         <span class="keywordflow">break</span>;</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>       <span class="keywordflow">case</span> tok::pp_include:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>       <span class="keywordflow">case</span> tok::pp_import:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>       <span class="keywordflow">case</span> tok::pp_include_next: {</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>         <span class="comment">// Save the 'include' token.</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>         EmitToken(Tok);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>         <span class="comment">// Lex the next token as an include string.</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>         L.<a class="code" href="classclang_1_1PreprocessorLexer.html#a6177768dde6e4d313d27fb585569c17c" title="Inform the lexer whether or not we are currently lexing a preprocessor directive.">setParsingPreprocessorDirective</a>(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>         L.<a class="code" href="classclang_1_1PreprocessorLexer.html#a0c0bbb460799347ef2b9a1b92fd8524a" title="After the preprocessor has parsed a #include, lex and (potentially) macro expand the filename...">LexIncludeFilename</a>(Tok);</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>         L.<a class="code" href="classclang_1_1PreprocessorLexer.html#a6177768dde6e4d313d27fb585569c17c" title="Inform the lexer whether or not we are currently lexing a preprocessor directive.">setParsingPreprocessorDirective</a>(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>         assert(!Tok.<a class="code" href="classclang_1_1Token.html#a895009ede74790b61cf636fd7e498d44">isAtStartOfLine</a>());</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>         <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1Token.html#abc7c8cc4d8598e2c07148189157cf066">is</a>(tok::raw_identifier))</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>           PP.LookUpIdentifierInfo(Tok);</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>         <span class="keywordflow">break</span>;</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>       <span class="keywordflow">case</span> tok::pp_if:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>       <span class="keywordflow">case</span> tok::pp_ifdef:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>       <span class="keywordflow">case</span> tok::pp_ifndef: {</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>         <span class="comment">// Add an entry for '#if' and friends.  We initially set the target</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>         <span class="comment">// index to 0.  This will get backpatched when we hit #endif.</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>         PPStartCond.push_back(PPCond.size());</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>         PPCond.push_back(std::make_pair(HashOff, 0U));</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>         <span class="keywordflow">break</span>;</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>       <span class="keywordflow">case</span> tok::pp_endif: {</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>         <span class="comment">// Add an entry for '#endif'.  We set the target table index to itself.</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>         <span class="comment">// This will later be set to zero when emitting to the PTH file.  We</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>         <span class="comment">// use 0 for uninitialized indices because that is easier to debug.</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>         <span class="keywordtype">unsigned</span> index = PPCond.size();</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>         <span class="comment">// Backpatch the opening '#if' entry.</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>         assert(!PPStartCond.empty());</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>         assert(PPCond.size() > PPStartCond.back());</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>         assert(PPCond[PPStartCond.back()].second == 0);</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>         PPCond[PPStartCond.back()].second = index;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>         PPStartCond.pop_back();</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>         <span class="comment">// Add the new entry to PPCond.</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>         PPCond.push_back(std::make_pair(HashOff, index));</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>         EmitToken(Tok);</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="comment">// Some files have gibberish on the same line as '#endif'.</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>         <span class="comment">// Discard these tokens.</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>         <span class="keywordflow">do</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>           L.<a class="code" href="classclang_1_1Lexer.html#a16e11a597200d643efbc21fb8e657567">LexFromRawLexer</a>(Tok);</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>         <span class="keywordflow">while</span> (Tok.<a class="code" href="classclang_1_1Token.html#add9ef521a5de741af9c573525b71cb73">isNot</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</a>) && !Tok.<a class="code" href="classclang_1_1Token.html#a895009ede74790b61cf636fd7e498d44">isAtStartOfLine</a>());</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>         <span class="comment">// We have the next token in hand.</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>         <span class="comment">// Don't immediately lex the next one.</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>         <span class="keywordflow">goto</span> NextToken;</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>       <span class="keywordflow">case</span> tok::pp_elif:</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>       <span class="keywordflow">case</span> tok::pp_else: {</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>         <span class="comment">// Add an entry for #elif or #else.</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>         <span class="comment">// This serves as both a closing and opening of a conditional block.</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>         <span class="comment">// This means that its entry will get backpatched later.</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>         <span class="keywordtype">unsigned</span> index = PPCond.size();</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>         <span class="comment">// Backpatch the previous '#if' entry.</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>         assert(!PPStartCond.empty());</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>         assert(PPCond.size() > PPStartCond.back());</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>         assert(PPCond[PPStartCond.back()].second == 0);</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>         PPCond[PPStartCond.back()].second = index;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>         PPStartCond.pop_back();</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>         <span class="comment">// Now add '#elif' as a new block opening.</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>         PPCond.push_back(std::make_pair(HashOff, 0U));</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>         PPStartCond.push_back(index);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>       }</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>     }</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>     EmitToken(Tok);</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>   <span class="keywordflow">while</span> (Tok.<a class="code" href="classclang_1_1Token.html#add9ef521a5de741af9c573525b71cb73">isNot</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</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>   assert(PPStartCond.empty() && <span class="stringliteral">"Error: imblanced preprocessor conditionals."</span>);</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>   <span class="comment">// Next write out PPCond.</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> PPCondOff = (<a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>) Out.tell();</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">// Write out the size of PPCond so that clients can identifer empty tables.</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(PPCond.size());</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>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = PPCond.size(); i!=e; ++i) {</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(PPCond[i].first - TokenOff);</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>     uint32_t x = PPCond[i].second;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     assert(x != 0 && <span class="stringliteral">"PPCond entry not backpatched."</span>);</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     <span class="comment">// Emit zero for #endifs.  This allows us to do checking when</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>     <span class="comment">// we read the PTH file back in.</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(x == i ? 0 : x);</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> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   <span class="keywordflow">return</span> PTHEntry(TokenOff, PPCondOff);</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> </div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> PTHWriter::EmitCachedSpellings() {</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="comment">// Write each cached strings to the PTH file.</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> SpellingsOff = Out.tell();</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>   <span class="keywordflow">for</span> (std::vector<llvm::StringMapEntry<OffsetOpt>*>::iterator</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>        I = StrEntries.begin(), E = StrEntries.end(); I!=E; ++I)</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>     EmitBuf((*I)->getKeyData(), (*I)->getKeyLength()+1 <span class="comment">/*nul included*/</span>);</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>   <span class="keywordflow">return</span> SpellingsOff;</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> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a3bb2983b53bcf43494f3ba4eb17279b3" title="Generate pre-tokenized header.">PTHWriter::GeneratePTH</a>(<span class="keyword">const</span> std::string &MainFile) {</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>   <span class="comment">// Generate the prologue.</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   Out << <span class="stringliteral">"cfe-pth"</span> << <span class="charliteral">'\0'</span>;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(<a class="code" href="classclang_1_1PTHManager.html#a0956cb7c37ec362b6a68768deb979727adc9a868c055ae6c4363eadbdf0a28309">PTHManager::Version</a>);</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>   <span class="comment">// Leave 4 words for the prologue.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> PrologueOffset = Out.tell();</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < 4; ++i)</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(0);</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>   <span class="comment">// Write the name of the MainFile.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>   <span class="keywordflow">if</span> (!MainFile.empty()) {</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>     <a class="code" href="PlistReporter_8cpp.html#a2951921d30823147cf73e568504ef13d">EmitString</a>(MainFile);</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>     <span class="comment">// String with 0 bytes.</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>     <a class="code" href="namespaceclang_1_1io.html#a1848a202a9f2af56ab1a9fac6ea25d4b">Emit16</a>(0);</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>   <a class="code" href="namespaceclang_1_1io.html#afa2c9b85c298452a9b69c25c7a2a14fb">Emit8</a>(0);</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>   <span class="comment">// Iterate over all the files in SourceManager.  Create a lexer</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>   <span class="comment">// for each file and cache the tokens.</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</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> = PP.getSourceManager();</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</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> &LOpts = PP.getLangOpts();</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1SourceManager.html#a332403dd0769544846b0fe7673b3a4c5">SourceManager::fileinfo_iterator</a> I = SM.<a class="code" href="classclang_1_1SourceManager.html#aa8f4e80c390577cd148e99ae22d1d06c">fileinfo_begin</a>(),</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>        E = SM.<a class="code" href="classclang_1_1SourceManager.html#aac5161c96defcbd56ee7ca4dd5a2c56f">fileinfo_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html" title="One instance of this struct is kept for every file loaded or used.">SrcMgr::ContentCache</a> &C = *I->second;</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</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> *FE = C.<a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#a9c12b5c698444f94948c0c92f32bcc71" title="Reference to the file entry representing this ContentCache.">OrigEntry</a>;</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>     <span class="comment">// FIXME: Handle files with non-absolute paths.</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>     <span class="keywordflow">if</span> (llvm::sys::path::is_relative(FE-><a class="code" href="classclang_1_1FileEntry.html#a94ddac74f217c35e19420dd6c419e25f">getName</a>()))</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>       <span class="keywordflow">continue</span>;</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>     <span class="keyword">const</span> llvm::MemoryBuffer *B = C.<a class="code" href="classclang_1_1SrcMgr_1_1ContentCache.html#a0829ce6b26e0511684921dcc97c1752b" title="Returns the memory buffer for the associated content.">getBuffer</a>(PP.getDiagnostics(), <a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a>);</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>     <span class="keywordflow">if</span> (!B) <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</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> FID = SM.<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>(FE, <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="l00484"></a><span class="lineno">  484</span>     <span class="keyword">const</span> llvm::MemoryBuffer *FromFile = SM.<a class="code" href="classclang_1_1SourceManager.html#a35f2a3fbf5cf9bff34b1d7f613096437" title="Return the buffer for the specified FileID.">getBuffer</a>(FID);</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>     <a class="code" href="classclang_1_1Lexer.html">Lexer</a> L(FID, FromFile, SM, LOpts);</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     PM.insert(FE, LexTokens(L));</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> </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>   <span class="comment">// Write out the identifier table.</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   <span class="keyword">const</span> std::pair<Offset,Offset> &IdTableOff = EmitIdentifierTable();</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> </div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>   <span class="comment">// Write out the cached strings table.</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> SpellingOff = EmitCachedSpellings();</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>   <span class="comment">// Write out the file table.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> FileTableOff = EmitFileTable();</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>   <span class="comment">// Finally, write the prologue.</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>   Out.seek(PrologueOffset);</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(IdTableOff.first);</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(IdTableOff.second);</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(FileTableOff);</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(SpellingOff);</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> }</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> <span class="comment">/// StatListener - A simple "interpose" object used to monitor stat calls</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> <span class="comment">/// invoked by FileManager while processing the original sources used</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> <span class="comment">/// as input to PTH generation.  StatListener populates the PTHWriter's</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> <span class="comment">/// file map with stat information for directories as well as negative stats.</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> <span class="comment">/// Stat information for files are populated elsewhere.</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> <span class="comment"></span><span class="keyword">class </span>StatListener : <span class="keyword">public</span> <a class="code" href="classclang_1_1FileSystemStatCache.html" title="Abstract interface for introducing a FileManager cache for 'stat' system calls, which is used by prec...">FileSystemStatCache</a> {</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>   <a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html">PTHMap</a> &PM;</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>   StatListener(<a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html">PTHMap</a> &pm) : PM(pm) {}</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   ~StatListener() {}</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>   <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> getStat(<span class="keyword">const</span> <span class="keywordtype">char</span> *Path, <a class="code" href="structclang_1_1FileData.html">FileData</a> &Data, <span class="keywordtype">bool</span> isFile,</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>                        <span class="keywordtype">int</span> *FileDescriptor) {</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>     <a class="code" href="classclang_1_1LookupResult.html" title="Represents the results of name lookup.">LookupResult</a> Result = statChained(Path, Data, isFile, FileDescriptor);</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>     <span class="keywordflow">if</span> (Result == CacheMissing) <span class="comment">// Failed 'stat'.</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>       PM.insert(PTHEntryKeyVariant(Path), PTHEntry());</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Data.<a class="code" href="structclang_1_1FileData.html#a07710448fecef08ed14f0d897be6b3d8">IsDirectory</a>) {</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>       <span class="comment">// Only cache directories with absolute paths.</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>       <span class="keywordflow">if</span> (llvm::sys::path::is_relative(Path))</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>         <span class="keywordflow">return</span> Result;</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>       PM.insert(PTHEntryKeyVariant(&Data, Path), PTHEntry());</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>     }</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span> </div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     <span class="keywordflow">return</span> Result;</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> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span> </div>
+<div class="line"><a name="l00538"></a><span class="lineno"><a class="code" href="namespaceclang.html#a7d67d4f40e48a200ba8b10afff1552d9">  538</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang.html#a7d67d4f40e48a200ba8b10afff1552d9">clang::CacheTokens</a>(<a class="code" href="classclang_1_1Preprocessor.html">Preprocessor</a> &PP, llvm::raw_fd_ostream* OS) {</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   <span class="comment">// Get the name of the main file.</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</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> &SrcMgr = PP.<a class="code" href="classclang_1_1Preprocessor.html#afca276c0a87d413e51e8848edf8f911b">getSourceManager</a>();</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</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> *MainFile = SrcMgr.<a class="code" href="classclang_1_1SourceManager.html#a89a4d1fa8ccc458bce84b0d72b4545db" title="Returns the FileEntry record for the provided FileID.">getFileEntryForID</a>(SrcMgr.<a class="code" href="classclang_1_1SourceManager.html#ad3ac47ab7380c82d19243a2db765479c" title="Returns the FileID of the main source file.">getMainFileID</a>());</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> MainFilePath(MainFile-><a class="code" href="classclang_1_1FileEntry.html#a94ddac74f217c35e19420dd6c419e25f">getName</a>());</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   llvm::sys::fs::make_absolute(MainFilePath);</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   <span class="comment">// Create the PTHWriter.</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   PTHWriter PW(*OS, PP);</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span> </div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>   <span class="comment">// Install the 'stat' system call listener in the FileManager.</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   StatListener *StatCache = <span class="keyword">new</span> StatListener(PW.getPM());</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>().<a class="code" href="classclang_1_1FileManager.html#af8e113d74ab7d26928c9d2bf46e4a4da" title="Installs the provided FileSystemStatCache object within the FileManager.">addStatCache</a>(StatCache, <span class="comment">/*AtBeginning=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> </div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   <span class="comment">// Lex through the entire file.  This will populate SourceManager with</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="comment">// all of the header information.</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   <a class="code" href="classclang_1_1Token.html">Token</a> Tok;</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>   PP.<a class="code" href="classclang_1_1Preprocessor.html#a66c19667ad68f8aa575e325ad2c7df5f">EnterMainSourceFile</a>();</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="keywordflow">do</span> { PP.<a class="code" href="classclang_1_1Preprocessor.html#a4c7cf0c496e4a7744bc1731d92a4431e" title="Lex - Lex the next token for this preprocessor.">Lex</a>(Tok); } <span class="keywordflow">while</span> (Tok.<a class="code" href="classclang_1_1Token.html#add9ef521a5de741af9c573525b71cb73">isNot</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</a>));</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   <span class="comment">// Generate the PTH file.</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   PP.<a class="code" href="classclang_1_1Preprocessor.html#a07eb04f847b5976cec8b174764b99424">getFileManager</a>().<a class="code" href="classclang_1_1FileManager.html#ac5edefee07486e47e008e79f52541e36" title="Removes the specified FileSystemStatCache object from the manager.">removeStatCache</a>(StatCache);</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   PW.GeneratePTH(MainFilePath.str());</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> }</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> </div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> <span class="keyword">class </span>PTHIdKey {</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a>* II;</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   uint32_t FileOffset;</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> };</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> <span class="keyword">class </span>PTHIdentifierTableTrait {</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   <span class="keyword">typedef</span> PTHIdKey* key_type;</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   <span class="keyword">typedef</span> key_type  key_type_ref;</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span> </div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   <span class="keyword">typedef</span> uint32_t  data_type;</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>   <span class="keyword">typedef</span> data_type data_type_ref;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> </div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1serialization.html#ae67b4ea0ba75813eed18b812020cf52e">ComputeHash</a>(PTHIdKey* key) {</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>     <span class="keywordflow">return</span> llvm::HashString(key->II->getName());</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   }</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> </div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   <span class="keyword">static</span> std::pair<unsigned,unsigned></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>   EmitKeyDataLength(raw_ostream& Out, <span class="keyword">const</span> PTHIdKey* key, uint32_t) {</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     <span class="keywordtype">unsigned</span> n = key->II->getLength() + 1;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>     <a class="code" href="namespaceclang_1_1io.html#a1848a202a9f2af56ab1a9fac6ea25d4b">::Emit16</a>(Out, n);</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>     <span class="keywordflow">return</span> std::make_pair(n, <span class="keyword">sizeof</span>(uint32_t));</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>   }</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> </div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>   <span class="keyword">static</span> <span class="keywordtype">void</span> EmitKey(raw_ostream& Out, PTHIdKey* key, <span class="keywordtype">unsigned</span> n) {</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>     <span class="comment">// Record the location of the key data.  This is used when generating</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>     <span class="comment">// the mapping from persistent IDs to strings.</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>     key->FileOffset = Out.tell();</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     Out.write(key->II->getNameStart(), n);</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>   }</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>   <span class="keyword">static</span> <span class="keywordtype">void</span> EmitData(raw_ostream& Out, PTHIdKey*, uint32_t pID,</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>                        <span class="keywordtype">unsigned</span>) {</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">::Emit32</a>(Out, pID);</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   }</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span> };</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span> } <span class="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span> <span class="comment"></span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span> <span class="comment">/// EmitIdentifierTable - Emits two tables to the PTH file.  The first is</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> <span class="comment">///  a hashtable mapping from identifier strings to persistent IDs.  The second</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span> <span class="comment">///  is a straight table mapping from persistent IDs to string data (the</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> <span class="comment">///  keys of the first table).</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span> <span class="comment"></span>std::pair<Offset,Offset> PTHWriter::EmitIdentifierTable() {</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <span class="comment">// Build two maps:</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>   <span class="comment">//  (1) an inverse map from persistent IDs -> (IdentifierInfo*,Offset)</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   <span class="comment">//  (2) a map from (IdentifierInfo*, Offset)* -> persistent IDs</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span> </div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   <span class="comment">// Note that we use 'calloc', so all the bytes are 0.</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>   PTHIdKey *IIDMap = (PTHIdKey*)calloc(idcount, <span class="keyword">sizeof</span>(PTHIdKey));</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="comment">// Create the hashtable.</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>   <a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html">OnDiskChainedHashTableGenerator<PTHIdentifierTableTrait></a> IIOffMap;</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span> </div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   <span class="comment">// Generate mapping from persistent IDs -> IdentifierInfo*.</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>   <span class="keywordflow">for</span> (IDMap::iterator I = IM.begin(), E = IM.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>     <span class="comment">// Decrement by 1 because we are using a vector for the lookup and</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>     <span class="comment">// 0 is reserved for NULL.</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>     assert(I->second > 0);</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>     assert(I->second-1 < idcount);</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>     <span class="keywordtype">unsigned</span> idx = I->second-1;</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span> </div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>     <span class="comment">// Store the mapping from persistent ID to IdentifierInfo*</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>     IIDMap[idx].II = I->first;</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span> </div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>     <span class="comment">// Store the reverse mapping in a hashtable.</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>     IIOffMap.insert(&IIDMap[idx], I->second);</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">// Write out the inverse map first.  This causes the PCIDKey entries to</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   <span class="comment">// record PTH file offsets for the string data.  This is used to write</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   <span class="comment">// the second table.</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> StringTableOffset = IIOffMap.<a class="code" href="classclang_1_1OnDiskChainedHashTableGenerator.html#a8b2855b6f4e23f0aa765a143178d4296">Emit</a>(Out);</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span> </div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>   <span class="comment">// Now emit the table mapping from persistent IDs to PTH file offsets.</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>   <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a> IDOff = Out.tell();</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>   <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(idcount);  <span class="comment">// Emit the number of identifiers.</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0 ; i < idcount; ++i)</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>     <a class="code" href="namespaceclang_1_1io.html#aa11d4045e64291f8791824ba0d7d12f6">Emit32</a>(IIDMap[i].FileOffset);</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span> </div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   <span class="comment">// Finally, release the inverse map.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>   <a class="code" href="namespaceclang_1_1ento.html#a41369c7fcbbfc6d969e262ee946eedf9">free</a>(IIDMap);</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span> </div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keywordflow">return</span> std::make_pair(IDOff, StringTableOffset);</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 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/CacheTokens_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CacheTokens_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CacheTokens_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CacheTokens_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,340 @@
+<!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: CacheTokens.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">CacheTokens.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CacheTokens_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/<a class="code" href="namespaceclang.html#a7d67d4f40e48a200ba8b10afff1552d9">CacheTokens</a>.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/Release+Asserts/<a class="code" href="namespaceclang.html#a7d67d4f40e48a200ba8b10afff1552d9">CacheTokens</a>.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CacheTokens.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/None.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/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Option/OptSpecifier.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/FileSystemStatCache.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OnDiskHashTable.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/Support/Host.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</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="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</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="l00064"></a><span class="lineno">   64</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="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</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="l00069"></a><span class="lineno">   69</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="l00070"></a><span class="lineno">   70</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="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/TemplateKinds.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/include/llvm/ADT/StringExtras.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/include/llvm/Support/Path.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/tools/clang/lib/Frontend/../../include/clang/Frontend/Utils.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/tools/clang/lib/Frontend/../../include/clang/Basic/Diagnostic.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/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticIDs.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/tools/clang/lib/Frontend/../../include/clang/Basic/LLVM.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/Support/Casting.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/Support/type_traits.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/DataTypes.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/include/llvm/ADT/None.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/include/llvm/ADT/IntrusiveRefCntPtr.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/Support/Compiler.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/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.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/DiagnosticCommonKinds.inc:</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/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.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/ArrayRef.h:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.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/Support/MathExtras.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.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/ADT/DenseMap.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/ADT/DenseMapInfo.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/Option/OptSpecifier.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/Frontend/../../include/clang/Basic/FileManager.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/Frontend/../../include/clang/Basic/FileSystemOptions.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/ADT/OwningPtr.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/include/llvm/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/Support/FileSystem.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/SmallString.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> /home/tstellar/llvm/include/llvm/ADT/Twine.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/ErrorHandling.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/TimeValue.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/system_error.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/FileSystemStatCache.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/tools/clang/lib/Frontend/../../include/clang/Basic/IdentifierTable.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/tools/clang/lib/Frontend/../../include/clang/Basic/OperatorKinds.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/Basic/OperatorKinds.def:</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/TokenKinds.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/TokenKinds.def:</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/OnDiskHashTable.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/Support/Host.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/raw_ostream.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/SourceManager.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/DenseSet.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/ADT/PointerUnion.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/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.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>/Lexer.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/LangOptions.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/CommentOptions.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/Frontend/../../include/clang/Basic/ObjCRuntime.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/VersionTuple.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/ADT/Triple.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/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="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> /home/tstellar/llvm/tools/clang/lib/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="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Sanitizers.def:</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/Frontend/../../include/clang/Basic/LangOptions.def:</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/Frontend/../../include/clang/Basic/OpenCLExtensions.def:</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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/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="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/Frontend/../../include/clang/Basic/TemplateKinds.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Preprocessor.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MacroInfo.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/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleMap.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/Frontend/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.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/ADT/SmallSet.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/include/llvm/ADT/SmallPtrSet.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PPCallbacks.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/DirectoryLookup.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/ModuleLoader.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Pragma.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/tools/clang/lib/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHLexer.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PTHManager.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/Frontend/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/TokenLexer.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/include/llvm/ADT/StringExtras.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/Support/Path.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 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/CallAndMessageChecker_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallAndMessageChecker_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallAndMessageChecker_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallAndMessageChecker_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,594 @@
+<!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: CallAndMessageChecker.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">CallAndMessageChecker.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CallAndMessageChecker_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">//===--- CallAndMessageChecker.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 defines CallAndMessageChecker, a builtin checker that checks for various</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// errors of call and objc message expressions.</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="ClangSACheckers_8h.html">ClangSACheckers.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="ParentMap_8h.html">clang/AST/ParentMap.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="include_2clang_2Basic_2TargetInfo_8h.html" title="Defines the clang::TargetInfo interface.">clang/Basic/TargetInfo.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</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="l00019"></a><span class="lineno">   19</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="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="CheckerManager_8h.html">clang/StaticAnalyzer/Core/CheckerManager.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> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</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">using namespace </span>clang;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">using namespace </span>ento;</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>{</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">class </span>CallAndMessageChecker</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1Checker.html">Checker</a>< check::PreStmt<CallExpr>,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>                     check::PreStmt<CXXDeleteExpr>,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>                     check::PreObjCMessage,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>                     check::PreCall > {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_call_null;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_call_undef;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_cxx_call_null;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_cxx_call_undef;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_call_arg;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_cxx_delete_undef;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_msg_undef;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_objc_prop_undef;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_objc_subscript_undef;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_msg_arg;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_msg_ret;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_call_few_args;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="keyword">public</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>   <span class="keywordtype">void</span> checkPreStmt(<span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keywordtype">void</span> checkPreStmt(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDeleteExpr.html" title="Represents a delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray"...">CXXDeleteExpr</a> *DE, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordtype">void</span> checkPreObjCMessage(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &msg, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</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="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> PreVisitProcessArg(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>                                  <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> argRange, <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *argEx,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>                                  <span class="keywordtype">bool</span> IsFirstArgument, <span class="keywordtype">bool</span> checkUninitFields,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</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, <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> &BT);</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">static</span> <span class="keywordtype">void</span> emitBadCall(<a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a> *BT, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *BadE);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   <span class="keywordtype">void</span> emitNilReceiverBug(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &msg,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>                           <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) <span class="keyword">const</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>   <span class="keywordtype">void</span> HandleNilReceiver(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>                          <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>                          <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &msg) <span class="keyword">const</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>   <span class="keyword">static</span> <span class="keywordtype">void</span> LazyInit_BT(<span class="keyword">const</span> <span class="keywordtype">char</span> *desc, <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> &BT) {</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     <span class="keywordflow">if</span> (!BT)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>       BT.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(desc));</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> };</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> } <span class="comment">// end anonymous namespace</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">   75</span> <span class="keywordtype">void</span> CallAndMessageChecker::emitBadCall(<a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a> *BT, <a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *BadE) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>();</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   <span class="keywordflow">if</span> (!N)</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="keywordflow">return</span>;</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>   <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>(*BT, BT-><a class="code" href="classclang_1_1ento_1_1BugType.html#a5a3182264fecd7d2e9714c1909944e72">getName</a>(), N);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   <span class="keywordflow">if</span> (BadE) {</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>     R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(BadE-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>     <span class="keywordflow">if</span> (BadE-><a class="code" href="classclang_1_1Expr.html#ae5788e69a4c1d2d1b1e5ddaa4d525e22">isGLValue</a>())</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>       BadE = <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a71c8ae94d739523a7f4684109e23ea61">bugreporter::getDerefExpr</a>(BadE);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, BadE, *R);</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>   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="l00089"></a><span class="lineno">   89</span> }</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="CallAndMessageChecker_8cpp.html#a8443d8b9b03d58fd0e7e5059b94bb18b">   91</a></span> <span class="keyword">static</span> StringRef <a class="code" href="CallAndMessageChecker_8cpp.html#a8443d8b9b03d58fd0e7e5059b94bb18b">describeUninitializedArgumentInCall</a>(<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="l00092"></a><span class="lineno">   92</span>                                                      <span class="keywordtype">bool</span> IsFirstArgument) {</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keywordflow">switch</span> (Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#aeae13ff8f7c9a65dfb4a01e89462bd52" title="Returns the kind of call this is.">getKind</a>()) {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea23a17d52b6f087b29e39495ca148e45f">CE_ObjCMessage</a>: {</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &Msg = cast<ObjCMethodCall>(Call);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>     <span class="keywordflow">switch</span> (Msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a759141470c046607d2570284f6c51089">getMessageKind</a>()) {</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>:</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       <span class="keywordflow">return</span> <span class="stringliteral">"Argument in message expression is an uninitialized value"</span>;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966ae6a83682e6e9a48876f2656ce619f6cd">OCM_PropertyAccess</a>:</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>       assert(Msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#aeadbc2d700a5c47742afa89352ee480d">isSetter</a>() && <span class="stringliteral">"Getters have no args"</span>);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>       <span class="keywordflow">return</span> <span class="stringliteral">"Argument for property setter is an uninitialized value"</span>;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a1b9c682762c8c80e9d5af352e80ac648">OCM_Subscript</a>:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>       <span class="keywordflow">if</span> (Msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#aeadbc2d700a5c47742afa89352ee480d">isSetter</a>() && IsFirstArgument)</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>         <span class="keywordflow">return</span> <span class="stringliteral">"Argument for subscript setter is an uninitialized value"</span>;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>       <span class="keywordflow">return</span> <span class="stringliteral">"Subscript index is an uninitialized value"</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>     llvm_unreachable(<span class="stringliteral">"Unknown message kind."</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>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea48e04c3b77316081dc1ce9933f839123">CE_Block</a>:</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Block call argument is an uninitialized value"</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     <span class="keywordflow">return</span> <span class="stringliteral">"Function call argument is an uninitialized value"</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">  114</span> }</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> <span class="keywordtype">bool</span> CallAndMessageChecker::PreVisitProcessArg(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                                                <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> argRange,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>                                                <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *argEx,</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>                                                <span class="keywordtype">bool</span> IsFirstArgument,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>                                                <span class="keywordtype">bool</span> checkUninitFields,</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</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="l00122"></a><span class="lineno">  122</span>                                                <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> &BT) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     <span class="keywordflow">if</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>()) {</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>       LazyInit_BT(<span class="stringliteral">"Uninitialized argument value"</span>, BT);</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>       <span class="comment">// Generate a report for this bug.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>       StringRef Desc = <a class="code" href="CallAndMessageChecker_8cpp.html#a8443d8b9b03d58fd0e7e5059b94bb18b">describeUninitializedArgumentInCall</a>(Call,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>                                                            IsFirstArgument);</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</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>(*BT, Desc, N);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(argRange);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>       <span class="keywordflow">if</span> (argEx)</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>         <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, argEx, *R);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</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="l00135"></a><span class="lineno">  135</span>     }</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   }</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <span class="keywordflow">if</span> (!checkUninitFields)</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="keywordflow">return</span> <span class="keyword">false</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="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::LazyCompoundVal></a> LV =</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>           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_1LazyCompoundVal.html">nonloc::LazyCompoundVal</a>>()) {</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>     <span class="keyword">class </span>FindUninitializedField {</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>       <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<const FieldDecl *, 10></a> FieldChain;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>       <a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a> &StoreMgr;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>       <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a> &MrMgr;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>       <a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a> store;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       FindUninitializedField(<a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a> &storeMgr,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                              <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a> &mrMgr, <a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a> s)</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>       : StoreMgr(storeMgr), MrMgr(mrMgr), store(s) {}</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="keywordtype">bool</span> Find(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1TypedValueRegion.html" title="TypedValueRegion - An abstract class representing regions having a typed value.">TypedValueRegion</a> *R) {</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>         <a class="code" href="classclang_1_1QualType.html">QualType</a> T = R-><a class="code" href="classclang_1_1ento_1_1TypedValueRegion.html#a527b908a410f8b916205d6db9420969e">getValueType</a>();</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RT = T-><a class="code" href="classclang_1_1Type.html#a87c0b7d631156eaba036eccc56fa70b3">getAsStructureType</a>()) {</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>           <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RD = RT->getDecl()-><a class="code" href="classclang_1_1RecordDecl.html#ace12add36d1accb71a7d53bacad696af">getDefinition</a>();</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>           assert(RD && <span class="stringliteral">"Referred record has no definition"</span>);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>           <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> I =</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>                RD-><a class="code" href="classclang_1_1RecordDecl.html#a723c70951c30c075e7a516d1933683e4">field_begin</a>(), E = RD-><a class="code" href="classclang_1_1RecordDecl.html#a118f17574e4199f2d26cd20902dc88ca">field_end</a>(); I!=E; ++I) {</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>             <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1FieldRegion.html">FieldRegion</a> *FR = MrMgr.getFieldRegion(*I, R);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>             FieldChain.push_back(*I);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>             T = I->getType();</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>             <span class="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#a87c0b7d631156eaba036eccc56fa70b3">getAsStructureType</a>()) {</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>               <span class="keywordflow">if</span> (Find(FR))</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                 <span class="keywordflow">return</span> <span class="keyword">true</span>;</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="keywordflow">else</span> {</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>               <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> &V = StoreMgr.getBinding(store, <a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(FR));</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>               <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>())</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                 <span class="keywordflow">return</span> <span class="keyword">true</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>             FieldChain.pop_back();</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>         }</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="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>       }</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     };</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1LazyCompoundValData.html">LazyCompoundValData</a> *D = LV->getCVData();</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     FindUninitializedField F(C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a81bd66f80b18117a9a64a8d0daa62825">getState</a>()->getStateManager().getStoreManager(),</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>                              C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a791437277a1f6304084fcd605ca3e4ee">getSValBuilder</a>().<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aa498939473c12cd59ed8e53a249956c3">getRegionManager</a>(),</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>                              D-><a class="code" href="classclang_1_1ento_1_1LazyCompoundValData.html#aebe98db341a65184e8c72c840f3c678a">getStore</a>());</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>     <span class="keywordflow">if</span> (F.Find(D-><a class="code" href="classclang_1_1ento_1_1LazyCompoundValData.html#af76332749771f87746ec35545c619992">getRegion</a>())) {</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>       <span class="keywordflow">if</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>()) {</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>         LazyInit_BT(<span class="stringliteral">"Uninitialized argument value"</span>, BT);</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>         <a class="code" href="classllvm_1_1SmallString.html">SmallString<512></a> Str;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>         llvm::raw_svector_ostream os(Str);</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>         os << <span class="stringliteral">"Passed-by-value struct argument contains uninitialized data"</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>         <span class="keywordflow">if</span> (F.FieldChain.size() == 1)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>           os << <span class="stringliteral">" (e.g., field: '"</span> << *F.FieldChain[0] << <span class="stringliteral">"')"</span>;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>         <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>           os << <span class="stringliteral">" (e.g., via the field chain: '"</span>;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>           <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>           <a class="code" href="namespaceclang.html#a355ba9af5ac2c9c6089bd5e5754f406a">for</a> (<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<const FieldDecl *>::iterator</a></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>                DI = F.FieldChain.begin(), DE = F.FieldChain.end(); DI!=DE;++DI){</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>             <span class="keywordflow">if</span> (first)</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>               first = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>             <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>               os << <span class="charliteral">'.'</span>;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>             os << **DI;</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>           os << <span class="stringliteral">"')"</span>;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>         }</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>         <span class="comment">// Generate a report for this bug.</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</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>(*BT, os.str(), N);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>         R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(argRange);</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>         <span class="comment">// FIXME: enhance track back for uninitialized value for arbitrary</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>         <span class="comment">// memregions</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</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="l00219"></a><span class="lineno">  219</span>       }</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     }</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   }</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="keywordtype">void</span> CallAndMessageChecker::checkPreStmt(<span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE,</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</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="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Callee = CE-><a class="code" href="classclang_1_1CallExpr.html#a3a2b7cbceb661c81f0d6eb937610eb75">getCallee</a>()-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</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="l00232"></a><span class="lineno">  232</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a7581c66c5849fab4a40b321024c9c136">getLocationContext</a>();</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> L = State->getSVal(Callee, LCtx);</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="keywordflow">if</span> (L.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>     <span class="keywordflow">if</span> (!BT_call_undef)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>       BT_call_undef.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Called function pointer is an "</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>                                          <span class="stringliteral">"uninitalized pointer value"</span>));</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     emitBadCall(BT_call_undef.get(), C, Callee);</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>     <span class="keywordflow">return</span>;</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> </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> StNonNull, StNull;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   llvm::tie(StNonNull, StNull) =</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>       State->assume(L.<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_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a>>());</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>   <span class="keywordflow">if</span> (StNull && !StNonNull) {</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="keywordflow">if</span> (!BT_call_null)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>       BT_call_null.reset(</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>         <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Called function pointer is null (null dereference)"</span>));</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     emitBadCall(BT_call_null.get(), C, Callee);</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     <span class="keywordflow">return</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> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</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>(StNonNull);</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> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> <span class="keywordtype">void</span> CallAndMessageChecker::checkPreStmt(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDeleteExpr.html" title="Represents a delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray"...">CXXDeleteExpr</a> *DE,</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</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="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> Arg = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a0d759e052a03b3b956294899dc2ccd0d" title="Get the value of arbitrary expressions at this point in the path.">getSVal</a>(DE-><a class="code" href="classclang_1_1CXXDeleteExpr.html#a4209bf12d646451c7206292e454c05f9">getArgument</a>());</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   <span class="keywordflow">if</span> (Arg.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>     StringRef Desc;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>();</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="keywordflow">if</span> (!N)</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>     <span class="keywordflow">if</span> (!BT_cxx_delete_undef)</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>       BT_cxx_delete_undef.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Uninitialized argument value"</span>));</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>     <span class="keywordflow">if</span> (DE-><a class="code" href="classclang_1_1CXXDeleteExpr.html#ad6a7050f54c978da54ec9f62568b06ad">isArrayFormAsWritten</a>())</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>       Desc = <span class="stringliteral">"Argument to 'delete[]' is uninitialized"</span>;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>       Desc = <span class="stringliteral">"Argument to 'delete' is uninitialized"</span>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>     <a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a> *BT = BT_cxx_delete_undef.get();</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</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>(*BT, Desc, N);</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, DE, *R);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</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="l00277"></a><span class="lineno">  277</span>     <span class="keywordflow">return</span>;</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> }</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> CallAndMessageChecker::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="l00283"></a><span class="lineno">  283</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="l00284"></a><span class="lineno">  284</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="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>   <span class="comment">// If this is a call to a C++ method, check if the callee is null or</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>   <span class="comment">// undefined.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXInstanceCall.html" title="Represents a non-static C++ member function call, no matter how it is written.">CXXInstanceCall</a> *CC = dyn_cast<CXXInstanceCall>(&Call)) {</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = CC->getCXXThisVal();</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>       <span class="keywordflow">if</span> (!BT_cxx_call_undef)</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>         BT_cxx_call_undef.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Called C++ object pointer is "</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>                                                <span class="stringliteral">"uninitialized"</span>));</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>       emitBadCall(BT_cxx_call_undef.get(), C, CC->getCXXThisExpr());</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>       <span class="keywordflow">return</span>;</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> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> StNonNull, StNull;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     llvm::tie(StNonNull, StNull) =</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>         State->assume(V.<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_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</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="keywordflow">if</span> (StNull && !StNonNull) {</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>       <span class="keywordflow">if</span> (!BT_cxx_call_null)</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>         BT_cxx_call_null.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Called C++ object pointer "</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>                                               <span class="stringliteral">"is null"</span>));</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>       emitBadCall(BT_cxx_call_null.get(), C, CC->getCXXThisExpr());</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>       <span class="keywordflow">return</span>;</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> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     State = StNonNull;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   }</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>();</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *FD = dyn_cast_or_null<FunctionDecl>(D)) {</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>     <span class="comment">// If we have a declaration, we can make sure we pass enough parameters to</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>     <span class="comment">// the function.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>     <span class="keywordtype">unsigned</span> Params = FD->getNumParams();</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</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>() < Params) {</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>();</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>       <span class="keywordflow">if</span> (!N)</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>         <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>       LazyInit_BT(<span class="stringliteral">"Function call with too few arguments"</span>, BT_call_few_args);</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>       <a class="code" href="classllvm_1_1SmallString.html">SmallString<512></a> Str;</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>       llvm::raw_svector_ostream os(Str);</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>       os << <span class="stringliteral">"Function taking "</span> << Params << <span class="stringliteral">" argument"</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>          << (Params == 1 ? <span class="stringliteral">""</span> : <span class="stringliteral">"s"</span>) << <span class="stringliteral">" is called with less ("</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>          << Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</a>() << <span class="stringliteral">")"</span>;</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>       <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>(*BT_call_few_args, os.str(), N);</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</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="l00333"></a><span class="lineno">  333</span>     }</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> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="comment">// Don't check for uninitialized field values in arguments if the</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="comment">// caller has a body that is available and we have the chance to inline it.</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   <span class="comment">// This is a hack, but is a reasonable compromise betweens sometimes warning</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="comment">// and sometimes not depending on if we decide to inline a function.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keyword">const</span> <span class="keywordtype">bool</span> checkUninitFields =</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     !(C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a258f41ca3502055839336b69896842a1">getAnalysisManager</a>().<a class="code" href="classclang_1_1ento_1_1AnalysisManager.html#a83186aadaea69dd055ec279afc6a90dc">shouldInlineCall</a>() && (D && D-><a class="code" href="classclang_1_1Decl.html#a128fd27b232c03226d9a34fcfa959e01">getBody</a>()));</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>   <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> *BT;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>   <span class="keywordflow">if</span> (isa<ObjCMethodCall>(Call))</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     BT = &BT_msg_arg;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>     BT = &BT_call_arg;</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>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</a>(); i != e; ++i)</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     <span class="keywordflow">if</span> (PreVisitProcessArg(C, 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>(i), Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a675e273e5c2df626e4d0df200377dbc9" title="Returns the source range for errors associated with this argument.">getArgSourceRange</a>(i),</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>                            Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a4bbe5da792a232a63e54923241eb9f39" title="Returns the expression associated with a given argument. May be null if this expression does not appe...">getArgExpr</a>(i), <span class="comment">/*IsFirstArgument=*/</span>i == 0,</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>                            checkUninitFields, Call, *BT))</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>       <span class="keywordflow">return</span>;</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>   <span class="comment">// If we make it here, record our assumptions about the callee.</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</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="l00357"></a><span class="lineno">  357</span> }</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> <span class="keywordtype">void</span> CallAndMessageChecker::checkPreObjCMessage(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &msg,</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</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="l00361"></a><span class="lineno">  361</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> recVal = msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#aec6aa50eb3a012c6da65036a5e7c8025" title="Returns the value of the receiver at the time of this call.">getReceiverSVal</a>();</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   <span class="keywordflow">if</span> (recVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     <span class="keywordflow">if</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>()) {</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>       <a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a> *BT = 0;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>       <span class="keywordflow">switch</span> (msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a759141470c046607d2570284f6c51089">getMessageKind</a>()) {</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>         <span class="keywordflow">if</span> (!BT_msg_undef)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>           BT_msg_undef.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Receiver in message expression "</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>                                             <span class="stringliteral">"is an uninitialized value"</span>));</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>         BT = BT_msg_undef.get();</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966ae6a83682e6e9a48876f2656ce619f6cd">OCM_PropertyAccess</a>:</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>         <span class="keywordflow">if</span> (!BT_objc_prop_undef)</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>           BT_objc_prop_undef.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Property access on an "</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>                                                   <span class="stringliteral">"uninitialized object "</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>                                                   <span class="stringliteral">"pointer"</span>));</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>         BT = BT_objc_prop_undef.get();</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a1b9c682762c8c80e9d5af352e80ac648">OCM_Subscript</a>:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>         <span class="keywordflow">if</span> (!BT_objc_subscript_undef)</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>           BT_objc_subscript_undef.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Subscript access on an "</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>                                                        <span class="stringliteral">"uninitialized object "</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>                                                        <span class="stringliteral">"pointer"</span>));</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>         BT = BT_objc_subscript_undef.get();</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>       }</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>       assert(BT && <span class="stringliteral">"Unknown message kind."</span>);</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>       <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>(*BT, BT-><a class="code" href="classclang_1_1ento_1_1BugType.html#a5a3182264fecd7d2e9714c1909944e72">getName</a>(), N);</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *ME = msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a58f6512d85d133edf6010bb910f44323">getOriginExpr</a>();</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>       R-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(ME->getReceiverRange());</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>       <span class="comment">// FIXME: getTrackNullOrUndefValueVisitor can't handle "super" yet.</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *ReceiverE = ME->getInstanceReceiver())</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>         <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, ReceiverE, *R);</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</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="l00397"></a><span class="lineno">  397</span>     }</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     <span class="comment">// Bifurcate the state into nil and non-nil ones.</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>     <a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> receiverVal = recVal.<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_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a>>();</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</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="l00404"></a><span class="lineno">  404</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> notNilState, nilState;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     llvm::tie(notNilState, nilState) = state->assume(receiverVal);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     <span class="comment">// Handle receiver must be nil.</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="keywordflow">if</span> (nilState && !notNilState) {</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>       HandleNilReceiver(C, state, msg);</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     }</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   }</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> </div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> <span class="keywordtype">void</span> CallAndMessageChecker::emitNilReceiverBug(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>                                                <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &msg,</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>                                                <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   <span class="keywordflow">if</span> (!BT_msg_ret)</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>     BT_msg_ret.reset(</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BuiltinBug.html">BuiltinBug</a>(<span class="stringliteral">"Receiver in message expression is 'nil'"</span>));</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *ME = msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a58f6512d85d133edf6010bb910f44323">getOriginExpr</a>();</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>   <a class="code" href="classclang_1_1QualType.html">QualType</a> ResTy = msg.getResultType();</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<200></a> buf;</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   llvm::raw_svector_ostream os(buf);</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   os << <span class="stringliteral">"The receiver of message '"</span> << ME-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a7c194e4fd002abea38c7b099a205db5d">getSelector</a>().<a class="code" href="classclang_1_1Selector.html#a0c56d387ecb718cc92340804fc575979" title="Derive the full selector name (e.g. "foo:bar:") and return it as an std::string.">getAsString</a>()</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>      << <span class="stringliteral">"' is nil"</span>;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keywordflow">if</span> (ResTy-><a class="code" href="classclang_1_1Type.html#ab2b860560d2ac12cd365aa09b143d195">isReferenceType</a>()) {</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>     os << <span class="stringliteral">", which results in forming a null reference"</span>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>     os << <span class="stringliteral">" and returns a value of type '"</span>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>     msg.getResultType().print(os, C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ac711e193dd4ad4011da56d95cdf1d8f7">getLangOpts</a>());</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>     os << <span class="stringliteral">"' that will be garbage"</span>;</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> </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> *report = <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a>(*BT_msg_ret, os.str(), N);</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   report-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(ME-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a6130fefa2698caa64bfee97068f0ddf5" title="Source range of the receiver.">getReceiverRange</a>());</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   <span class="comment">// FIXME: This won't track "self" in messages to super.</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *receiver = ME-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a52ac8728aad0bc716d5c87887f332cf9" title="Returns the object expression (receiver) for an instance message, or null for a message that is not a...">getInstanceReceiver</a>()) {</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>     <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, receiver, *report);</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   }</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ae7738af2cbfd1d713edec33d3203dff5" title="Emit the diagnostics report.">emitReport</a>(report);</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> }</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="CallAndMessageChecker_8cpp.html#a9e896aaf0c41148fde7e652b500916dd">  448</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CallAndMessageChecker_8cpp.html#a9e896aaf0c41148fde7e652b500916dd">supportsNilWithFloatRet</a>(<span class="keyword">const</span> llvm::Triple &triple) {</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   <span class="keywordflow">return</span> (triple.getVendor() == llvm::Triple::Apple &&</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>           (triple.isiOS() || !triple.isMacOSXVersionLT(10,5)));</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> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> <span class="keywordtype">void</span> CallAndMessageChecker::HandleNilReceiver(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C,</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>                                               <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>                                               <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> &Msg)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</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 = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#ae6c98ff68628991ee1d07ad7d848b41f">getASTContext</a>();</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1SimpleProgramPointTag.html">SimpleProgramPointTag</a> Tag(<span class="stringliteral">"CallAndMessageChecker : NilReceiver"</span>);</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="comment">// Check the return type of the message expression.  A message to nil will</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <span class="comment">// return different values depending on the return type and the architecture.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> RetTy = Msg.getResultType();</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   <a class="code" href="classclang_1_1CanQual.html">CanQualType</a> CanRetTy = Ctx.<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>(RetTy);</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a7581c66c5849fab4a40b321024c9c136">getLocationContext</a>();</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>   <span class="keywordflow">if</span> (CanRetTy->isStructureOrClassType()) {</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     <span class="comment">// Structure returns are safe since the compiler zeroes them out.</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a791437277a1f6304084fcd605ca3e4ee">getSValBuilder</a>().<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a0ef9c6ec4c6b97119ca815ca2893329f" title="Construct an SVal representing '0' for the specified type.">makeZeroVal</a>(RetTy);</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</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->BindExpr(Msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a58f6512d85d133edf6010bb910f44323">getOriginExpr</a>(), LCtx, V), &Tag);</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>   }</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>   <span class="comment">// Other cases: check if sizeof(return type) > sizeof(void*)</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   <span class="keywordflow">if</span> (CanRetTy != Ctx.<a class="code" href="classclang_1_1ASTContext.html#aaa9dd0ebd4ff2e55c572f5718b7af508">VoidTy</a> && C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a7581c66c5849fab4a40b321024c9c136">getLocationContext</a>()-><a class="code" href="classclang_1_1LocationContext.html#a246afe6af640314e05942ac77193c635">getParentMap</a>()</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>                                   .<a class="code" href="classclang_1_1ParentMap.html#adbbe716ad3d87b9d1e51caa5f9d487e9">isConsumedExpr</a>(Msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a58f6512d85d133edf6010bb910f44323">getOriginExpr</a>())) {</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>     <span class="comment">// Compute: sizeof(void *) and sizeof(return type)</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>     <span class="keyword">const</span> uint64_t voidPtrSize = Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a485732164c40553bb323c58f5e8bf7a7">VoidPtrTy</a>);</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>     <span class="keyword">const</span> uint64_t returnTypeSize = Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3e16bd856974e4ac9710e0c507a60cee" title="Return the size of the specified (complete) type T, in bits.">getTypeSize</a>(CanRetTy);</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="keywordflow">if</span> (CanRetTy.<a class="code" href="classclang_1_1CanQual.html#ade6897b3c823f8f586ee6f677d8ac15c" title="Retrieve the underlying type pointer, which refers to a canonical type.">getTypePtr</a>()-><a class="code" href="classclang_1_1Type.html#ab2b860560d2ac12cd365aa09b143d195">isReferenceType</a>()||</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>         (voidPtrSize < returnTypeSize &&</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>          !(<a class="code" href="CallAndMessageChecker_8cpp.html#a9e896aaf0c41148fde7e652b500916dd">supportsNilWithFloatRet</a>(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a1f86013f3f8d32eec61a74c21d26b2a4">getTargetInfo</a>().<a class="code" href="classclang_1_1TargetInfo.html#a20f1dc9686f1a537a03975c7603774e7" title="Returns the target triple of the primary target.">getTriple</a>()) &&</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>            (Ctx.<a class="code" href="classclang_1_1ASTContext.html#a30d239b8f8a7995d23cb4349038fa74f">FloatTy</a> == CanRetTy ||</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>             Ctx.<a class="code" href="classclang_1_1ASTContext.html#a366594144d93311decc086cb980d69c2">DoubleTy</a> == CanRetTy ||</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>             Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3c4917789ce7a56eb126523906975140">LongDoubleTy</a> == CanRetTy ||</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>             Ctx.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a> == CanRetTy ||</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>             Ctx.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a> == CanRetTy)))) {</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>       <span class="keywordflow">if</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#adeea33a5a2bed190210c4a2bb807a6f0" title="Generate a sink node. Generating a sink stops exploration of the given path.">generateSink</a>(state, 0 , &Tag))</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>         emitNilReceiverBug(C, Msg, N);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>       <span class="keywordflow">return</span>;</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="comment">// Handle the safe cases where the return value is 0 if the</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>     <span class="comment">// receiver is nil.</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>     <span class="comment">// FIXME: For now take the conservative approach that we only</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>     <span class="comment">// return null values if we *know* that the receiver is nil.</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     <span class="comment">// This is because we can have surprises like:</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <span class="comment">//   ... = [[NSScreens screens] objectAtIndex:0];</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>     <span class="comment">// What can happen is that [... screens] could return nil, but</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>     <span class="comment">// it most likely isn't nil.  We should assume the semantics</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>     <span class="comment">// of this case unless we have *a lot* more knowledge.</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a791437277a1f6304084fcd605ca3e4ee">getSValBuilder</a>().<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a0ef9c6ec4c6b97119ca815ca2893329f" title="Construct an SVal representing '0' for the specified type.">makeZeroVal</a>(RetTy);</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</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->BindExpr(Msg.<a class="code" href="classclang_1_1ObjCMethodCall.html#a58f6512d85d133edf6010bb910f44323">getOriginExpr</a>(), LCtx, V), &Tag);</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="keywordflow">return</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>   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="l00511"></a><span class="lineno">  511</span> }</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> <span class="keywordtype">void</span> ento::registerCallAndMessageChecker(<a class="code" href="classclang_1_1ento_1_1CheckerManager.html">CheckerManager</a> &mgr) {</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>   mgr.<a class="code" href="classclang_1_1ento_1_1CheckerManager.html#ab3845ff8b66a7617efdadb219829414a" title="Used to register checkers.">registerChecker</a><CallAndMessageChecker>();</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 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/CallAndMessageChecker_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallAndMessageChecker_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallAndMessageChecker_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallAndMessageChecker_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,603 @@
+<!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: CallAndMessageChecker.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">CallAndMessageChecker.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CallAndMessageChecker_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/CallAndMessageChecker.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Release+Asserts/CallAndMessageChecker.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CallAndMessageChecker.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/AST/ParentMap.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/TargetInfo.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TargetOptions.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/StaticAnalyzer/Checkers/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugType.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/Checker.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.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/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.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/TokenKinds.def \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</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="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</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="l00075"></a><span class="lineno">   75</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="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtIterator.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/CapturedStmt.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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/Checkers/../../../include/clang/StaticAnalyzer/Core/CheckerManager.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</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="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTContext.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/ASTTypeTraits.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/ASTFwd.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateBase.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/TypeLoc.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../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/Checkers/../../../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/Checkers/../../../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/Checkers/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceManager.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/FileManager.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/ExprObjC.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/DeclObjC.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</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="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Builtins.def \</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/SVals.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/ProgramState_Fwd.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/SymbolManager.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/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</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/SValBuilder.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</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="l00140"></a><span class="lineno">  140</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="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.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/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.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/Environment.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.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/PathSensitive/TaintTag.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/PathSensitive/CheckerContext.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.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/BugReporter/BugReporterVisitor.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/BugReporter/PathDiagnostic.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.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/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.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/ExplodedGraph.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.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/FunctionSummary.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/include/llvm/ADT/BitVector.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h \</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/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.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> ClangSACheckers.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.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> Checkers.inc:</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/StaticAnalyzer/Checkers/../../../include/clang/AST/ParentMap.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/StaticAnalyzer/Checkers/../../../include/clang/Basic/TargetInfo.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TargetCXXABI.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/include/llvm/ADT/Triple.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/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.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/include/llvm/Support/type_traits.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/include/llvm/Support/DataTypes.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/include/llvm/Support/ErrorHandling.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/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LLVM.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/Support/Casting.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/None.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Specifiers.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/Checkers/../../../include/clang/Basic/TargetOptions.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/include/llvm/ADT/IntrusiveRefCntPtr.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/Checkers/../../../include/clang/Basic/VersionTuple.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/Optional.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/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.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/Support/SwapByteOrder.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/StringSwitch.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugType.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/Checker.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/Checkers/../../../include/clang/Analysis/ProgramPoint.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/Checkers/../../../include/clang/Analysis/AnalysisContext.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/Checkers/../../../include/clang/AST/Decl.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/Checkers/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/APInt.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/include/llvm/ADT/ArrayRef.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/include/llvm/ADT/APSInt.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/include/llvm/ADT/PointerIntPair.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/Support/PointerLikeTypeTraits.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/PointerUnion.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclBase.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/Checkers/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.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/Checkers/../../../include/clang/Basic/TokenKinds.def:</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/include/llvm/ADT/SmallString.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/Checkers/../../../include/clang/Basic/PartialDiagnostic.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/Checkers/../../../include/clang/Basic/Diagnostic.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/Checkers/../../../include/clang/Basic/DiagnosticIDs.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/Checkers/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Checkers/../../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.def:</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/Checkers/../../../include/clang/Basic/SourceLocation.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/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.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/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="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.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/Checkers/../../../include/clang/AST/DeclNodes.inc:</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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExternalASTSource.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/Checkers/../../../include/clang/AST/CharUnits.h:</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/Checkers/../../../include/clang/AST/Redeclarable.h:</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/Checkers/../../../include/clang/AST/Type.h:</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/Checkers/../../../include/clang/AST/NestedNameSpecifier.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/Checkers/../../../include/clang/AST/TemplateName.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/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="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/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="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeNodes.def:</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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/BuiltinTypes.def:</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/raw_ostream.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/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/Support/TimeValue.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/Support/system_error.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/Checkers/../../../include/clang/Analysis/CFG.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/Checkers/../../../include/clang/AST/Stmt.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/Checkers/../../../include/clang/AST/DeclGroup.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/Checkers/../../../include/clang/AST/StmtIterator.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/Checkers/../../../include/clang/Basic/CapturedStmt.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/Checkers/../../../include/clang/AST/StmtNodes.inc:</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/Checkers/../../../include/clang/Analysis/Support/BumpVector.h:</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/include/llvm/ADT/GraphTraits.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/Checkers/../../../include/clang/StaticAnalyzer/Core/CheckerManager.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/Checkers/../../../include/clang/Basic/LangOptions.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/Checkers/../../../include/clang/Basic/CommentOptions.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/Checkers/../../../include/clang/Basic/ObjCRuntime.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/Checkers/../../../include/clang/Basic/Sanitizers.def:</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/Checkers/../../../include/clang/Basic/LangOptions.def:</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/Checkers/../../../include/clang/Basic/OpenCLExtensions.def:</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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.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/Checkers/../../../include/clang/AST/ASTContext.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTTypeTraits.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/Checkers/../../../include/clang/AST/ASTFwd.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateBase.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/Checkers/../../../include/clang/AST/TypeLoc.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/Checkers/../../../include/clang/AST/TypeLocNodes.def:</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/Checkers/../../../include/clang/AST/CanonicalType.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CommentCommandTraits.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/Checkers/../../../include/clang/AST/CommentCommandList.inc:</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/Checkers/../../../include/clang/AST/PrettyPrinter.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/RawCommentList.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceManager.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/Checkers/../../../include/clang/Basic/FileManager.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/Checkers/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> </div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> </div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</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="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Expr.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclAccessPair.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CharInfo.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h:</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h:</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</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="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</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="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclCXX.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTUnresolvedSet.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ExpressionTraits.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h:</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> /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="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h:</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> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h:</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> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h:</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h:</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h:</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</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> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h:</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> /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="l00504"></a><span class="lineno">  504</span> </div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> </div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h:</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> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h:</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h:</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> /home/tstellar/llvm/include/llvm/ADT/BitVector.h:</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h:</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> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h:</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h:</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 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/CallEvent_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1067 @@
+<!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: CallEvent.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">CallEvent.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CallEvent_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">//===- Calls.cpp - Wrapper for all function and method calls ------*- 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 This file defines CallEvent and its subclasses, which represent path-</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// sensitive instances of different kinds of function and method calls</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// (C, C++, and Objective-C).</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">#include "<a class="code" href="CallEvent_8h.html">clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="ParentMap_8h.html">clang/AST/ParentMap.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="ProgramPoint_8h.html">clang/Analysis/ProgramPoint.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</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="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/ADT/SmallSet.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/StringExtras.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <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"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a43ac0051c6e93620d61412134505cf77">   27</a></span> <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a43ac0051c6e93620d61412134505cf77" title="Returns the result type, adjusted for references.">CallEvent::getResultType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42" title="Returns the expression whose value will be the result of this call. May be null.">getOriginExpr</a>();</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   assert(E && <span class="stringliteral">"Calls without origin expressions do not have results"</span>);</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> ResultTy = E-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</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>   <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 = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>()->getStateManager().getContext();</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="comment">// A function that returns a reference to 'int' will have a result type</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="comment">// of simply 'int'. Check the origin expr's value kind to recover the</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="comment">// proper type.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordflow">switch</span> (E-><a class="code" href="classclang_1_1Expr.html#aacbe243ee99ac093e4eba5e40d6a9edb" title="getValueKind - The value kind that this expression produces.">getValueKind</a>()) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340ab67545101f6b01efc1ecf6a0cefc7ee7" title="An l-value expression is a reference to an object with independent storage.">VK_LValue</a>:</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     ResultTy = Ctx.<a class="code" href="classclang_1_1ASTContext.html#a606b062a2b948921c139286220a2549b" title="Return the uniqued reference to the type for an lvalue reference to the specified type...">getLValueReferenceType</a>(ResultTy);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340a63fc11bfcee4743c02b72657c1adcf27" title="An x-value expression is a reference to an object with independent storage but which can be "moved"...">VK_XValue</a>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>     ResultTy = Ctx.<a class="code" href="classclang_1_1ASTContext.html#af5defc197ad151ad115b4f2f3a444d57" title="Return the uniqued reference to the type for an rvalue reference to the specified type...">getRValueReferenceType</a>(ResultTy);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ac7b1e4926b152c0385bc7ec72319a340a7486248bcb086a1f969a9e138208dcd7" title="An r-value expression (a pr-value in the C++11 taxonomy) produces a temporary value.">VK_RValue</a>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>     <span class="comment">// No adjustment is necessary.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>     <span class="keywordflow">break</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> </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="keywordflow">return</span> ResultTy;</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"><a class="code" href="CallEvent_8cpp.html#a58801dc8b2976f7fe6c868237c7b4c02">   52</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CallEvent_8cpp.html#a58801dc8b2976f7fe6c868237c7b4c02">isCallbackArg</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <a class="code" href="classclang_1_1QualType.html">QualType</a> T) {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   <span class="comment">// If the parameter is 0, it's harmless.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a39e08d242aab936652cc53b326cbcc04">isZeroConstant</a>())</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   <span class="comment">// If a parameter is a block or a callback, assume it can modify pointer.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#ad6cd1a04cac76bfb304bbc02bf23a9bb">isBlockPointerType</a>() ||</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>       T-><a class="code" href="classclang_1_1Type.html#a6e17d1e353a59b3c6b72aec8b8fe91f6">isFunctionPointerType</a>() ||</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>       T-><a class="code" href="classclang_1_1Type.html#ae216e38f4426675ac45ff7b6e9e52939">isObjCSelType</a>())</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     <span class="keywordflow">return</span> <span class="keyword">true</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="comment">// Check if a callback is passed inside a struct (for both, struct passed by</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="comment">// reference and by value). Dig just one level into the struct for now.</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="keywordflow">if</span> (T-><a class="code" href="classclang_1_1Type.html#a08e1571405fafb2467ba1a1cdd8d9c04">isAnyPointerType</a>() || T-><a class="code" href="classclang_1_1Type.html#ab2b860560d2ac12cd365aa09b143d195">isReferenceType</a>())</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     T = T-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RT = T-><a class="code" href="classclang_1_1Type.html#a87c0b7d631156eaba036eccc56fa70b3">getAsStructureType</a>()) {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RD = RT->getDecl();</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</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>(), E = RD-><a class="code" href="classclang_1_1RecordDecl.html#a118f17574e4199f2d26cd20902dc88ca">field_end</a>();</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>          I != E; ++I) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> FieldT = I->getType();</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>       <span class="keywordflow">if</span> (FieldT-><a class="code" href="classclang_1_1Type.html#ad6cd1a04cac76bfb304bbc02bf23a9bb">isBlockPointerType</a>() || FieldT-><a class="code" href="classclang_1_1Type.html#a6e17d1e353a59b3c6b72aec8b8fe91f6">isFunctionPointerType</a>())</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>         <span class="keywordflow">return</span> <span class="keyword">true</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>   }</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>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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_1ento_1_1CallEvent.html#af75fcd0a80d8035b4ad3f00eecdb5f1e">   82</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af75fcd0a80d8035b4ad3f00eecdb5f1e" title="Returns true if any of the arguments appear to represent callbacks.">CallEvent::hasNonZeroCallbackArg</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   <span class="keywordtype">unsigned</span> NumOfArgs = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</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="comment">// If calling using a function pointer, assume the function does not</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <span class="comment">// have a callback. TODO: We could check the types of the arguments here.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>())</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="keywordtype">unsigned</span> Idx = 0;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1ee8cfc830805a1d58594411b35b9d19">CallEvent::param_type_iterator</a> I = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a6f5b5fee3bd61920c736477ee160cb63">param_type_begin</a>(),</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                                        E = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a03200b1c137a8f49f58361c718c7d34b">param_type_end</a>();</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>        I != E && Idx < NumOfArgs; ++I, ++Idx) {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>     <span class="keywordflow">if</span> (NumOfArgs <= Idx)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>       <span class="keywordflow">break</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>     <span class="keywordflow">if</span> (<a class="code" href="CallEvent_8cpp.html#a58801dc8b2976f7fe6c868237c7b4c02">isCallbackArg</a>(<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>(Idx), *I))</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       <span class="keywordflow">return</span> <span class="keyword">true</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>   </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#ab7ed1a8ce7c863cbf55f03b7f902db48">  104</a></span> <span class="keywordtype">bool</span> <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.">CallEvent::isGlobalCFunction</a>(StringRef FunctionName)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *FD = dyn_cast_or_null<FunctionDecl>(<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>());</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="keywordflow">if</span> (!FD)</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     <span class="keywordflow">return</span> <span class="keyword">false</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>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a8f93b32f63a09f4c68bde707e3f8ab5d" title="Returns true if the callee is an externally-visible function in the top-level namespace, such as malloc.">CheckerContext::isCLibraryFunction</a>(FD, FunctionName);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment">/// \brief Returns true if a type is a pointer-to-const or reference-to-const</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">/// with no further indirection.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="CallEvent_8cpp.html#a3cac26d3e57eeb634d812d3746deea49">  114</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CallEvent_8cpp.html#a3cac26d3e57eeb634d812d3746deea49" title="Returns true if a type is a pointer-to-const or reference-to-const with no further indirection...">isPointerToConst</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> PointeeTy = Ty-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   <span class="keywordflow">if</span> (PointeeTy == <a class="code" href="classclang_1_1QualType.html">QualType</a>())</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   <span class="keywordflow">if</span> (!PointeeTy.<a class="code" href="classclang_1_1QualType.html#afea72c89b99446db779fcfb0ea257826" title="Determine whether this type is const-qualified.">isConstQualified</a>())</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keywordflow">if</span> (PointeeTy-><a class="code" href="classclang_1_1Type.html#a08e1571405fafb2467ba1a1cdd8d9c04">isAnyPointerType</a>())</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="keywordflow">return</span> <span class="keyword">true</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> </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">// Try to retrieve the function declaration and find the function parameter</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">// types which are pointers/references to a non-pointer const.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment">// We will not invalidate the corresponding argument regions.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="CallEvent_8cpp.html#ae44260ada399f4f88381b6d2c12debb6">  128</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CallEvent_8cpp.html#ae44260ada399f4f88381b6d2c12debb6">findPtrToConstParams</a>(llvm::SmallSet<unsigned, 4> &PreserveArgs,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</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="l00130"></a><span class="lineno">  130</span>   <span class="keywordtype">unsigned</span> Idx = 0;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1ee8cfc830805a1d58594411b35b9d19">CallEvent::param_type_iterator</a> I = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a6f5b5fee3bd61920c736477ee160cb63">param_type_begin</a>(),</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>                                       E = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a03200b1c137a8f49f58361c718c7d34b">param_type_end</a>();</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>        I != E; ++I, ++Idx) {</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     <span class="keywordflow">if</span> (<a class="code" href="CallEvent_8cpp.html#a3cac26d3e57eeb634d812d3746deea49" title="Returns true if a type is a pointer-to-const or reference-to-const with no further indirection...">isPointerToConst</a>(*I))</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>       PreserveArgs.insert(Idx);</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> }</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa264ce2b8395c5444f0aa967c6755b3a">  139</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa264ce2b8395c5444f0aa967c6755b3a" title="Returns a new state with all argument regions invalidated.">CallEvent::invalidateRegions</a>(<span class="keywordtype">unsigned</span> BlockCount,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>                                              <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> Orig)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> Result = (Orig ? Orig : <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>());</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="classllvm_1_1SmallVector.html">SmallVector<SVal, 8></a> ValuesToInvalidate;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> ETraits;</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>   <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a08727e25eb32811281c26693dd165e53" title="Used to specify non-argument regions that will be invalidated as a result of this call...">getExtraInvalidatedValues</a>(ValuesToInvalidate);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   <span class="comment">// Indexes of arguments whose values will be preserved by the call.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>   llvm::SmallSet<unsigned, 4> PreserveArgs;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="keywordflow">if</span> (!<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="l00151"></a><span class="lineno">  151</span>     <a class="code" href="CallEvent_8cpp.html#ae44260ada399f4f88381b6d2c12debb6">findPtrToConstParams</a>(PreserveArgs, *<span class="keyword">this</span>);</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>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> Idx = 0, <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a> = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</a>(); Idx != <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a>; ++Idx) {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     <span class="comment">// Mark this region for invalidation.  We batch invalidate regions</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <span class="comment">// below for efficiency.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">if</span> (PreserveArgs.count(Idx))</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</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> *MR = <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>(Idx).<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>())</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>         ETraits.<a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html#acb459994eca782926d09722ad0626b39">setTrait</a>(MR->StripCasts(), </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>                         <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html#a2a15c0ea94987dd8c6a63b6b51db5756a0a10f8f685131c75e067b51ad679201e" title="Tells that a region's contents is not changed.">RegionAndSymbolInvalidationTraits::TK_PreserveContents</a>);</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>         <span class="comment">// TODO: Factor this out + handle the lower level const pointers.</span></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>     ValuesToInvalidate.push_back(<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>(Idx));</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>   <span class="comment">// Invalidate designated regions using the batch invalidation API.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="comment">// NOTE: Even if RegionsToInvalidate is empty, we may still invalidate</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   <span class="comment">//  global variables.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   <span class="keywordflow">return</span> Result->invalidateRegions(ValuesToInvalidate, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42" title="Returns the expression whose value will be the result of this call. May be null.">getOriginExpr</a>(),</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                                    BlockCount, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>(),</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                                    <span class="comment">/*CausedByPointerEscape*/</span> <span class="keyword">true</span>,</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                                    <span class="comment">/*Symbols=*/</span>0, <span class="keyword">this</span>, &ETraits);</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> </div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#aabda279b362e5407073aff4200ba94aa">  174</a></span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aabda279b362e5407073aff4200ba94aa" title="Returns an appropriate ProgramPoint for this call.">CallEvent::getProgramPoint</a>(<span class="keywordtype">bool</span> IsPreVisit,</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *Tag)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42" title="Returns the expression whose value will be the result of this call. May be null.">getOriginExpr</a>()) {</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="keywordflow">if</span> (IsPreVisit)</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PreStmt.html">PreStmt</a>(E, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>(), Tag);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>(E, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>(), Tag);</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> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>();</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   assert(D && <span class="stringliteral">"Cannot get a program point without a statement or decl"</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>   <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_1ento_1_1Loc.html">Loc</a> = <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>().<a class="code" href="classclang_1_1SourceRange.html#a890dff14560eb9aceb08be18dfe74208">getBegin</a>();</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <span class="keywordflow">if</span> (IsPreVisit)</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PreImplicitCall.html">PreImplicitCall</a>(D, Loc, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>(), Tag);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PostImplicitCall.html">PostImplicitCall</a>(D, Loc, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>(), Tag);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> }</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a6816f36951286da637ab96265baceed6">  191</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <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.">CallEvent::getArgSVal</a>(<span class="keywordtype">unsigned</span> Index)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *ArgE = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a4bbe5da792a232a63e54923241eb9f39" title="Returns the expression associated with a given argument. May be null if this expression does not appe...">getArgExpr</a>(Index);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="keywordflow">if</span> (!ArgE)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a3ce628f5cf2dc2778d6ab8f473399f54" title="Get the value of arbitrary expressions at this point in the path.">getSVal</a>(ArgE);</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> </div>
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a675e273e5c2df626e4d0df200377dbc9">  198</a></span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a675e273e5c2df626e4d0df200377dbc9" title="Returns the source range for errors associated with this argument.">CallEvent::getArgSourceRange</a>(<span class="keywordtype">unsigned</span> Index)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *ArgE = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a4bbe5da792a232a63e54923241eb9f39" title="Returns the expression associated with a given argument. May be null if this expression does not appe...">getArgExpr</a>(Index);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   <span class="keywordflow">if</span> (!ArgE)</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a>();</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>   <span class="keywordflow">return</span> ArgE-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</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> </div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a4b8985ea0b28fc1c4e074902453350ac">  205</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a4b8985ea0b28fc1c4e074902453350ac" title="Returns the return value of the call.">CallEvent::getReturnValue</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42" title="Returns the expression whose value will be the result of this call. May be null.">getOriginExpr</a>();</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   <span class="keywordflow">if</span> (!E)</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UndefinedVal.html">UndefinedVal</a>();</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a3ce628f5cf2dc2778d6ab8f473399f54" title="Get the value of arbitrary expressions at this point in the path.">getSVal</a>(E);</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> </div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#ad2e5e80299e9a029bf965fcc2c4f0d69">  212</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ad2e5e80299e9a029bf965fcc2c4f0d69">CallEvent::dump</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ad2e5e80299e9a029bf965fcc2c4f0d69">dump</a>(llvm::errs());</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> </div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a3a6f02ceb288e63ae67f900cdd4b5966">  216</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ad2e5e80299e9a029bf965fcc2c4f0d69">CallEvent::dump</a>(raw_ostream &Out)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</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 = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>()->getStateManager().getContext();</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42" title="Returns the expression whose value will be the result of this call. May be null.">getOriginExpr</a>()) {</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     E->printPretty(Out, 0, Ctx.<a class="code" href="classclang_1_1ASTContext.html#aefd70c3135737fd07be3cb2cac251e16">getPrintingPolicy</a>());</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     Out << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   }</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>()) {</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>     Out << <span class="stringliteral">"Call to "</span>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>     D->print(Out, Ctx.<a class="code" href="classclang_1_1ASTContext.html#aefd70c3135737fd07be3cb2cac251e16">getPrintingPolicy</a>());</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>     <span class="keywordflow">return</span>;</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> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="comment">// FIXME: a string representation of the kind would be nice.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   Out << <span class="stringliteral">"Unknown call (type "</span> << <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aeae13ff8f7c9a65dfb4a01e89462bd52" title="Returns the kind of call this is.">getKind</a>() << <span class="stringliteral">")"</span>;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> }</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1c9242d792ffa6c483abd803b0974c91">  235</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1c9242d792ffa6c483abd803b0974c91" title="Returns true if this is a statement is a function or method call of some kind.">CallEvent::isCallStmt</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <span class="keywordflow">return</span> isa<CallExpr>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) || isa<ObjCMessageExpr>(S)</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>                           || isa<CXXConstructExpr>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>                           || isa<CXXNewExpr>(S);</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> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9c955fa1e85ae78ce7b84f1207081b52">  241</a></span> <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9c955fa1e85ae78ce7b84f1207081b52" title="Returns the result type of a function or method declaration.">CallEvent::getDeclaredResultType</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D) {</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   assert(D);</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</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>(D))</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>     <span class="keywordflow">return</span> FD->getResultType();</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a>* MD = dyn_cast<ObjCMethodDecl>(D))</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="keywordflow">return</span> MD->getResultType();</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockDecl.html">BlockDecl</a> *BD = dyn_cast<BlockDecl>(D)) {</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="comment">// Blocks are difficult because the return type may not be stored in the</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="comment">// BlockDecl itself. The AST should probably be enhanced, but for now we</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>     <span class="comment">// just do what we can.</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="comment">// If the block is declared without an explicit argument list, the</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     <span class="comment">// signature-as-written just includes the return type, not the entire</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>     <span class="comment">// function type.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="comment">// FIXME: All blocks should have signatures-as-written, even if the return</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     <span class="comment">// type is inferred. (That's signified with a dependent result type.)</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1TypeSourceInfo.html" title="A container of type source information.">TypeSourceInfo</a> *TSI = BD->getSignatureAsWritten()) {</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> Ty = TSI->getType();</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionType.html">FunctionType</a> *FT = Ty-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1FunctionType.html">FunctionType</a>>())</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>         Ty = FT->getResultType();</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>       <span class="keywordflow">if</span> (!Ty-><a class="code" href="classclang_1_1Type.html#a7e475b7859ae970eb837da95e94ab26c">isDependentType</a>())</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>         <span class="keywordflow">return</span> Ty;</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> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1QualType.html">QualType</a>();</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>   </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>   llvm_unreachable(<span class="stringliteral">"unknown callable kind"</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"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa666534073ffca398643cf72c52382ba">  270</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa666534073ffca398643cf72c52382ba" title="Returns true if the given decl is known to be variadic.">CallEvent::isVariadic</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D) {</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   assert(D);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *FD = dyn_cast<FunctionDecl>(D))</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>     <span class="keywordflow">return</span> FD->isVariadic();</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *MD = dyn_cast<ObjCMethodDecl>(D))</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>     <span class="keywordflow">return</span> MD->isVariadic();</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BlockDecl.html">BlockDecl</a> *BD = dyn_cast<BlockDecl>(D))</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     <span class="keywordflow">return</span> BD->isVariadic();</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>   llvm_unreachable(<span class="stringliteral">"unknown callable kind"</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> </div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="CallEvent_8cpp.html#a6f4f7f4f7bd38fa96ed05f292c0a6152">  283</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CallEvent_8cpp.html#a6f4f7f4f7bd38fa96ed05f292c0a6152">addParameterValuesToBindings</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>                                          <a class="code" href="classllvm_1_1SmallVectorImpl.html">CallEvent::BindingsTy</a> &Bindings,</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>                                          <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB,</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</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="l00287"></a><span class="lineno">  287</span>                                          <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> I,</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>                                          <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> E) {</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>   <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a> &MRMgr = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aa498939473c12cd59ed8e53a249956c3">getRegionManager</a>();</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>   <span class="comment">// If the function has fewer parameters than the call has arguments, we simply</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>   <span class="comment">// do not bind any values to them.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>   <span class="keywordtype">unsigned</span> NumArgs = Call.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</a>();</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>   <span class="keywordtype">unsigned</span> Idx = 0;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>   <span class="keywordflow">for</span> (; I != E && Idx < NumArgs; ++I, ++Idx) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *ParamDecl = *I;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>     assert(ParamDecl && <span class="stringliteral">"Formal parameter has no decl?"</span>);</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>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ArgVal = 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>(Idx);</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>     <span class="keywordflow">if</span> (!ArgVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>()) {</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>       <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> ParamLoc = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a97992314ffaa77582a39b75a9438ab6a">makeLoc</a>(MRMgr.<a class="code" href="classclang_1_1ento_1_1MemRegionManager.html#a8ba4db1926a47f16b352463774bcb24a">getVarRegion</a>(ParamDecl, CalleeCtx));</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>       Bindings.push_back(std::make_pair(ParamLoc, ArgVal));</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>   }</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>   <span class="comment">// FIXME: Variadic arguments are not handled at all right now.</span></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> </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#a73a63f233176a8210a482378e7945e93">  310</a></span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#a73a63f233176a8210a482378e7945e93">AnyFunctionCall::param_begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D = <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af9e3398f1edf77faaaae3c9d29115a78" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>();</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     <span class="keywordflow">return</span> 0;</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>   <span class="keywordflow">return</span> D-><a class="code" href="classclang_1_1FunctionDecl.html#a48678562009dc8b21f0e4611eb96c433">param_begin</a>();</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> </div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#ac44e151d8736454ce0e25dd4ccc6d97c">  318</a></span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#ac44e151d8736454ce0e25dd4ccc6d97c">AnyFunctionCall::param_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D = <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af9e3398f1edf77faaaae3c9d29115a78" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>();</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="keywordflow">return</span> D-><a class="code" href="classclang_1_1FunctionDecl.html#a1dc6d06fe673db5053adfa3160f3175f">param_end</a>();</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> </div>
+<div class="line"><a name="l00326"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#ab363e528b338af6fb51fa3b460c649bf">  326</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#ab363e528b338af6fb51fa3b460c649bf">AnyFunctionCall::getInitialStackFrameContents</a>(</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>                                         <a class="code" href="classllvm_1_1SmallVectorImpl.html">BindingsTy</a> &Bindings)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D = cast<FunctionDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>()->getStateManager().getSValBuilder();</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>   <a class="code" href="CallEvent_8cpp.html#a6f4f7f4f7bd38fa96ed05f292c0a6152">addParameterValuesToBindings</a>(CalleeCtx, Bindings, SVB, *<span class="keyword">this</span>,</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>                                D-><a class="code" href="classclang_1_1FunctionDecl.html#a48678562009dc8b21f0e4611eb96c433">param_begin</a>(), D-><a class="code" href="classclang_1_1FunctionDecl.html#a1dc6d06fe673db5053adfa3160f3175f">param_end</a>());</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> </div>
+<div class="line"><a name="l00335"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#a38479963701270cfa3e4b9a8d8dc92af">  335</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#a38479963701270cfa3e4b9a8d8dc92af" title="Returns true if any of the arguments are known to escape to long- term storage, even if this method w...">AnyFunctionCall::argumentsMayEscape</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1CallEvent.html#af75fcd0a80d8035b4ad3f00eecdb5f1e" title="Returns true if any of the arguments appear to represent callbacks.">hasNonZeroCallbackArg</a>())</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D = <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af9e3398f1edf77faaaae3c9d29115a78" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>();</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="keyword">const</span> <a class="code" href="classclang_1_1IdentifierInfo.html">IdentifierInfo</a> *II = D-><a class="code" href="classclang_1_1NamedDecl.html#a554752f8f43eea0e6288da7205167fe2">getIdentifier</a>();</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>   <span class="keywordflow">if</span> (!II)</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   <span class="comment">// This set of "escaping" APIs is </span></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>   <span class="comment">// - 'int pthread_setspecific(ptheread_key k, const void *)' stores a</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   <span class="comment">//   value into thread local storage. The value can later be retrieved with</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   <span class="comment">//   'void *ptheread_getspecific(pthread_key)'. So even thought the</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>   <span class="comment">//   parameter is 'const void *', the region escapes through the call.</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   <span class="keywordflow">if</span> (II-><a class="code" href="classclang_1_1IdentifierInfo.html#a6cc09d0b74aca49bbdb23bcc4c35cf82" title="Return true if this is the identifier for the specified string.">isStr</a>(<span class="stringliteral">"pthread_setspecific"</span>))</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="comment">// - xpc_connection_set_context stores a value which can be retrieved later</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   <span class="comment">//   with xpc_connection_get_context.</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   <span class="keywordflow">if</span> (II-><a class="code" href="classclang_1_1IdentifierInfo.html#a6cc09d0b74aca49bbdb23bcc4c35cf82" title="Return true if this is the identifier for the specified string.">isStr</a>(<span class="stringliteral">"xpc_connection_set_context"</span>))</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="comment">// - funopen - sets a buffer for future IO calls.</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   <span class="keywordflow">if</span> (II-><a class="code" href="classclang_1_1IdentifierInfo.html#a6cc09d0b74aca49bbdb23bcc4c35cf82" title="Return true if this is the identifier for the specified string.">isStr</a>(<span class="stringliteral">"funopen"</span>))</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>     <span class="keywordflow">return</span> <span class="keyword">true</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>   StringRef FName = II-><a class="code" href="classclang_1_1IdentifierInfo.html#a94caec6a16e508e8ca39eacd278bd2c5" title="Return the actual identifier string.">getName</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="comment">// - CoreFoundation functions that end with "NoCopy" can free a passed-in</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <span class="comment">//   buffer even if it is const.</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   <span class="keywordflow">if</span> (FName.endswith(<span class="stringliteral">"NoCopy"</span>))</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="comment">// - NSXXInsertXX, for example NSMapInsertIfAbsent, since they can</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="comment">//   be deallocated by NSMapRemove.</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>   <span class="keywordflow">if</span> (FName.startswith(<span class="stringliteral">"NS"</span>) && (FName.find(<span class="stringliteral">"Insert"</span>) != StringRef::npos))</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="comment">// - Many CF containers allow objects to escape through custom</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   <span class="comment">//   allocators/deallocators upon container construction. (PR12101)</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keywordflow">if</span> (FName.startswith(<span class="stringliteral">"CF"</span>) || FName.startswith(<span class="stringliteral">"CG"</span>)) {</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>     <span class="keywordflow">return</span> StrInStrNoCase(FName, <span class="stringliteral">"InsertValue"</span>)  != StringRef::npos ||</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>            StrInStrNoCase(FName, <span class="stringliteral">"AddValue"</span>)     != StringRef::npos ||</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>            StrInStrNoCase(FName, <span class="stringliteral">"SetValue"</span>)     != StringRef::npos ||</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>            StrInStrNoCase(FName, <span class="stringliteral">"WithData"</span>)     != StringRef::npos ||</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>            StrInStrNoCase(FName, <span class="stringliteral">"AppendValue"</span>)  != StringRef::npos ||</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>            StrInStrNoCase(FName, <span class="stringliteral">"SetAttribute"</span>) != StringRef::npos;</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> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> }</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SimpleCall.html#ae663c58ae5ee24bc7720cfd001a106ec">  392</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *<a class="code" href="classclang_1_1ento_1_1SimpleCall.html#ae663c58ae5ee24bc7720cfd001a106ec" title="Returns the declaration of the function or method that will be called. May be null.">SimpleCall::getDecl</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D = <a class="code" href="classclang_1_1ento_1_1SimpleCall.html#ae903ff251b8648811343cd216b9e9773">getOriginExpr</a>()-><a class="code" href="classclang_1_1CallExpr.html#a88bb91e7e67e378fd6a895c1f679901d" title="If the callee is a FunctionDecl, return it. Otherwise return 0.">getDirectCallee</a>();</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="keywordflow">if</span> (D)</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <span class="keywordflow">return</span> D;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a3ce628f5cf2dc2778d6ab8f473399f54" title="Get the value of arbitrary expressions at this point in the path.">getSVal</a>(<a class="code" href="classclang_1_1ento_1_1SimpleCall.html#ae903ff251b8648811343cd216b9e9773">getOriginExpr</a>()->getCallee()).<a class="code" href="classclang_1_1ento_1_1SVal.html#a64d0c72bdeb3e1ef706a2d41c5f36ad4">getAsFunctionDecl</a>();</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> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="classclang_1_1CXXInstanceCall.html#a481653bf8d292e2e0d441bd4e63e18a6">  401</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *<a class="code" href="classclang_1_1CXXInstanceCall.html#a481653bf8d292e2e0d441bd4e63e18a6">CXXInstanceCall::getDecl</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE = cast_or_null<CallExpr>(getOriginExpr());</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>   <span class="keywordflow">if</span> (!CE)</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af9e3398f1edf77faaaae3c9d29115a78" title="Returns the declaration of the function or method that will be called. May be null.">AnyFunctionCall::getDecl</a>();</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *D = CE-><a class="code" href="classclang_1_1CallExpr.html#a88bb91e7e67e378fd6a895c1f679901d" title="If the callee is a FunctionDecl, return it. Otherwise return 0.">getDirectCallee</a>();</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   <span class="keywordflow">if</span> (D)</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>     <span class="keywordflow">return</span> D;</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>   <span class="keywordflow">return</span> getSVal(CE-><a class="code" href="classclang_1_1CallExpr.html#a3a2b7cbceb661c81f0d6eb937610eb75">getCallee</a>()).getAsFunctionDecl();</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> </div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="code" href="classclang_1_1CXXInstanceCall.html#af3e07584bf499e24f6156f2b9632c223">  413</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXInstanceCall.html#af3e07584bf499e24f6156f2b9632c223">CXXInstanceCall::getExtraInvalidatedValues</a>(<a class="code" href="ProgramState_8cpp.html#aa4095e6aadaf675c0702bad94520fa2b">ValueList</a> &Values)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   Values.push_back(getCXXThisVal());</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> </div>
+<div class="line"><a name="l00417"></a><span class="lineno"><a class="code" href="classclang_1_1CXXInstanceCall.html#a3b466fe0a1c0490a6978f45e5bf1111a">  417</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1CXXInstanceCall.html#a3b466fe0a1c0490a6978f45e5bf1111a" title="Returns the value of the implicit 'this' object.">CXXInstanceCall::getCXXThisVal</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1Base.html">Base</a> = getCXXThisExpr();</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   <span class="comment">// FIXME: This doesn't handle an overloaded ->* operator.</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   <span class="keywordflow">if</span> (!Base)</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ThisVal = getSVal(Base);</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   assert(ThisVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>() || ThisVal.<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="l00425"></a><span class="lineno">  425</span>   <span class="keywordflow">return</span> ThisVal;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> }</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> </div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="classclang_1_1CXXInstanceCall.html#af58b0839de95fed74aebeef9ae9b45fc">  429</a></span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a> <a class="code" href="classclang_1_1CXXInstanceCall.html#af58b0839de95fed74aebeef9ae9b45fc">CXXInstanceCall::getRuntimeDefinition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   <span class="comment">// Do we have a decl at all?</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = getDecl();</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</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">// If the method is non-virtual, we know we can inline it.</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(D);</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="keywordflow">if</span> (!MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#abcaff495a9ded37cbe66b06973308b62">isVirtual</a>())</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af23510933ef457061ed42ae1ee0e4b8c" title="Returns the definition of the function or method that will be called.">AnyFunctionCall::getRuntimeDefinition</a>();</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>   <span class="comment">// Do we know the implicit 'this' object being called?</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</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 = getCXXThisVal().getAsRegion();</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <span class="keywordflow">if</span> (!R)</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <span class="comment">// Do we know anything about the type of 'this'?</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>   <a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html" title="Stores the currently inferred strictest bound on the runtime type of a region in a given state along ...">DynamicTypeInfo</a> DynType = getState()->getDynamicTypeInfo(R);</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   <span class="keywordflow">if</span> (!DynType.<a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html#a5b12c90d43035775c68a631ddc556d39" title="Return false if no dynamic type info is available.">isValid</a>())</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</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>   <span class="comment">// Is the type a C++ class? (This is mostly a defensive check.)</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> RegionType = DynType.<a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html#a7b323c6e7d0aaa552460f2bfc321c6cb" title="Returns the currently inferred upper bound on the runtime type.">getType</a>()-><a class="code" href="classclang_1_1Type.html#a3a0edf987679f04072a1243b6118add1">getPointeeType</a>();</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>   assert(!RegionType.<a class="code" href="classclang_1_1QualType.html#a8f87f58000490ad01cd09add1f27d7ac" title="isNull - Return true if this QualType doesn't point to a type yet.">isNull</a>() && <span class="stringliteral">"DynamicTypeInfo should always be a pointer."</span>);</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>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = RegionType-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>   <span class="keywordflow">if</span> (!RD || !RD->hasDefinition())</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</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>   <span class="comment">// Find the decl for this method in that class.</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *Result = MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#acca243ff57c9f2b2a2ee0c7cd867615b" title="Find the method in RD that corresponds to this one.">getCorrespondingMethodInClass</a>(RD, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <span class="keywordflow">if</span> (!Result) {</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>     <span class="comment">// We might not even get the original statically-resolved method due to</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>     <span class="comment">// some particularly nasty casting (e.g. casts to sister classes).</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>     <span class="comment">// However, we should at least be able to search up and down our own class</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>     <span class="comment">// hierarchy, and some real bugs have been caught by checking this.</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     assert(!RD->isDerivedFrom(MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>()) && <span class="stringliteral">"Couldn't find known method"</span>);</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>     <span class="comment">// FIXME: This is checking that our DynamicTypeInfo is at least as good as</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>     <span class="comment">// the static type. However, because we currently don't update</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>     <span class="comment">// DynamicTypeInfo when an object is cast, we can't actually be sure the</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>     <span class="comment">// DynamicTypeInfo is up to date. This assert should be re-enabled once</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>     <span class="comment">// this is fixed. <rdar://problem/12287087></span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>     <span class="comment">//assert(!MD->getParent()->isDerivedFrom(RD) && "Bad DynamicTypeInfo");</span></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>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</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> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <span class="comment">// Does the decl that we found have an implementation?</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *Definition;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   <span class="keywordflow">if</span> (!Result-><a class="code" href="classclang_1_1FunctionDecl.html#a9736151f5e1580d215f1d5559d821130" title="Returns true if the function has a body (definition). The function body might be in any of the (re-)d...">hasBody</a>(Definition))</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</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>   <span class="comment">// We found a definition. If we're not sure that this devirtualization is</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>   <span class="comment">// actually what will happen at runtime, make sure to provide the region so</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   <span class="comment">// that ExprEngine can decide what to do with it.</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   <span class="keywordflow">if</span> (DynType.<a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html#a5dfd870c29d25ec8aa8fd6c942fd524a" title="Returns false if the type information is precise (the type T is the only type in the lattice)...">canBeASubClass</a>())</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>(Definition, R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a8c3ae0ca072089a3b008adc86a9b8efe">StripCasts</a>());</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>(Definition, <span class="comment">/*DispatchRegion=*/</span>0);</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> }</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno"><a class="code" href="classclang_1_1CXXInstanceCall.html#adef613a92b50c891da24610ba6d34bed">  490</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXInstanceCall.html#adef613a92b50c891da24610ba6d34bed">CXXInstanceCall::getInitialStackFrameContents</a>(</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>                                             BindingsTy &Bindings)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#ab363e528b338af6fb51fa3b460c649bf">AnyFunctionCall::getInitialStackFrameContents</a>(CalleeCtx, Bindings);</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>   <span class="comment">// Handle the binding of 'this' in the new stack frame.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ThisVal = getCXXThisVal();</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>   <span class="keywordflow">if</span> (!ThisVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>()) {</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &StateMgr = getState()->getStateManager();</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = StateMgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">getSValBuilder</a>();</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="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>     <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> ThisLoc = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aac85769beb3533687aaa604f9cdb6a0d" title="Return a memory region for the 'this' object reference.">getCXXThis</a>(MD, CalleeCtx);</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>     <span class="comment">// If we devirtualized to a different member function, we need to make sure</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     <span class="comment">// we have the proper layering of CXXBaseObjectRegions.</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="keywordflow">if</span> (MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#aa8d27f88a980ce80102d34870e352738" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>() != getDecl()-><a class="code" href="classclang_1_1CXXMethodDecl.html#aa8d27f88a980ce80102d34870e352738" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>()) {</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</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 = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a34dd76f677ea014481a45f7ebeff6c04">getContext</a>();</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *Class = MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>();</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> Ty = Ctx.<a class="code" href="classclang_1_1ASTContext.html#a3574cad49cba0fc48ab7b4c953e7e31e" title="Return the uniqued reference to the type for a pointer to the specified type.">getPointerType</a>(Ctx.<a class="code" href="classclang_1_1ASTContext.html#a2f2e06312812efc11ce91abe0695ba75">getRecordType</a>(Class));</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">// FIXME: CallEvent maybe shouldn't be directly accessing StoreManager.</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>       <span class="keywordtype">bool</span> Failed;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>       ThisVal = StateMgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a372a8bc91279fbaafb8ae2213ff0a595" title="Evaluates C++ dynamic_cast cast. The callback may result in the following 3 scenarios:">evalDynamicCast</a>(ThisVal, Ty, Failed);</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>       assert(!Failed && <span class="stringliteral">"Calling an incorrectly devirtualized method"</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> </div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>     <span class="keywordflow">if</span> (!ThisVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>())</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>       Bindings.push_back(std::make_pair(ThisLoc, ThisVal));</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> </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</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"><a class="code" href="classclang_1_1CXXMemberCall.html#a0d30ab361eafd1a07075c52a2633e83f">  524</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1CXXMemberCall.html#a0d30ab361eafd1a07075c52a2633e83f" title="Returns the expression representing the implicit 'this' object.">CXXMemberCall::getCXXThisExpr</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>   <span class="keywordflow">return</span> getOriginExpr()->getImplicitObjectArgument();</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> }</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno"><a class="code" href="classclang_1_1CXXMemberCall.html#ae89d7f61853870d0d4387fdd4ea98f0c">  528</a></span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a> <a class="code" href="classclang_1_1CXXMemberCall.html#ae89d7f61853870d0d4387fdd4ea98f0c">CXXMemberCall::getRuntimeDefinition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>   <span class="comment">// C++11 [expr.call]p1: ...If the selected function is non-virtual, or if the</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>   <span class="comment">// id-expression in the class member access expression is a qualified-id,</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>   <span class="comment">// that function is called. Otherwise, its final overrider in the dynamic type</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>   <span class="comment">// of the object expression is called.</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberExpr.html">MemberExpr</a> *ME = dyn_cast<MemberExpr>(getOriginExpr()->getCallee()))</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>     <span class="keywordflow">if</span> (ME->hasQualifier())</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af23510933ef457061ed42ae1ee0e4b8c" title="Returns the definition of the function or method that will be called.">AnyFunctionCall::getRuntimeDefinition</a>();</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CXXInstanceCall.html#af58b0839de95fed74aebeef9ae9b45fc">CXXInstanceCall::getRuntimeDefinition</a>();</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> }</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> </div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> </div>
+<div class="line"><a name="l00541"></a><span class="lineno"><a class="code" href="classclang_1_1CXXMemberOperatorCall.html#a06b29528c29dab69f37b7290c60ffede">  541</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1CXXMemberOperatorCall.html#a06b29528c29dab69f37b7290c60ffede" title="Returns the expression representing the implicit 'this' object.">CXXMemberOperatorCall::getCXXThisExpr</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   <span class="keywordflow">return</span> getOriginExpr()->getArg(0);</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> }</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> </div>
+<div class="line"><a name="l00546"></a><span class="lineno"><a class="code" href="classclang_1_1BlockCall.html#a11c6e8f906cb785abf8c31812bd417a8">  546</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1BlockDataRegion.html">BlockDataRegion</a> *<a class="code" href="classclang_1_1BlockCall.html#a11c6e8f906cb785abf8c31812bd417a8" title="Returns the region associated with this instance of the block.">BlockCall::getBlockRegion</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Callee = getOriginExpr()->getCallee();</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</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> *DataReg = getSVal(Callee).getAsRegion();</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   <span class="keywordflow">return</span> dyn_cast_or_null<BlockDataRegion>(DataReg);</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> }</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> </div>
+<div class="line"><a name="l00553"></a><span class="lineno"><a class="code" href="classclang_1_1BlockCall.html#a6007d50ba028d503ea0d7c5b03992a46">  553</a></span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> <a class="code" href="classclang_1_1BlockCall.html#a6007d50ba028d503ea0d7c5b03992a46">BlockCall::param_begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1BlockDecl.html">BlockDecl</a> *D = getBlockDecl();</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="keywordflow">return</span> D-><a class="code" href="classclang_1_1BlockDecl.html#a7c7e03c529594460a5c33a527297bb66">param_begin</a>();</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> }</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> </div>
+<div class="line"><a name="l00560"></a><span class="lineno"><a class="code" href="classclang_1_1BlockCall.html#a73e9dc25c26b83a0bd1a4429351a1f9d">  560</a></span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> <a class="code" href="classclang_1_1BlockCall.html#a73e9dc25c26b83a0bd1a4429351a1f9d">BlockCall::param_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1BlockDecl.html">BlockDecl</a> *D = getBlockDecl();</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>   <span class="keywordflow">return</span> D-><a class="code" href="classclang_1_1BlockDecl.html#a353976636542f283812278b7e7572c96">param_end</a>();</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> }</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> </div>
+<div class="line"><a name="l00567"></a><span class="lineno"><a class="code" href="classclang_1_1BlockCall.html#a3b0239ce3fdfd51f59f6d7bbd017e2c5">  567</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1BlockCall.html#a3b0239ce3fdfd51f59f6d7bbd017e2c5">BlockCall::getExtraInvalidatedValues</a>(<a class="code" href="ProgramState_8cpp.html#aa4095e6aadaf675c0702bad94520fa2b">ValueList</a> &Values)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>   <span class="comment">// FIXME: This also needs to invalidate captured globals.</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</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> *R = getBlockRegion())</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>     Values.push_back(<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(R));</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> }</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno"><a class="code" href="classclang_1_1BlockCall.html#a1043fb509a557085bce9644beb84e1fb">  573</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1BlockCall.html#a1043fb509a557085bce9644beb84e1fb">BlockCall::getInitialStackFrameContents</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>                                              BindingsTy &Bindings)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1BlockDecl.html">BlockDecl</a> *D = cast<BlockDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = getState()-><a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a2ab808007e1931438e95ef98ed020591">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">getSValBuilder</a>();</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <a class="code" href="CallEvent_8cpp.html#a6f4f7f4f7bd38fa96ed05f292c0a6152">addParameterValuesToBindings</a>(CalleeCtx, Bindings, SVB, *<span class="keyword">this</span>,</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>                                D-><a class="code" href="classclang_1_1BlockDecl.html#a7c7e03c529594460a5c33a527297bb66">param_begin</a>(), D-><a class="code" href="classclang_1_1BlockDecl.html#a353976636542f283812278b7e7572c96">param_end</a>());</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> </div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno"><a class="code" href="classclang_1_1CXXConstructorCall.html#ad12a8aaff6a949d59c2c37d96b3af9a0">  582</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1CXXConstructorCall.html#ad12a8aaff6a949d59c2c37d96b3af9a0" title="Returns the value of the implicit 'this' object.">CXXConstructorCall::getCXXThisVal</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   <span class="keywordflow">if</span> (Data)</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(static_cast<const MemRegion *>(Data));</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> }</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> </div>
+<div class="line"><a name="l00588"></a><span class="lineno"><a class="code" href="classclang_1_1CXXConstructorCall.html#afaeae32c8cbf59c5e3f8699d60937999">  588</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXConstructorCall.html#afaeae32c8cbf59c5e3f8699d60937999">CXXConstructorCall::getExtraInvalidatedValues</a>(<a class="code" href="ProgramState_8cpp.html#aa4095e6aadaf675c0702bad94520fa2b">ValueList</a> &Values)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>   <span class="keywordflow">if</span> (Data)</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>     Values.push_back(<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(static_cast<const MemRegion *>(Data)));</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> }</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> </div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="code" href="classclang_1_1CXXConstructorCall.html#a9907953bdfff5cf89025fe0691280907">  593</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CXXConstructorCall.html#a9907953bdfff5cf89025fe0691280907">CXXConstructorCall::getInitialStackFrameContents</a>(</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>                                              <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>                                              BindingsTy &Bindings)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>   <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#ab363e528b338af6fb51fa3b460c649bf">AnyFunctionCall::getInitialStackFrameContents</a>(CalleeCtx, Bindings);</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> </div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ThisVal = getCXXThisVal();</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>   <span class="keywordflow">if</span> (!ThisVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>()) {</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>     <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = getState()-><a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a2ab808007e1931438e95ef98ed020591">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">getSValBuilder</a>();</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> ThisLoc = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aac85769beb3533687aaa604f9cdb6a0d" title="Return a memory region for the 'this' object reference.">getCXXThis</a>(MD, CalleeCtx);</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>     Bindings.push_back(std::make_pair(ThisLoc, ThisVal));</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>   }</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span> }</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span> </div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span> </div>
+<div class="line"><a name="l00609"></a><span class="lineno"><a class="code" href="classclang_1_1CXXDestructorCall.html#a62c38fc5e198e2c4e7f0f114c3508bc4">  609</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1CXXDestructorCall.html#a62c38fc5e198e2c4e7f0f114c3508bc4" title="Returns the value of the implicit 'this' object.">CXXDestructorCall::getCXXThisVal</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>   <span class="keywordflow">if</span> (Data)</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(DtorDataTy::getFromOpaqueValue(Data).getPointer());</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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"><a class="code" href="classclang_1_1CXXDestructorCall.html#a61a758c4c5a2aef38769e036b9ab4d44">  615</a></span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a> <a class="code" href="classclang_1_1CXXDestructorCall.html#a61a758c4c5a2aef38769e036b9ab4d44">CXXDestructorCall::getRuntimeDefinition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   <span class="comment">// Base destructors are always called non-virtually.</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>   <span class="comment">// Skip CXXInstanceCall's devirtualization logic in this case.</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>   <span class="keywordflow">if</span> (isBaseDestructor())</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1AnyFunctionCall.html#af23510933ef457061ed42ae1ee0e4b8c" title="Returns the definition of the function or method that will be called.">AnyFunctionCall::getRuntimeDefinition</a>();</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span> </div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CXXInstanceCall.html#af58b0839de95fed74aebeef9ae9b45fc">CXXInstanceCall::getRuntimeDefinition</a>();</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span> }</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"><a class="code" href="classclang_1_1ObjCMethodCall.html#ada1c979e9863e84a06267a25f034b74c">  625</a></span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#ada1c979e9863e84a06267a25f034b74c">ObjCMethodCall::param_begin</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *D = getDecl();</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span> </div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>   <span class="keywordflow">return</span> D-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a6e3f1b5626a6e795168b51ff78888bf9">param_begin</a>();</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"><a class="code" href="classclang_1_1ObjCMethodCall.html#a550723d5d9cf00589c4df740e67ac188">  633</a></span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#a550723d5d9cf00589c4df740e67ac188">ObjCMethodCall::param_end</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *D = getDecl();</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>   <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span> </div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   <span class="keywordflow">return</span> D-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a41c8a73187b3feac6defb5c1e7987b36">param_end</a>();</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span> }</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span> </div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#a5c06848347b456a52fea42901e6c5c0d">  642</a></span> <a class="code" href="classclang_1_1ObjCMethodCall.html#a5c06848347b456a52fea42901e6c5c0d">ObjCMethodCall::getExtraInvalidatedValues</a>(<a class="code" href="ProgramState_8cpp.html#aa4095e6aadaf675c0702bad94520fa2b">ValueList</a> &Values)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>   Values.push_back(getReceiverSVal());</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> }</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> </div>
+<div class="line"><a name="l00646"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#af79bd4cbac6bbafea5bda91d88293053">  646</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#af79bd4cbac6bbafea5bda91d88293053" title="Return the value of 'self' if available.">ObjCMethodCall::getSelfSVal</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = getLocationContext();</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ImplicitParamDecl.html">ImplicitParamDecl</a> *SelfDecl = LCtx-><a class="code" href="classclang_1_1LocationContext.html#aa93c05ac9cc25727d7ec9419665e13f7">getSelfDecl</a>();</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>   <span class="keywordflow">if</span> (!SelfDecl)</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a>();</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keywordflow">return</span> getState()->getSVal(getState()->getRegion(SelfDecl, LCtx));</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> </div>
+<div class="line"><a name="l00654"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#aec6aa50eb3a012c6da65036a5e7c8025">  654</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#aec6aa50eb3a012c6da65036a5e7c8025" title="Returns the value of the receiver at the time of this call.">ObjCMethodCall::getReceiverSVal</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>   <span class="comment">// FIXME: Is this the best way to handle class receivers?</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>   <span class="keywordflow">if</span> (!isInstanceMessage())</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</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>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *RecE = getOriginExpr()->getInstanceReceiver())</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>     <span class="keywordflow">return</span> getSVal(RecE);</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> </div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>   <span class="comment">// An instance message with no expression means we are sending to super.</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>   <span class="comment">// In this case the object reference is the same as 'self'.</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>   assert(getOriginExpr()->getReceiverKind() == <a class="code" href="classclang_1_1ObjCMessageExpr.html#a55e47323b0150a66564ab406567a40f3a04e089df3503a496f2573c1b3f238812" title="The receiver is the instance of the superclass object.">ObjCMessageExpr::SuperInstance</a>);</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SelfVal = getSelfSVal();</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   assert(SelfVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a60499f1b987e106eeb72f974626af660">isValid</a>() && <span class="stringliteral">"Calling super but not in ObjC method"</span>);</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>   <span class="keywordflow">return</span> SelfVal;</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> </div>
+<div class="line"><a name="l00670"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#ad6253b0426cc840abd1cfceec3712609">  670</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ObjCMethodCall.html#ad6253b0426cc840abd1cfceec3712609" title="Checks if the receiver refers to 'self' or 'super'.">ObjCMethodCall::isReceiverSelfOrSuper</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>   <span class="keywordflow">if</span> (getOriginExpr()->getReceiverKind() == <a class="code" href="classclang_1_1ObjCMessageExpr.html#a55e47323b0150a66564ab406567a40f3a04e089df3503a496f2573c1b3f238812" title="The receiver is the instance of the superclass object.">ObjCMessageExpr::SuperInstance</a> ||</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>       getOriginExpr()->getReceiverKind() == <a class="code" href="classclang_1_1ObjCMessageExpr.html#a55e47323b0150a66564ab406567a40f3adc904b05090355dbf60d3e1eff934a54" title="The receiver is a superclass.">ObjCMessageExpr::SuperClass</a>)</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> </div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>   <span class="keywordflow">if</span> (!isInstanceMessage())</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>     <span class="keywordflow">return</span> <span class="keyword">false</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>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> RecVal = getSVal(getOriginExpr()->getInstanceReceiver());</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span> </div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   <span class="keywordflow">return</span> (RecVal == getSelfSVal());</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</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"><a class="code" href="classclang_1_1ObjCMethodCall.html#ad25dfac49ca78ceac101e6ff26db28ee">  683</a></span> <a class="code" href="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">SourceRange</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#ad25dfac49ca78ceac101e6ff26db28ee">ObjCMethodCall::getSourceRange</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>   <span class="keywordflow">switch</span> (getMessageKind()) {</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>:</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>     <span class="keywordflow">return</span> getOriginExpr()->getSourceRange();</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966ae6a83682e6e9a48876f2656ce619f6cd">OCM_PropertyAccess</a>:</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a1b9c682762c8c80e9d5af352e80ac648">OCM_Subscript</a>:</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>     <span class="keywordflow">return</span> getContainingPseudoObjectExpr()->getSourceRange();</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>   llvm_unreachable(<span class="stringliteral">"unknown message kind"</span>);</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> </div>
+<div class="line"><a name="l00694"></a><span class="lineno"><a class="code" href="CallEvent_8cpp.html#ab9f6d858e6682956737faf3242b9ec8b">  694</a></span> <span class="keyword">typedef</span> llvm::PointerIntPair<const PseudoObjectExpr *, 2> <a class="code" href="CallEvent_8cpp.html#ab9f6d858e6682956737faf3242b9ec8b">ObjCMessageDataTy</a>;</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span> </div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1PseudoObjectExpr.html">PseudoObjectExpr</a> *ObjCMethodCall::getContainingPseudoObjectExpr()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>   assert(Data != 0 && <span class="stringliteral">"Lazy lookup not yet performed."</span>);</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   assert(getMessageKind() != <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a> && <span class="stringliteral">"Explicit message send."</span>);</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>   <span class="keywordflow">return</span> ObjCMessageDataTy::getFromOpaqueValue(Data).getPointer();</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span> }</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> </div>
+<div class="line"><a name="l00702"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#a759141470c046607d2570284f6c51089">  702</a></span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966" title="Represents the ways an Objective-C message send can occur.">ObjCMessageKind</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#a759141470c046607d2570284f6c51089">ObjCMethodCall::getMessageKind</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>   <span class="keywordflow">if</span> (Data == 0) {</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> </div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>     <span class="comment">// Find the parent, ignoring implicit casts.</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>     <a class="code" href="classclang_1_1ParentMap.html">ParentMap</a> &PM = getLocationContext()->getParentMap();</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = PM.<a class="code" href="classclang_1_1ParentMap.html#acf1f937e56ac02dbdee6e0dc483b2905">getParentIgnoreParenCasts</a>(getOriginExpr());</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span> </div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>     <span class="comment">// Check if parent is a PseudoObjectExpr.</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PseudoObjectExpr.html">PseudoObjectExpr</a> *POE = dyn_cast_or_null<PseudoObjectExpr>(S)) {</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Syntactic = POE->getSyntacticForm();</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span> </div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>       <span class="comment">// This handles the funny case of assigning to the result of a getter.</span></div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>       <span class="comment">// This can happen if the getter returns a non-const reference.</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a> *BO = dyn_cast<BinaryOperator>(Syntactic))</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>         Syntactic = BO->getLHS();</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> </div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>       <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966" title="Represents the ways an Objective-C message send can occur.">ObjCMessageKind</a> K;</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>       <span class="keywordflow">switch</span> (Syntactic-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>()) {</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>       <span class="keywordflow">case</span> Stmt::ObjCPropertyRefExprClass:</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>         K = <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966ae6a83682e6e9a48876f2656ce619f6cd">OCM_PropertyAccess</a>;</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>       <span class="keywordflow">case</span> Stmt::ObjCSubscriptRefExprClass:</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>         K = <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a1b9c682762c8c80e9d5af352e80ac648">OCM_Subscript</a>;</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>         <span class="comment">// FIXME: Can this ever happen?</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>         K = <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>         <span class="keywordflow">break</span>;</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> </div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>       <span class="keywordflow">if</span> (K != <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>) {</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>         <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> *<span class="keyword">></span>(<span class="keyword">this</span>)->Data</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>           = <a class="code" href="CallEvent_8cpp.html#ab9f6d858e6682956737faf3242b9ec8b">ObjCMessageDataTy</a>(POE, K).getOpaqueValue();</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>         assert(getMessageKind() == K);</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>         <span class="keywordflow">return</span> K;</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>       }</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>     }</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>     </div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>     <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1ObjCMethodCall.html" title="Represents any expression that calls an Objective-C method.">ObjCMethodCall</a> *<span class="keyword">></span>(<span class="keyword">this</span>)->Data</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>       = <a class="code" href="CallEvent_8cpp.html#ab9f6d858e6682956737faf3242b9ec8b">ObjCMessageDataTy</a>(0, 1).getOpaqueValue();</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>     assert(getMessageKind() == <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>);</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>;</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>   }</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span> </div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>   <a class="code" href="CallEvent_8cpp.html#ab9f6d858e6682956737faf3242b9ec8b">ObjCMessageDataTy</a> Info = ObjCMessageDataTy::getFromOpaqueValue(Data);</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>   <span class="keywordflow">if</span> (!Info.getPointer())</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966a3c2fb49344c5d3e6cf00240744ed5ba8">OCM_Message</a>;</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>   <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966" title="Represents the ways an Objective-C message send can occur.">ObjCMessageKind</a><span class="keyword">></span>(Info.getInt());</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"><a class="code" href="classclang_1_1ObjCMethodCall.html#acb65f4d036202314fb299a495689a438">  753</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ObjCMethodCall.html#acb65f4d036202314fb299a495689a438" title="Check if the selector may have multiple definitions (may have overrides).">ObjCMethodCall::canBeOverridenInSubclass</a>(<a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IDecl,</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>                                              <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> Sel)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>   assert(IDecl);</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</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="l00757"></a><span class="lineno">  757</span>     getState()->getStateManager().getContext().getSourceManager();</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span> </div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>   <span class="comment">// If the class interface is declared inside the main file, assume it is not</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>   <span class="comment">// subcassed. </span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>   <span class="comment">// TODO: It could actually be subclassed if the subclass is private as well.</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>   <span class="comment">// This is probably very rare.</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</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> InterfLoc = IDecl-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#a21356cf36069269970422f1060fb1c8c">getEndOfDefinitionLoc</a>();</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>   <span class="keywordflow">if</span> (InterfLoc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() && SM.<a class="code" href="classclang_1_1SourceManager.html#a30bc78248de9022150189daa58ca1397" title="Returns whether the PresumedLoc for a given SourceLocation is in the main file.">isInMainFile</a>(InterfLoc))</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span> </div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>   <span class="comment">// Assume that property accessors are not overridden.</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>   <span class="keywordflow">if</span> (getMessageKind() == <a class="code" href="namespaceclang.html#ad0e3fb5bb6ead756fa217bdd3b11d966ae6a83682e6e9a48876f2656ce619f6cd">OCM_PropertyAccess</a>)</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span> </div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>   <span class="comment">// We assume that if the method is public (declared outside of main file) or</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>   <span class="comment">// has a parent which publicly declares the method, the method could be</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>   <span class="comment">// overridden in a subclass.</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span> </div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>   <span class="comment">// Find the first declaration in the class hierarchy that declares</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>   <span class="comment">// the selector.</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>   <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *D = 0;</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>   <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     D = IDecl-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#aa0d4c160329e1b90faa8e66316bdb35b">lookupMethod</a>(Sel, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span> </div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>     <span class="comment">// Cannot find a public definition.</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>     <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> </div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>     <span class="comment">// If outside the main file,</span></div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>     <span class="keywordflow">if</span> (D-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>() && !SM.<a class="code" href="classclang_1_1SourceManager.html#a30bc78248de9022150189daa58ca1397" title="Returns whether the PresumedLoc for a given SourceLocation is in the main file.">isInMainFile</a>(D-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>()))</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> </div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>     <span class="keywordflow">if</span> (D-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a1bbf8154fae20832eff78cfd8d1fbbbb" title="Whether this method overrides any other in the class hierarchy.">isOverriding</a>()) {</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>       <span class="comment">// Search in the superclass on the next iteration.</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>       IDecl = D-><a class="code" href="classclang_1_1ObjCMethodDecl.html#ae289a054485ee4d1d66b33e833e16091">getClassInterface</a>();</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>       <span class="keywordflow">if</span> (!IDecl)</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span> </div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>       IDecl = IDecl-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#a5f23eb5cda9e27622e71382d1dc4b95d">getSuperClass</a>();</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>       <span class="keywordflow">if</span> (!IDecl)</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span> </div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>       <span class="keywordflow">continue</span>;</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> </div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   };</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>   llvm_unreachable(<span class="stringliteral">"The while loop should always terminate."</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> </div>
+<div class="line"><a name="l00808"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#ac7ffccacb2acc716bb2ca0171bc57693">  808</a></span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a> <a class="code" href="classclang_1_1ObjCMethodCall.html#ac7ffccacb2acc716bb2ca0171bc57693">ObjCMethodCall::getRuntimeDefinition</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *E = getOriginExpr();</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>   assert(E);</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>   <a class="code" href="classclang_1_1Selector.html" title="Smart pointer class that efficiently represents Objective-C method names.">Selector</a> Sel = E-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a7c194e4fd002abea38c7b099a205db5d">getSelector</a>();</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span> </div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   <span class="keywordflow">if</span> (E-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a9bfb141a70fa8553d0f5a970189e629b" title="Determine whether this is an instance message to either a computed object or to super.">isInstanceMessage</a>()) {</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span> </div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>     <span class="comment">// Find the the receiver type.</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a> *ReceiverT = 0;</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>     <span class="keywordtype">bool</span> CanBeSubClassed = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> SupersType = E-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a9a96db22972ed90304c8599838d5dc6c" title="Retrieve the type referred to by 'super'.">getSuperType</a>();</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</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> *Receiver = 0;</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> (!SupersType.<a class="code" href="classclang_1_1QualType.html#a8f87f58000490ad01cd09add1f27d7ac" title="isNull - Return true if this QualType doesn't point to a type yet.">isNull</a>()) {</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>       <span class="comment">// Super always means the type of immediate predecessor to the method</span></div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>       <span class="comment">// where the call occurs.</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>       ReceiverT = cast<ObjCObjectPointerType>(SupersType);</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>       Receiver = getReceiverSVal().getAsRegion();</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>       <span class="keywordflow">if</span> (!Receiver)</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span> </div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>       <a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html" title="Stores the currently inferred strictest bound on the runtime type of a region in a given state along ...">DynamicTypeInfo</a> DTI = getState()->getDynamicTypeInfo(Receiver);</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>       <a class="code" href="classclang_1_1QualType.html">QualType</a> DynType = DTI.<a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html#a7b323c6e7d0aaa552460f2bfc321c6cb" title="Returns the currently inferred upper bound on the runtime type.">getType</a>();</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>       CanBeSubClassed = DTI.<a class="code" href="classclang_1_1ento_1_1DynamicTypeInfo.html#a5dfd870c29d25ec8aa8fd6c942fd524a" title="Returns false if the type information is precise (the type T is the only type in the lattice)...">canBeASubClass</a>();</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>       ReceiverT = dyn_cast<<a class="code" href="classclang_1_1ObjCObjectPointerType.html">ObjCObjectPointerType</a>>(DynType);</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span> </div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>       <span class="keywordflow">if</span> (ReceiverT && CanBeSubClassed)</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>         <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IDecl = ReceiverT-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#a74a117fdc7c1e38b75939935f1a243ff">getInterfaceDecl</a>())</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>           <span class="keywordflow">if</span> (!canBeOverridenInSubclass(IDecl, Sel))</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>             CanBeSubClassed = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>     }</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> </div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>     <span class="comment">// Lookup the method implementation.</span></div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>     <span class="keywordflow">if</span> (ReceiverT)</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IDecl = ReceiverT-><a class="code" href="classclang_1_1ObjCObjectPointerType.html#a74a117fdc7c1e38b75939935f1a243ff">getInterfaceDecl</a>()) {</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>         <span class="comment">// Repeatedly calling lookupPrivateMethod() is expensive, especially</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>         <span class="comment">// when in many cases it returns null.  We cache the results so</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>         <span class="comment">// that repeated queries on the same ObjCIntefaceDecl and Selector</span></div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>         <span class="comment">// don't incur the same cost.  On some test cases, we can see the</span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>         <span class="comment">// same query being issued thousands of times.</span></div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>         <span class="comment">//</span></div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>         <span class="comment">// NOTE: This cache is essentially a "global" variable, but it</span></div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>         <span class="comment">// only gets lazily created when we get here.  The value of the</span></div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>         <span class="comment">// cache probably comes from it being global across ExprEngines,</span></div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>         <span class="comment">// where the same queries may get issued.  If we are worried about</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>         <span class="comment">// concurrency, or possibly loading/unloading ASTs, etc., we may</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>         <span class="comment">// need to revisit this someday.  In terms of memory, this table</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>         <span class="comment">// stays around until clang quits, which also may be bad if we</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>         <span class="comment">// need to release memory.</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>         <span class="keyword">typedef</span> std::pair<const ObjCInterfaceDecl*, Selector></div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>                 PrivateMethodKey;</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>         <span class="keyword">typedef</span> llvm::DenseMap<PrivateMethodKey,</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>                                <a class="code" href="classllvm_1_1Optional.html">Optional<const ObjCMethodDecl *></a> ></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>                 PrivateMethodCache;</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="keyword">static</span> PrivateMethodCache PMC;</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>         <a class="code" href="classllvm_1_1Optional.html">Optional<const ObjCMethodDecl *></a> &Val = PMC[std::make_pair(IDecl, Sel)];</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span> </div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>         <span class="comment">// Query lookupPrivateMethod() if the cache does not hit.</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>         <span class="keywordflow">if</span> (!Val.hasValue())</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>           Val = IDecl->lookupPrivateMethod(Sel);</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> </div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *MD = Val.getValue();</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>         <span class="keywordflow">if</span> (CanBeSubClassed)</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>           <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>(MD, Receiver);</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>         <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>           <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>(MD, 0);</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> </div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>     <span class="comment">// This is a class method.</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>     <span class="comment">// If we have type info for the receiver class, we are calling via</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>     <span class="comment">// class name.</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *IDecl = E-><a class="code" href="classclang_1_1ObjCMessageExpr.html#ac1a549d7d104f7d1570a92e7b1554112" title="Retrieve the Objective-C interface to which this message is being directed, if known.">getReceiverInterface</a>()) {</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>       <span class="comment">// Find/Return the method implementation.</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>(IDecl->lookupPrivateClassMethod(Sel));</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>     }</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>   }</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span> </div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a>();</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span> }</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span> </div>
+<div class="line"><a name="l00891"></a><span class="lineno"><a class="code" href="classclang_1_1ObjCMethodCall.html#ac95fa074051116226c20811f523d8797">  891</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ObjCMethodCall.html#ac95fa074051116226c20811f523d8797">ObjCMethodCall::getInitialStackFrameContents</a>(</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>                                              <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>                                              BindingsTy &Bindings)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMethodDecl.html">ObjCMethodDecl</a> *D = cast<ObjCMethodDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = getState()-><a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a2ab808007e1931438e95ef98ed020591">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">getSValBuilder</a>();</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>   <a class="code" href="CallEvent_8cpp.html#a6f4f7f4f7bd38fa96ed05f292c0a6152">addParameterValuesToBindings</a>(CalleeCtx, Bindings, SVB, *<span class="keyword">this</span>,</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>                                D-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a6e3f1b5626a6e795168b51ff78888bf9">param_begin</a>(), D-><a class="code" href="classclang_1_1ObjCMethodDecl.html#a41c8a73187b3feac6defb5c1e7987b36">param_end</a>());</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>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> SelfVal = getReceiverSVal();</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>   <span class="keywordflow">if</span> (!SelfVal.isUnknown()) {</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *SelfD = CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#af4246e380b8aa974755d50956867bd22">getAnalysisDeclContext</a>()-><a class="code" href="classclang_1_1AnalysisDeclContext.html#ab89d94d01c337b12d067a3279ccc9ed4">getSelfDecl</a>();</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>     <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a> &MRMgr = SVB.getRegionManager();</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>     <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> SelfLoc = SVB.makeLoc(MRMgr.<a class="code" href="classclang_1_1ento_1_1MemRegionManager.html#a8ba4db1926a47f16b352463774bcb24a">getVarRegion</a>(SelfD, CalleeCtx));</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>     Bindings.push_back(std::make_pair(SelfLoc, SelfVal));</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>   }</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span> }</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> </div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span> <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<></a></div>
+<div class="line"><a name="l00909"></a><span class="lineno"><a class="code" href="classclang_1_1CallEventManager.html#aaddf52b25028fd0946010fdfde9ee84e">  909</a></span> <a class="code" href="classclang_1_1CallEventManager.html#aaddf52b25028fd0946010fdfde9ee84e">CallEventManager::getSimpleCall</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE, <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="l00910"></a><span class="lineno">  910</span>                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx) {</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMemberCallExpr.html">CXXMemberCallExpr</a> *MCE = dyn_cast<CXXMemberCallExpr>(CE))</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>     <span class="keywordflow">return</span> create<CXXMemberCall>(MCE, <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, LCtx);</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">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXOperatorCallExpr.html" title="A call to an overloaded operator written using operator syntax.">CXXOperatorCallExpr</a> *OpCE = dyn_cast<CXXOperatorCallExpr>(CE)) {</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionDecl.html">FunctionDecl</a> *DirectCallee = OpCE->getDirectCallee();</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = dyn_cast<CXXMethodDecl>(DirectCallee))</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>       <span class="keywordflow">if</span> (MD->isInstance())</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>         <span class="keywordflow">return</span> create<CXXMemberOperatorCall>(OpCE, State, LCtx);</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>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CE-><a class="code" href="classclang_1_1CallExpr.html#a3a2b7cbceb661c81f0d6eb937610eb75">getCallee</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#ad6cd1a04cac76bfb304bbc02bf23a9bb">isBlockPointerType</a>()) {</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     <span class="keywordflow">return</span> create<BlockCall>(CE, <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, LCtx);</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>   }</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> </div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>   <span class="comment">// Otherwise, it's a normal function call, static member function call, or</span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>   <span class="comment">// something we can't reason about.</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>   <span class="keywordflow">return</span> create<FunctionCall>(CE, <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, LCtx);</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> </div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span> <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<></a></div>
+<div class="line"><a name="l00931"></a><span class="lineno"><a class="code" href="classclang_1_1CallEventManager.html#afd14cd71933faf35a1386e1adea976c3">  931</a></span> <a class="code" href="classclang_1_1CallEventManager.html#afd14cd71933faf35a1386e1adea976c3">CallEventManager::getCaller</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>                             <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="l00933"></a><span class="lineno">  933</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *ParentCtx = CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a4a200c6c56997dbcef69ea2cb7c67b75">getParent</a>();</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *CallerCtx = ParentCtx-><a class="code" href="classclang_1_1LocationContext.html#ad4512d946266fda30b7439564a9f831c">getCurrentStackFrame</a>();</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>   assert(CallerCtx && <span class="stringliteral">"This should not be used for top-level stack frames"</span>);</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="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *CallSite = CalleeCtx-><a class="code" href="classclang_1_1StackFrameContext.html#a24b791c6edeb80a10657fcbe2eff8b3e">getCallSite</a>();</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> </div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>   <span class="keywordflow">if</span> (CallSite) {</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE = dyn_cast<CallExpr>(CallSite))</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>       <span class="keywordflow">return</span> getSimpleCall(CE, State, CallerCtx);</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="keywordflow">switch</span> (CallSite-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>()) {</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>     <span class="keywordflow">case</span> Stmt::CXXConstructExprClass:</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>     <span class="keywordflow">case</span> Stmt::CXXTemporaryObjectExprClass: {</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>       <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = State->getStateManager().getSValBuilder();</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *Ctor = cast<CXXMethodDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>       <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> ThisPtr = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aac85769beb3533687aaa604f9cdb6a0d" title="Return a memory region for the 'this' object reference.">getCXXThis</a>(Ctor, CalleeCtx);</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>       <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ThisVal = State->getSVal(ThisPtr);</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span> </div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>       <span class="keywordflow">return</span> getCXXConstructorCall(cast<CXXConstructExpr>(CallSite),</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>                                    ThisVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>(), <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>, CallerCtx);</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>     }</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>     <span class="keywordflow">case</span> Stmt::CXXNewExprClass:</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>       <span class="keywordflow">return</span> getCXXAllocatorCall(cast<CXXNewExpr>(CallSite), State, CallerCtx);</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>     <span class="keywordflow">case</span> Stmt::ObjCMessageExprClass:</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>       <span class="keywordflow">return</span> getObjCMethodCall(cast<ObjCMessageExpr>(CallSite),</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>                                State, CallerCtx);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>       llvm_unreachable(<span class="stringliteral">"This is not an inlineable statement."</span>);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>     }</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>   }</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> </div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>   <span class="comment">// Fall back to the CFG. The only thing we haven't handled yet is</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>   <span class="comment">// destructors, though this could change in the future.</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B = CalleeCtx-><a class="code" href="classclang_1_1StackFrameContext.html#ad92b76d8f309ae49c190e1172876bbd9">getCallSiteBlock</a>();</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>   <a class="code" href="classclang_1_1CFGElement.html" title="CFGElement - Represents a top-level expression in a basic block.">CFGElement</a> E = (*B)[CalleeCtx-><a class="code" href="classclang_1_1StackFrameContext.html#a08f4b3195a5de895532dd4322f36bfda">getIndex</a>()];</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>   assert(E.<a class="code" href="classclang_1_1CFGElement.html#afca6a81bb08dbcaad7e81b6e88917c6f" title="Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired typ...">getAs</a><<a class="code" href="classclang_1_1CFGImplicitDtor.html">CFGImplicitDtor</a>>() &&</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>          <span class="stringliteral">"All other CFG elements should have exprs"</span>);</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>   assert(!E.<a class="code" href="classclang_1_1CFGElement.html#afca6a81bb08dbcaad7e81b6e88917c6f" title="Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired typ...">getAs</a><<a class="code" href="classclang_1_1CFGTemporaryDtor.html">CFGTemporaryDtor</a>>() && <span class="stringliteral">"We don't handle temporaries yet"</span>);</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span> </div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &SVB = State->getStateManager().getSValBuilder();</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *Dtor = cast<CXXDestructorDecl>(CalleeCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>   <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> ThisPtr = SVB.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#aac85769beb3533687aaa604f9cdb6a0d" title="Return a memory region for the 'this' object reference.">getCXXThis</a>(Dtor, CalleeCtx);</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> ThisVal = State->getSVal(ThisPtr);</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span> </div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Trigger;</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<CFGAutomaticObjDtor></a> AutoDtor = E.<a class="code" href="classclang_1_1CFGElement.html#afca6a81bb08dbcaad7e81b6e88917c6f" title="Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired typ...">getAs</a><<a class="code" href="classclang_1_1CFGAutomaticObjDtor.html">CFGAutomaticObjDtor</a>>())</div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>     Trigger = AutoDtor->getTriggerStmt();</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<CFGDeleteDtor></a> DeleteDtor = E.<a class="code" href="classclang_1_1CFGElement.html#afca6a81bb08dbcaad7e81b6e88917c6f" title="Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired typ...">getAs</a><<a class="code" href="classclang_1_1CFGDeleteDtor.html">CFGDeleteDtor</a>>())</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>     Trigger = cast<Stmt>(DeleteDtor->getDeleteExpr());</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>     Trigger = Dtor-><a class="code" href="classclang_1_1FunctionDecl.html#acc6487ca872768c9027e5f9684976b20">getBody</a>();</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span> </div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>   <span class="keywordflow">return</span> getCXXDestructorCall(Dtor, Trigger, ThisVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>(),</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>                               E.<a class="code" href="classclang_1_1CFGElement.html#afca6a81bb08dbcaad7e81b6e88917c6f" title="Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired typ...">getAs</a><<a class="code" href="classclang_1_1CFGBaseDtor.html">CFGBaseDtor</a>>().hasValue(), <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>,</div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>                               CallerCtx);</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:21 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/CallEvent_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,577 @@
+<!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: CallEvent.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">CallEvent.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CallEvent_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/<a class="code" href="classCallEvent.html">CallEvent</a>.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/<a class="code" href="classCallEvent.html">CallEvent</a>.d: <a class="code" href="classCallEvent.html">\</a></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <a class="code" href="classCallEvent.html"> CallEvent</a>.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/<a class="code" href="classCallEvent.html">CallEvent</a>.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/DeclCXX.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/ASTUnresolvedSet.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/ASTVector.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/AttrIterator.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/DeclBase.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.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/IdentifierTable.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.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def \</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.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.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/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/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/Core/../../../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/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/TypeNodes.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.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>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/Support/system_error.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/Expr.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/AST/ExprCXX.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/ExpressionTraits.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/Lambda.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</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="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.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/FileSystemOptions.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.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/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.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/Environment.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.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/SValBuilder.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.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/CommentOptions.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/PathSensitive/BasicValueFactory.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/PathSensitive/APSIntType.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/PathSensitive/MemRegion.h \</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/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.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/PathSensitive/TaintTag.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ParentMap.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.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/BugReporter/BugReporter.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/AnalyzerOptions.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/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</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/BugReporter/BugReporterVisitor.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.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/AnalysisManager.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/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.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/CoreEngine.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h \</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/FunctionSummary.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/include/llvm/ADT/BitVector.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/include/llvm/ADT/StringExtras.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="classCallEvent.html">CallEvent</a>.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclCXX.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/Core/../../../include/clang/AST/ASTUnresolvedSet.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/AST/ASTVector.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/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.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/Core/../../../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/PointerIntPair.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/Support/Compiler.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/Config/llvm-config.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/PointerLikeTypeTraits.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/AlignOf.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/MathExtras.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/SwapByteOrder.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/Core/../../../include/clang/AST/UnresolvedSet.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/Core/../../../include/clang/AST/DeclAccessPair.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/Core/../../../include/clang/Basic/Specifiers.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/ADT/ArrayRef.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/ADT/SmallVector.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/Decl.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/AST/APValue.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/APFloat.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/APInt.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/APSInt.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/ADT/PointerUnion.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.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/Core/../../../include/clang/AST/DeclarationName.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/Core/../../../include/clang/Basic/IdentifierTable.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/Core/../../../include/clang/Basic/OperatorKinds.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/OperatorKinds.def:</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/TokenKinds.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/TokenKinds.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/include/llvm/ADT/SmallString.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/include/llvm/ADT/StringRef.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/include/llvm/ADT/StringMap.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.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/Core/../../../include/clang/Basic/DiagnosticIDs.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/IntrusiveRefCntPtr.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/DiagnosticCommonKinds.inc:</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/DiagnosticOptions.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/Core/../../../include/clang/Basic/DiagnosticOptions.def:</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/Basic/SourceLocation.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/include/llvm/ADT/DenseMap.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/include/llvm/ADT/DenseMapInfo.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/STLExtras.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/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="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/Support/PrettyStackTrace.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/Core/../../../include/clang/AST/DeclNodes.inc:</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/ExternalASTSource.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/AST/CharUnits.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/AST/Redeclarable.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.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/Core/../../../include/clang/AST/NestedNameSpecifier.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/ADT/FoldingSet.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/TemplateName.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/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="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/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="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/ADT/Optional.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/Twine.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/ErrorHandling.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def:</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/BuiltinTypes.def:</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/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/TimeValue.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/Support/system_error.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/Expr.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/AST/OperationKinds.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/Stmt.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/Core/../../../include/clang/AST/DeclGroup.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/AST/StmtIterator.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/CapturedStmt.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/AST/StmtNodes.inc:</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/AST/TemplateBase.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/Basic/CharInfo.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/Basic/TypeTraits.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/Core/../../../include/clang/Basic/Builtins.def:</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/AST/ExprCXX.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/Core/../../../include/clang/Basic/ExpressionTraits.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/Core/../../../include/clang/Basic/Lambda.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/Core/../../../include/clang/AST/TypeLoc.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/AST/TypeLocNodes.def:</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/include/llvm/ADT/SmallPtrSet.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/AST/ExprObjC.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.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/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="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/Analysis/AnalysisContext.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/Analysis/CFG.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/Analysis/Support/BumpVector.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/include/llvm/ADT/GraphTraits.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/Basic/SourceManager.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/Basic/FileManager.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/Core/../../../include/clang/Basic/FileSystemOptions.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/include/llvm/ADT/DenseSet.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/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.h:</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/include/llvm-c/Core.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/StaticAnalyzer/Core/PathSensitive/ProgramState.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/StaticAnalyzer/Core/PathSensitive/ConstraintManager.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/StaticAnalyzer/Core/PathSensitive/SVals.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.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/StaticAnalyzer/Core/PathSensitive/SymbolManager.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.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/ADT/ImmutableList.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/Support/SaveAndRestore.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/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.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/StaticAnalyzer/Core/PathSensitive/Environment.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/ImmutableMap.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/ADT/ImmutableSet.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.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/Core/../../../include/clang/AST/ASTContext.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/AST/ASTTypeTraits.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/Core/../../../include/clang/AST/ASTFwd.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/Core/../../../include/clang/AST/CanonicalType.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/CommentCommandTraits.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/Basic/CommentOptions.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/CommentCommandList.inc:</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/AST/PrettyPrinter.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/Basic/LangOptions.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/Basic/ObjCRuntime.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/Basic/VersionTuple.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/include/llvm/ADT/Triple.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/Basic/Sanitizers.def:</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/Basic/LangOptions.def:</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/Basic/OpenCLExtensions.def:</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/AST/RawCommentList.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/Basic/AddressSpaces.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/include/llvm/ADT/TinyPtrVector.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/PathSensitive/BasicValueFactory.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/StaticAnalyzer/Core/PathSensitive/APSIntType.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.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/AST/ParentMap.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/Analysis/ProgramPoint.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/CheckerContext.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/ExprEngine.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/Analysis/DomainSpecific/ObjCNoReturn.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/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.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/AnalyzerOptions.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/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="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.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/BugReporter/PathDiagnostic.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/include/llvm/ADT/SmallSet.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/include/llvm/ADT/ilist.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/include/llvm/ADT/ilist_node.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.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/Core/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.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/DepthFirstIterator.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.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/include/llvm/ADT/SmallBitVector.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/include/llvm/ADT/BitVector.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.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/include/llvm/ADT/StringExtras.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:21 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/CallEvent_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CallEvent_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1113 @@
+<!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: CallEvent.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_70579d56c0ce0f64b5ed66d6a11cf1c7.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_734a8767d7ca7d508f91a2e813224558.html">Core</a></li><li class="navelem"><a class="el" href="dir_bee9744499c06630fee7a102afddbe3a.html">PathSensitive</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CallEvent.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CallEvent_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">//===- CallEvent.h - Wrapper for all function and method calls ----*- 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 This file defines CallEvent and its subclasses, which represent path-</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// sensitive instances of different kinds of function and method calls</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// (C, C++, and Objective-C).</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_STATICANALYZER_PATHSENSITIVE_CALL</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_STATICANALYZER_PATHSENSITIVE_CALL</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="DeclCXX_8h.html" title="Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate.h) and friends (in DeclFriend.h).">clang/AST/DeclCXX.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="ExprCXX_8h.html" title="Defines the clang::Expr interface and subclasses for C++ expressions.">clang/AST/ExprCXX.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="ExprObjC_8h.html">clang/AST/ExprObjC.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="AnalysisContext_8h.html">clang/Analysis/AnalysisContext.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="ProgramState_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "<a class="code" href="SVals_8h.html">clang/StaticAnalyzer/Core/PathSensitive/SVals.h</a>"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/ADT/PointerIntPair.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">class </span>ProgramPoint;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">class </span>ProgramPointTag;</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="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebe">   34</a></span> <span class="keyword">enum</span> <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebe">CallEventKind</a> {</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea0ad01982782b0a1a18b629c95452b90d">   35</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea0ad01982782b0a1a18b629c95452b90d">CE_Function</a>,</div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea48e04c3b77316081dc1ce9933f839123">   36</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea48e04c3b77316081dc1ce9933f839123">CE_Block</a>,</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea7fecefc42906a0ec87b4cb8cba13ee97">   37</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea7fecefc42906a0ec87b4cb8cba13ee97">CE_BEG_SIMPLE_CALLS</a> = <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea0ad01982782b0a1a18b629c95452b90d">CE_Function</a>,</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeaf8c920522a82540bf5f2ef5779aebe4f">   38</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeaf8c920522a82540bf5f2ef5779aebe4f">CE_END_SIMPLE_CALLS</a> = <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea48e04c3b77316081dc1ce9933f839123">CE_Block</a>,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea20647b987f3f199ab842bb165cc0aa64">   39</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea20647b987f3f199ab842bb165cc0aa64">CE_CXXMember</a>,</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeae3e1bc5a3ae83020db2675c913026d76">   40</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeae3e1bc5a3ae83020db2675c913026d76">CE_CXXMemberOperator</a>,</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea61028f8bc35acfb221b985cf1057eac7">   41</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea61028f8bc35acfb221b985cf1057eac7">CE_CXXDestructor</a>,</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea64d74126fa7e2e1ce3d542607536b9a7">   42</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea64d74126fa7e2e1ce3d542607536b9a7">CE_BEG_CXX_INSTANCE_CALLS</a> = <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea20647b987f3f199ab842bb165cc0aa64">CE_CXXMember</a>,</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea60a81117846927176e264a3f924970f0">   43</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea60a81117846927176e264a3f924970f0">CE_END_CXX_INSTANCE_CALLS</a> = <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea61028f8bc35acfb221b985cf1057eac7">CE_CXXDestructor</a>,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeaaff98e0905b249eb849cb052fd35d46a">   44</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeaaff98e0905b249eb849cb052fd35d46a">CE_CXXConstructor</a>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea9f1434742ceaa4c562535fdd9ca02e22">   45</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea9f1434742ceaa4c562535fdd9ca02e22">CE_CXXAllocator</a>,</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeaf3bb830529e3aaaf56e483f5c4a7e4e0">   46</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebeaf3bb830529e3aaaf56e483f5c4a7e4e0">CE_BEG_FUNCTION_CALLS</a> = <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea0ad01982782b0a1a18b629c95452b90d">CE_Function</a>,</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea4d3e0c601ca98c28a5cc70efe579bd1b">   47</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea4d3e0c601ca98c28a5cc70efe579bd1b">CE_END_FUNCTION_CALLS</a> = <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea9f1434742ceaa4c562535fdd9ca02e22">CE_CXXAllocator</a>,</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea23a17d52b6f087b29e39495ca148e45f">   48</a></span>   <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebea23a17d52b6f087b29e39495ca148e45f">CE_ObjCMessage</a></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> };</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="keyword">class </span><a class="code" href="classCallEvent.html">CallEvent</a>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a>;</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> <span class="keyword">template</span><<span class="keyword">typename</span> T = CallEvent></div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEventRef.html">   55</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr</a><const T> {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEventRef.html#a524b9968bd9387263a453bb5b349b9ce">   57</a></span>   <a class="code" href="classclang_1_1ento_1_1CallEventRef.html#a524b9968bd9387263a453bb5b349b9ce">CallEventRef</a>(<span class="keyword">const</span> T *Call) : <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr</a><const T>(Call) {}</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEventRef.html#a836f63536f4ae0741b755e17dedb68ed">   58</a></span>   <a class="code" href="classclang_1_1ento_1_1CallEventRef.html#a836f63536f4ae0741b755e17dedb68ed">CallEventRef</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef</a> &Orig) : <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr</a><const T>(Orig) {}</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEventRef.html#a9dd55e2d98f496618672bb460b1c4a1c">   60</a></span>   <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<T></a> <a class="code" href="classclang_1_1ento_1_1CallEventRef.html#a9dd55e2d98f496618672bb460b1c4a1c">cloneWithState</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     <span class="keywordflow">return</span> this->getPtr()->template cloneWithState<T>(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</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> </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="comment">// Allow implicit conversions to a superclass type, since CallEventRef</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <span class="comment">// behaves like a pointer-to-const.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> SuperT></div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEventRef.html#adb70483d5922fc1e2ec5436b654487ba">   67</a></span>   <span class="keyword">operator</span> <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<SuperT></a> () <span class="keyword">const</span> {</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <span class="keywordflow">return</span> this->getPtr();</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> };</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment"></span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment">/// \class RuntimeDefinition </span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment">/// \brief Defines the runtime definition of the called function.</span></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">/// Encapsulates the information we have about which Decl will be used </span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment">/// when the call is executed on the given path. When dealing with dynamic</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment">/// dispatch, the information is based on DynamicTypeInfo and might not be </span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> <span class="comment">/// precise.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html">   79</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment">  /// The Declaration of the function which could be called at runtime.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment">  /// NULL if not available.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment"></span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">  /// The region representing an object (ObjC/C++) on which the method is</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">  /// called. With dynamic dispatch, the method definition depends on the</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">  /// runtime type of this object. NULL when the DynamicTypeInfo is</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">  /// precise.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment"></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;</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">public</span>:</div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a00db72b02f6bda3b5e1fbf9382acf06b">   91</a></span>   <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a00db72b02f6bda3b5e1fbf9382acf06b">RuntimeDefinition</a>(): D(0), R(0) {}</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a8a42a1536dc1470127d03b4736f1e583">   92</a></span>   <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a8a42a1536dc1470127d03b4736f1e583">RuntimeDefinition</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *InD): D(InD), R(0) {}</div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a0e6362ff56b92fd1165ea9c342bec0f8">   93</a></span>   <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a0e6362ff56b92fd1165ea9c342bec0f8">RuntimeDefinition</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *InD, <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> *InR): D(InD), R(InR) {}</div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a97d956f93ac1a8a4958ed00707ca11cd">   94</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a97d956f93ac1a8a4958ed00707ca11cd">getDecl</a>() { <span class="keywordflow">return</span> D; }</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment">  /// \brief Check if the definition we have is precise. </span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  /// If not, it is possible that the call dispatches to another definition at </span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment">  /// execution time.</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a9136071f168f2eee47bdb1e7d5f56b26">   99</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a9136071f168f2eee47bdb1e7d5f56b26" title="Check if the definition we have is precise. If not, it is possible that the call dispatches to anothe...">mayHaveOtherDefinitions</a>() { <span class="keywordflow">return</span> R != 0; }</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">  /// When other definitions are possible, returns the region whose runtime type </span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">  /// determines the method definition.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a49d234ab3dc89e40546200b9fe1410d8">  103</a></span> <span class="comment"></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> *<a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html#a49d234ab3dc89e40546200b9fe1410d8">getDispatchRegion</a>() { <span class="keywordflow">return</span> R; }</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> <span class="comment"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">/// \brief Represents an abstract call to a function or method along a</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">/// particular path.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">/// CallEvents are created through the factory methods of CallEventManager.</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">/// CallEvents should always be cheap to create and destroy. In order for</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment">/// CallEventManager to be able to re-use CallEvent-sized memory blocks,</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">/// subclasses of CallEvent may not add any data members to the base class.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment">/// Use the "Data" and "Location" fields instead.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html">  115</a></span> <span class="comment"></span><span class="keyword">class </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> {</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a5dbdb8823676a6b924fac5a541b158e1">  117</a></span>   <span class="keyword">typedef</span> <a class="code" href="namespaceclang_1_1ento.html#ac30eae39feb399880c2c79a470d23ebe">CallEventKind</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a5dbdb8823676a6b924fac5a541b158e1">Kind</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   llvm::PointerUnion<const Expr *, const Decl *> Origin;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   <span class="keywordtype">void</span> operator=(<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> &) LLVM_DELETED_FUNCTION;</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> protected:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="comment">// This is user data for subclasses.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a72ec40c482476a8f314f659efe0ae9a7">  128</a></span>   const <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a72ec40c482476a8f314f659efe0ae9a7">Data</a>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   <span class="comment">// This is user data for subclasses.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="comment">// This should come right before RefCount, so that the two fields can be</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>   <span class="comment">// packed together on LP64 platforms.</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7299200ba8fcc9c823890b36c8b86dfd">  133</a></span>   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7299200ba8fcc9c823890b36c8b86dfd">Location</a>;</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> private:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   mutable <span class="keywordtype">unsigned</span> RefCount;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae97eb1a4c1ea98461d4158172b78bbd4">  138</a></span>   template <typename T> friend struct llvm::<a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo.html">IntrusiveRefCntPtrInfo</a>;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <span class="keywordtype">void</span> Retain()<span class="keyword"> const </span>{ ++RefCount; }</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   <span class="keywordtype">void</span> Release() <span class="keyword">const</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="keyword">protected</span>:</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a54884a3b427266d01976d4b870a8cedc">  143</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa9a2b6aa0201f1e78e8ca4688d3835b6">  145</a></span>   <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa9a2b6aa0201f1e78e8ca4688d3835b6">CallEvent</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *lctx)</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     : <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>(state), LCtx(lctx), Origin(E), RefCount(0) {}</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a45995bf7c905f8bb1a8a6d966d554333">  148</a></span>   <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa9a2b6aa0201f1e78e8ca4688d3835b6">CallEvent</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D, <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *lctx)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     : <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>(state), LCtx(lctx), Origin(D), RefCount(0) {}</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="comment">// DO NOT MAKE PUBLIC</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a65c39f536d68ea1a97b1ad01f64cbf52">  152</a></span>   <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa9a2b6aa0201f1e78e8ca4688d3835b6">CallEvent</a>(<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> &Original)</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>     : <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>(Original.<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>), LCtx(Original.LCtx), Origin(Original.Origin),</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>       <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a72ec40c482476a8f314f659efe0ae9a7">Data</a>(Original.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a72ec40c482476a8f314f659efe0ae9a7">Data</a>), <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7299200ba8fcc9c823890b36c8b86dfd">Location</a>(Original.<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7299200ba8fcc9c823890b36c8b86dfd">Location</a>), RefCount(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">  /// Copies this CallEvent, with vtable intact, into a new block of memory.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aa5645dfe4589641d109e892549c55edc" title="Copies this CallEvent, with vtable intact, into a new block of memory.">cloneTo</a>(<span class="keywordtype">void</span> *Dest) <span class="keyword">const</span> = 0;</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 Get the value of arbitrary expressions at this point in the path.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a3ce628f5cf2dc2778d6ab8f473399f54">  160</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a3ce628f5cf2dc2778d6ab8f473399f54" title="Get the value of arbitrary expressions at this point in the path.">getSVal</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>()->getSVal(S, <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>());</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a384c76debf32fc1aca4de76ef825fe29">  165</a></span>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<SVal></a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a384c76debf32fc1aca4de76ef825fe29">ValueList</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 Used to specify non-argument regions that will be invalidated as a</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment">  /// result of this call.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a08727e25eb32811281c26693dd165e53">  169</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a08727e25eb32811281c26693dd165e53" title="Used to specify non-argument regions that will be invalidated as a result of this call...">getExtraInvalidatedValues</a>(<a class="code" href="classllvm_1_1SmallVectorImpl.html">ValueList</a> &Values)<span class="keyword"> const </span>{}</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="keyword">public</span>:</div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a6048ecc4286580ef0ae24193a13825e4">  172</a></span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a6048ecc4286580ef0ae24193a13825e4">~CallEvent</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 Returns the kind of call this is.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#aeae13ff8f7c9a65dfb4a01e89462bd52" title="Returns the kind of call this is.">getKind</a>() <span class="keyword">const</span> = 0;</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 Returns the declaration of the function or method that will be</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment">  /// called. May be null.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e">  179</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>     <span class="keywordflow">return</span> Origin.dyn_cast<<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</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="comment"></span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> <span class="comment">  /// \brief The state in which the call is being evaluated.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28">  184</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> &<a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     <span class="keywordflow">return</span> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>;</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="comment"></span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="comment">  /// \brief The context in which the call is being evaluated.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6">  189</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a7d2aa7d6adaa5f73d548faa8a4a77ad6" title="The context in which the call is being evaluated.">getLocationContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <span class="keywordflow">return</span> LCtx;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   }</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> <span class="comment"></span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> <span class="comment">  /// \brief Returns the definition of the function or method that will be</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  /// called.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1RuntimeDefinition.html" title="Defines the runtime definition of the called function.">RuntimeDefinition</a> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a0f2bb4852525a083497cb7e87dc92f50" title="Returns the definition of the function or method that will be called.">getRuntimeDefinition</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment"></span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment">  /// \brief Returns the expression whose value will be the result of this call.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment">  /// May be null.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42">  199</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a9f72b8a76cc28dc16a338c3c1de3db42" title="Returns the expression whose value will be the result of this call. May be null.">getOriginExpr</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <span class="keywordflow">return</span> Origin.dyn_cast<<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *>();</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> <span class="comment"></span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> <span class="comment">  /// \brief Returns the number of arguments (explicit and implicit).</span></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">  /// Note that this may be greater than the number of parameters in the</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment">  /// callee's declaration, and that it may include arguments not written in</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="comment">  /// the source.</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1ento_1_1CallEvent.html#abd7eec92faa315f33adafa67bf640aa5" title="Returns the number of arguments (explicit and implicit).">getNumArgs</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> <span class="comment"></span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="comment">  /// \brief Returns true if the callee is known to be from a system header.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae702880afd4dbe011560c91e2c1ac4ce">  211</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <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>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a10f4043cc5d07d2965ef53be8a1e626e" title="Returns the declaration of the function or method that will be called. May be null.">getDecl</a>();</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>     <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>     <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_1ento_1_1Loc.html">Loc</a> = D-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>();</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     <span class="keywordflow">if</span> (Loc.<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>()) {</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</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="l00219"></a><span class="lineno">  219</span>         <a class="code" href="classclang_1_1ento_1_1CallEvent.html#af3d47dcfa1e52fcc4f5fe665a8573d28" title="The state in which the call is being evaluated.">getState</a>()->getStateManager().getContext().getSourceManager();</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>       <span class="keywordflow">return</span> SM.<a class="code" href="classclang_1_1SourceManager.html#a99c639318222119c75ea9c12f1aa5cf2" title="Returns if a SourceLocation is in a system header.">isInSystemHeader</a>(D-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>());</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     }</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     <span class="comment">// Special case for implicitly-declared global operator new/delete.</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     <span class="comment">// These should be considered system functions.</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</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>(D))</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>       <span class="keywordflow">return</span> FD->isOverloadedOperator() && FD->isImplicit() && FD->isGlobal();</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>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="comment">  /// \brief Returns a source range for the entire call, suitable for</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="comment">  /// outputting in diagnostics.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1e48d4f89020f9b510f8dcdeef096635">  233</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classc