[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/PrintfFormatString_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PrintfFormatString_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PrintfFormatString_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PrintfFormatString_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,400 @@
+<!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: PrintfFormatString.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_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_d475dbd19d31b48f9c4cacce35904903.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">PrintfFormatString.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="PrintfFormatString_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/Analysis/Release+Asserts/PrintfFormatString.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/Release+Asserts/PrintfFormatString.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  PrintfFormatString.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>/FormatString.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/Casting.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/ADT/None.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/BuiltinTypes.def \
+ FormatStringParsing.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.h \</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/Analysis/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>/FormatString.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.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/Analysis/../../include/clang/Basic/OperatorKinds.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/Analysis/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/Analysis/../../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="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/Analysis/../../include/clang/Basic/IdentifierTable.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/Analysis/../../include/clang/Basic/TokenKinds.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/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def:</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/ADT/SmallString.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/tools/clang/lib/Analysis/../../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="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.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/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.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/tools/clang/lib/Analysis/../../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="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/ADT/APSInt.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/ADT/APInt.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/Analysis/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/BuiltinTypes.def:</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> FormatStringParsing.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/Analysis/../../include/clang/AST/ASTContext.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/Analysis/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.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/Analysis/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/Analysis/../../include/clang/AST/DeclBase.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/Analysis/../../include/clang/AST/AttrIterator.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/Analysis/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.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/Analysis/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.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/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.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/Support/system_error.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/Analysis/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.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/Analysis/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeLocNodes.def:</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/Analysis/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CommentOptions.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/Analysis/../../include/clang/AST/CommentCommandList.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/Analysis/../../include/clang/AST/PrettyPrinter.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/Analysis/../../include/clang/Basic/LangOptions.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/Analysis/../../include/clang/Basic/ObjCRuntime.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/Analysis/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Sanitizers.def:</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/Analysis/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/FileManager.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/tools/clang/lib/Analysis/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.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-c/Core.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/AddressSpaces.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/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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/Analysis/../../include/clang/Basic/TargetInfo.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/Analysis/../../include/clang/Basic/TargetCXXABI.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/Analysis/../../include/clang/Basic/TargetOptions.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/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:52 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/ProgramPoint_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,130 @@
+<!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: ProgramPoint.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_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ProgramPoint.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramPoint_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">//==- ProgramPoint.cpp - Program Points for Path-Sensitive Analysis -*- C++ -*-/</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines the interface ProgramPoint, which identifies a</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  distinct location in a function.</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="ProgramPoint_8h.html">clang/Analysis/ProgramPoint.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPointTag.html#aec480b83126b155b766334d1a76bffe7">   19</a></span> <a class="code" href="classclang_1_1ProgramPointTag.html#aec480b83126b155b766334d1a76bffe7">ProgramPointTag::~ProgramPointTag</a>() {}</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a240a6013a192e52369c11d80974f1a72">   21</a></span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="classclang_1_1ProgramPoint.html#a240a6013a192e52369c11d80974f1a72">ProgramPoint::getProgramPoint</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>, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">ProgramPoint::Kind</a> K,</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC,</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag){</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   <span class="keywordflow">switch</span> (K) {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>       llvm_unreachable(<span class="stringliteral">"Unhandled ProgramPoint kind"</span>);</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a3e7acd4b04372b4d7b9692e83724134c">ProgramPoint::PreStmtKind</a>:</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PreStmt.html">PreStmt</a>(S, LC, tag);</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">ProgramPoint::PostStmtKind</a>:</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>(S, LC, tag);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a165179b7fd6a612e087ae2b915cee4b5">ProgramPoint::PreLoadKind</a>:</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PreLoad.html">PreLoad</a>(S, LC, tag);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a0f87bd2e84c2a12bd9672e8f7980029b">ProgramPoint::PostLoadKind</a>:</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PostLoad.html">PostLoad</a>(S, LC, tag);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad7d47c80acbd00dceb9d5ea71cc84193">ProgramPoint::PreStoreKind</a>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PreStore.html">PreStore</a>(S, LC, tag);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad8165f3fe9b4fb0eed76102298803179">ProgramPoint::PostLValueKind</a>:</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PostLValue.html">PostLValue</a>(S, LC, tag);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9b9731173743c930bcc8bc2aeb997257">ProgramPoint::PostStmtPurgeDeadSymbolsKind</a>:</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html">PostStmtPurgeDeadSymbols</a>(S, LC, tag);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a84c956e6672f6e3b9ecd984b2b929a45">ProgramPoint::PreStmtPurgeDeadSymbolsKind</a>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html">PreStmtPurgeDeadSymbols</a>(S, LC, tag);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   }</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> }</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1SimpleProgramPointTag.html#a16eb6689445b9f410ba64566dbe08f4f">   46</a></span> <a class="code" href="classclang_1_1SimpleProgramPointTag.html#a16eb6689445b9f410ba64566dbe08f4f">SimpleProgramPointTag::SimpleProgramPointTag</a>(StringRef description)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   : desc(description) {}</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1SimpleProgramPointTag.html#a0a568ced446b25e6c8365cb885b1a966">   49</a></span> StringRef <a class="code" href="classclang_1_1SimpleProgramPointTag.html#a0a568ced446b25e6c8365cb885b1a966">SimpleProgramPointTag::getTagDescription</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keywordflow">return</span> desc;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:52 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/ProgramPoint_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,310 @@
+<!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: ProgramPoint.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_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_d475dbd19d31b48f9c4cacce35904903.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ProgramPoint.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramPoint_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/Analysis/Release+Asserts/ProgramPoint.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/Release+Asserts/ProgramPoint.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  ProgramPoint.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/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/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/ProgramPoint.h:</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/AnalysisContext.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/ADT/APInt.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/ADT/ArrayRef.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/SmallVector.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/Support/AlignOf.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/Support/MathExtras.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/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.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/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.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/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.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/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.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/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.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/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.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/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def:</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/Analysis/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="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/Analysis/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc:</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/Analysis/../../include/clang/AST/ExternalASTSource.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/Analysis/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.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/Analysis/../../include/clang/AST/Type.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/Analysis/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="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/Analysis/../../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="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/ADT/Optional.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/ADT/Twine.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/tools/clang/lib/Analysis/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div 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/FileSystem.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/OwningPtr.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.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/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/CFG.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/Analysis/../../include/clang/AST/Stmt.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/Analysis/../../include/clang/AST/DeclGroup.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/Analysis/../../include/clang/AST/StmtIterator.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/Analysis/../../include/clang/Basic/CapturedStmt.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/Analysis/../../include/clang/AST/StmtNodes.inc:</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/Analysis/../../include/clang/Analysis/Support/BumpVector.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:52 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/ProgramPoint_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramPoint_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,783 @@
+<!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: ProgramPoint.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_08cb8dd42fdabd3361bfbdc9f41acf33.html">Analysis</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ProgramPoint.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramPoint_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">//==- ProgramPoint.h - Program Points for Path-Sensitive Analysis --*- C++ -*-//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines the interface ProgramPoint, which identifies a</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  distinct location in a function.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#ifndef LLVM_CLANG_ANALYSIS_PROGRAM_POINT</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_ANALYSIS_PROGRAM_POINT</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="AnalysisContext_8h.html">clang/Analysis/AnalysisContext.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="CFG_8h.html">clang/Analysis/CFG.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/FoldingSet.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/ADT/Optional.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/PointerIntPair.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/StringRef.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/Support/Casting.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/Support/DataTypes.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include <cassert></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include <string></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="preprocessor">#include <utility></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="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="keyword">class </span>AnalysisDeclContext;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="keyword">class </span>FunctionDecl;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">class </span>LocationContext;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">class </span>ProgramPointTag;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   </div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html">   38</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">   40</a></span>   <span class="keyword">enum</span> <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> { <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a95ba271ee42e845a8cdd9ab62200bd54">BlockEdgeKind</a>,</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af0e1b3c3e85bbcfadc2d78e258993c46">   41</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af0e1b3c3e85bbcfadc2d78e258993c46">BlockEntranceKind</a>,</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ad283a33404be59afc0b192e2069fb8">   42</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ad283a33404be59afc0b192e2069fb8">BlockExitKind</a>,</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a3e7acd4b04372b4d7b9692e83724134c">   43</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a3e7acd4b04372b4d7b9692e83724134c">PreStmtKind</a>,</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a84c956e6672f6e3b9ecd984b2b929a45">   44</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a84c956e6672f6e3b9ecd984b2b929a45">PreStmtPurgeDeadSymbolsKind</a>,</div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9b9731173743c930bcc8bc2aeb997257">   45</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9b9731173743c930bcc8bc2aeb997257">PostStmtPurgeDeadSymbolsKind</a>,</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">   46</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">PostStmtKind</a>,</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a165179b7fd6a612e087ae2b915cee4b5">   47</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a165179b7fd6a612e087ae2b915cee4b5">PreLoadKind</a>,</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a0f87bd2e84c2a12bd9672e8f7980029b">   48</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a0f87bd2e84c2a12bd9672e8f7980029b">PostLoadKind</a>,</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad7d47c80acbd00dceb9d5ea71cc84193">   49</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad7d47c80acbd00dceb9d5ea71cc84193">PreStoreKind</a>,</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ab841c18d54cf53d53ba6931edd72906d">   50</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ab841c18d54cf53d53ba6931edd72906d">PostStoreKind</a>,</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a5bc0fae7181abe6dab75a60c6be32fed">   51</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a5bc0fae7181abe6dab75a60c6be32fed">PostConditionKind</a>,</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad8165f3fe9b4fb0eed76102298803179">   52</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad8165f3fe9b4fb0eed76102298803179">PostLValueKind</a>,</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ce61acee6f47476525e00c1d251ba5d">   53</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ce61acee6f47476525e00c1d251ba5d">MinPostStmtKind</a> = <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">PostStmtKind</a>,</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a6dc7d8d707e824aa06d6fcc5031d7fc4">   54</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a6dc7d8d707e824aa06d6fcc5031d7fc4">MaxPostStmtKind</a> = <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad8165f3fe9b4fb0eed76102298803179">PostLValueKind</a>,</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a19484fcb15714c16fdfdbe81a1eaa24a">   55</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a19484fcb15714c16fdfdbe81a1eaa24a">PostInitializerKind</a>,</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6aadf9132d5c5bec9fb3e8f3ac35a5936e">   56</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6aadf9132d5c5bec9fb3e8f3ac35a5936e">CallEnterKind</a>,</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af63b514941bc148432b0fa0550505a8b">   57</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af63b514941bc148432b0fa0550505a8b">CallExitBeginKind</a>,</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a7ff6ff48d65951f7b77ffd21a4c8c106">   58</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a7ff6ff48d65951f7b77ffd21a4c8c106">CallExitEndKind</a>,</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6accdfef48a2868e8c378f5b55adad2066">   59</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6accdfef48a2868e8c378f5b55adad2066">PreImplicitCallKind</a>,</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a34a09ff52d62e8c8a472ed2f948f43ec">   60</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a34a09ff52d62e8c8a472ed2f948f43ec">PostImplicitCallKind</a>,</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a8a81c3b8df9017ae714dc7acc28b1d69">   61</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a8a81c3b8df9017ae714dc7acc28b1d69">MinImplicitCallKind</a> = <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6accdfef48a2868e8c378f5b55adad2066">PreImplicitCallKind</a>,</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6add35217c73d2eb05ce7f4426ae3f3d26">   62</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6add35217c73d2eb05ce7f4426ae3f3d26">MaxImplicitCallKind</a> = <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a34a09ff52d62e8c8a472ed2f948f43ec">PostImplicitCallKind</a>,</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a17e2a293b1abf7fddc5f22c9fa9bac08">   63</a></span>               <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a17e2a293b1abf7fddc5f22c9fa9bac08">EpsilonKind</a>};</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   <span class="keyword">const</span> <span class="keywordtype">void</span> *Data1;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>   llvm::PointerIntPair<const void *, 2, unsigned> Data2;</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="comment">// The LocationContext could be NULL to allow ProgramPoint to be used in</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   <span class="comment">// context insensitive analysis.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   llvm::PointerIntPair<const LocationContext *, 2, unsigned> L;</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>   llvm::PointerIntPair<const ProgramPointTag *, 2, unsigned> Tag;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#ac14fee34cc4c3aa44652b250dec33318">   76</a></span>   <a class="code" href="classclang_1_1ProgramPoint.html#ac14fee34cc4c3aa44652b250dec33318">ProgramPoint</a>() {}</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#ac05af545b6be102c3a70f4cbf1299d46">   77</a></span>   <a class="code" href="classclang_1_1ProgramPoint.html#ac14fee34cc4c3aa44652b250dec33318">ProgramPoint</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> k,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>                <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *l,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>                <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     : Data1(P),</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>       Data2(0, (((<a class="code" href="classunsigned.html">unsigned</a>) k) >> 0) & 0x3),</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>       L(l, (((<a class="code" href="classunsigned.html">unsigned</a>) k) >> 2) & 0x3),</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>       Tag(tag, (((<a class="code" href="classunsigned.html">unsigned</a>) k) >> 4) & 0x3) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>         assert(<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == k);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>         assert(<a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>() == l);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>         assert(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>() == P);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>       }</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>         </div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a548ea8608e6eb1d23b8560e241a3fe42">   90</a></span>   <a class="code" href="classclang_1_1ProgramPoint.html#ac14fee34cc4c3aa44652b250dec33318">ProgramPoint</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *P1,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>                <span class="keyword">const</span> <span class="keywordtype">void</span> *P2,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> k,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>                <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *l,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>                <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     : Data1(P1),</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       Data2(P2, (((<a class="code" href="classunsigned.html">unsigned</a>) k) >> 0) & 0x3),</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>       L(l, (((<a class="code" href="classunsigned.html">unsigned</a>) k) >> 2) & 0x3),</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       Tag(tag, (((<a class="code" href="classunsigned.html">unsigned</a>) k) >> 4) & 0x3) {}</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">  101</a></span>   <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Data1; }</div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">  102</a></span>   <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Data2.getPointer(); }</div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a64a6619b4bbafce1e5e1d0b7d8e5e36d">  103</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ProgramPoint.html#a64a6619b4bbafce1e5e1d0b7d8e5e36d">setData2</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *d) { Data2.setPointer(d); }</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="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">  /// Create a new ProgramPoint object that is the same as the original</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">  /// except for using the specified tag value.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a351395c583b1d7f89ef02b3eecabec6a">  108</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="classclang_1_1ProgramPoint.html#a351395c583b1d7f89ef02b3eecabec6a">withTag</a>(<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="l00109"></a><span class="lineno">  109</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ProgramPoint.html#ac14fee34cc4c3aa44652b250dec33318">ProgramPoint</a>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>(), <a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>(), <a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>(),</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>                         <a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>(), tag);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   }</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment">  /// \brief Convert to the specified ProgramPoint type, asserting that this</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment">  /// ProgramPoint is of the desired type.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment"></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#acf0c9041df6b7f0ed809f566052d4ecf">  116</a></span>   T <a class="code" href="classclang_1_1ProgramPoint.html#acf0c9041df6b7f0ed809f566052d4ecf" title="Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type...">castAs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     assert(T::isKind(*<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>     T t;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>& PP = t;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     PP = *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="keywordflow">return</span> t;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">  /// \brief Convert to the specified ProgramPoint type, returning None if this</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">  /// ProgramPoint is not of the desired type.</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment"></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb">  127</a></span>   <a class="code" href="classllvm_1_1Optional.html">Optional<T></a> <a class="code" href="classclang_1_1ProgramPoint.html#a18cdaf6f5c806edd0c3b437f94fdb5cb" title="Convert to the specified ProgramPoint type, returning None if this ProgramPoint is not of the desired...">getAs</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     <span class="keywordflow">if</span> (!T::isKind(*<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>       <span class="keywordflow">return</span> None;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     T t;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>     <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>& PP = t;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     PP = *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     <span class="keywordflow">return</span> t;</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> </div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">  136</a></span>   <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> <a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     <span class="keywordtype">unsigned</span> x = Tag.getInt();</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     x <<= 2;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     x |= L.getInt();</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     x <<= 2;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     x |= Data2.getInt();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>     <span class="keywordflow">return</span> (<a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a>) x;</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"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> <span class="comment">  /// \brief Is this a program point corresponding to purge/removal of dead</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment">  /// symbols and bindings.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a1774c6fa02c1627a649948bbd1921bef">  147</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ProgramPoint.html#a1774c6fa02c1627a649948bbd1921bef" title="Is this a program point corresponding to purge/removal of dead symbols and bindings.">isPurgeKind</a>() {</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> K = <a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>();</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     <span class="keywordflow">return</span> (K == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9b9731173743c930bcc8bc2aeb997257">PostStmtPurgeDeadSymbolsKind</a> ||</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>             K == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a84c956e6672f6e3b9ecd984b2b929a45">PreStmtPurgeDeadSymbolsKind</a>);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   }</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a2aecc5111231c9b905f12ad0b7e8a46d">  153</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *<a class="code" href="classclang_1_1ProgramPoint.html#a2aecc5111231c9b905f12ad0b7e8a46d">getTag</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Tag.getPointer(); }</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">  155</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *<a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">return</span> L.getPointer();</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   }</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>   <span class="comment">// For use with DenseMap.  This hash is probably slow.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#ad4013e73d752f4b2094738f724701893">  160</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1ProgramPoint.html#ad4013e73d752f4b2094738f724701893">getHashValue</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     llvm::FoldingSetNodeID <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     <a class="code" href="classclang_1_1ProgramPoint.html#a89c8960adb42ed2c6613461a8af4cc2c">Profile</a>(ID);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     <span class="keywordflow">return</span> ID.ComputeHash();</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>   }</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#af519954adb2decfe868c6e280507d09f">  166</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ProgramPoint.html#af519954adb2decfe868c6e280507d09f">operator==</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> & RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordflow">return</span> Data1 == RHS.Data1 &&</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>            Data2 == RHS.Data2 &&</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>            L == RHS.L &&</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>            Tag == RHS.Tag;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   }</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPoint.html#ad365e05b99394065b59acce3f0b5965d">  173</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ProgramPoint.html#ad365e05b99394065b59acce3f0b5965d">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &RHS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">return</span> Data1 != RHS.Data1 ||</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>            Data2 != RHS.Data2 ||</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>            L != RHS.L ||</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>            Tag != RHS.Tag;</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"><a class="code" href="classclang_1_1ProgramPoint.html#a89c8960adb42ed2c6613461a8af4cc2c">  180</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ProgramPoint.html#a89c8960adb42ed2c6613461a8af4cc2c">Profile</a>(llvm::FoldingSetNodeID& <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     ID.AddInteger((<span class="keywordtype">unsigned</span>) <a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>());</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     ID.AddPointer(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     ID.AddPointer(<a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>());</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>     ID.AddPointer(<a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>());</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     ID.AddPointer(<a class="code" href="classclang_1_1ProgramPoint.html#a2aecc5111231c9b905f12ad0b7e8a46d">getTag</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> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="keyword">static</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="classclang_1_1ProgramPoint.html#a240a6013a192e52369c11d80974f1a72">getProgramPoint</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>, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">ProgramPoint::Kind</a> K,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC,</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> };</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEntrance.html">  193</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEntrance.html#a09112fb014635031f71c9af1e15e4608">  195</a></span>   <a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>                 <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(B, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af0e1b3c3e85bbcfadc2d78e258993c46">BlockEntranceKind</a>, L, tag) {    </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     assert(B && <span class="stringliteral">"BlockEntrance requires non-null block"</span>);</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> </div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEntrance.html#aad4a9211fdb0eb00ae2e7ae6eb636578">  201</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1BlockEntrance.html#aad4a9211fdb0eb00ae2e7ae6eb636578">getBlock</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a>*<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</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_1BlockEntrance.html#aa30a0b7127ee8dccdce96815ab1bfc2f">  205</a></span>   <a class="code" href="classllvm_1_1Optional.html">Optional<CFGElement></a> <a class="code" href="classclang_1_1BlockEntrance.html#aa30a0b7127ee8dccdce96815ab1bfc2f">getFirstElement</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_1CFGBlock.html">CFGBlock</a> *B = <a class="code" href="classclang_1_1BlockEntrance.html#aad4a9211fdb0eb00ae2e7ae6eb636578">getBlock</a>();</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>     <span class="keywordflow">return</span> B-><a class="code" href="classclang_1_1CFGBlock.html#a6ada8898caf2ac3bdd6f52531cf42ac3">empty</a>() ? <a class="code" href="classllvm_1_1Optional.html">Optional<CFGElement></a>() : B-><a class="code" href="classclang_1_1CFGBlock.html#aab6a3fcc44889306735d92d3eeab4768">front</a>();</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   }</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEntrance.html#a2a185af6aa41abc7a9e42d058254d366">  211</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <a class="code" href="classclang_1_1BlockEntrance.html">BlockEntrance</a>() {}</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af0e1b3c3e85bbcfadc2d78e258993c46">BlockEntranceKind</a>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   }</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> };</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="classclang_1_1BlockExit.html">  218</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1BlockExit.html">BlockExit</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="classclang_1_1BlockExit.html#a41987912355fc6a42820026a5d251767">  220</a></span>   <a class="code" href="classclang_1_1BlockExit.html">BlockExit</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L)</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(B, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ad283a33404be59afc0b192e2069fb8">BlockExitKind</a>, L) {}</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="classclang_1_1BlockExit.html#a32b6b1d5957f8750b7081a014db4877c">  223</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1BlockExit.html#a32b6b1d5957f8750b7081a014db4877c">getBlock</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a>*<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</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"><a class="code" href="classclang_1_1BlockExit.html#a430408604f55902f2f048eb5e7111bfd">  227</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1BlockExit.html#a430408604f55902f2f048eb5e7111bfd">getTerminator</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockExit.html#a32b6b1d5957f8750b7081a014db4877c">getBlock</a>()-><a class="code" href="classclang_1_1CFGBlock.html#af1276a7d6dea5546ea7421b85162375a">getTerminator</a>();</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> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="classclang_1_1BlockExit.html#a2a185af6aa41abc7a9e42d058254d366">  232</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <a class="code" href="classclang_1_1BlockExit.html">BlockExit</a>() {}</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ad283a33404be59afc0b192e2069fb8">BlockExitKind</a>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   }</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> };</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="code" href="classclang_1_1StmtPoint.html">  239</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1StmtPoint.html#abc03dd3e70349cd9d663d0aa40246d78">  241</a></span>   <a class="code" href="classclang_1_1StmtPoint.html#a03c9ca5e8d20f347a5d529be2446b6e7">StmtPoint</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> <span class="keywordtype">void</span> *p2, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> k, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>             <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag)</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(S, p2, k, L, tag) {</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>     assert(S);</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> </div>
+<div class="line"><a name="l00247"></a><span class="lineno"><a class="code" href="classclang_1_1StmtPoint.html#a1c986795974737263f02559d18f8120f">  247</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1StmtPoint.html#a1c986795974737263f02559d18f8120f">getStmt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a>*) <a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>(); }</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>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00250"></a><span class="lineno"><a class="code" href="classclang_1_1StmtPoint.html#acd09743dc3086da55458bc1597b5a10b">  250</a></span>   <span class="keyword">const</span> T* <a class="code" href="classclang_1_1StmtPoint.html#acd09743dc3086da55458bc1597b5a10b">getStmtAs</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dyn_cast<T>(<a class="code" href="classclang_1_1StmtPoint.html#a1c986795974737263f02559d18f8120f">getStmt</a>()); }</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> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00253"></a><span class="lineno"><a class="code" href="classclang_1_1StmtPoint.html#a03c9ca5e8d20f347a5d529be2446b6e7">  253</a></span>   <a class="code" href="classclang_1_1StmtPoint.html#a03c9ca5e8d20f347a5d529be2446b6e7">StmtPoint</a>() {}</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1StmtPoint.html#a2a185af6aa41abc7a9e42d058254d366">  255</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <span class="keywordtype">unsigned</span> k = Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>();</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">return</span> k >= <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a3e7acd4b04372b4d7b9692e83724134c">PreStmtKind</a> && k <= <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a6dc7d8d707e824aa06d6fcc5031d7fc4">MaxPostStmtKind</a>;</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> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmt.html">  263</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PreStmt.html">PreStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a> {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmt.html#ae69db143da8ba7e5fff8ef83702c9aca">  265</a></span>   <a class="code" href="classclang_1_1PreStmt.html">PreStmt</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag,</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>           <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *SubStmt = 0)</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, SubStmt, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a3e7acd4b04372b4d7b9692e83724134c">PreStmtKind</a>, L, tag) {}</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmt.html#a45cd9758471dc430e29ea095c4d9ccc0">  269</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1PreStmt.html#a45cd9758471dc430e29ea095c4d9ccc0">getSubStmt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a>*) <a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>(); }</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmt.html#a2a185af6aa41abc7a9e42d058254d366">  272</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>   <a class="code" href="classclang_1_1PreStmt.html">PreStmt</a>() {}</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a3e7acd4b04372b4d7b9692e83724134c">PreStmtKind</a>;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>   }</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> };</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmt.html">  279</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PostStmt.html">PostStmt</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a> {</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmt.html#adff374f8d6aa16fe665ddcbd286a6386">  281</a></span>   <a class="code" href="classclang_1_1PostStmt.html#adff374f8d6aa16fe665ddcbd286a6386">PostStmt</a>() {}</div>
+<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmt.html#a77484106561e6f111f267b05009bb4c7">  282</a></span>   <a class="code" href="classclang_1_1PostStmt.html#adff374f8d6aa16fe665ddcbd286a6386">PostStmt</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> <span class="keywordtype">void</span> *<a class="code" href="ASTWriter_8cpp.html#a5c6341076bde2012a21db25f4e2e3792">data</a>, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> k, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>            <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, data, k, L, tag) {}</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="keyword">public</span>:</div>
+<div class="line"><a name="l00287"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmt.html#a8c2b1ad3310e1a0d7f695753176043ae">  287</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1PostStmt.html#adff374f8d6aa16fe665ddcbd286a6386">PostStmt</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>, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> k, </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>                     <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, k, L, tag) {}</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmt.html#ad9493668aeb1e362bf030a3534d25996">  291</a></span>   <span class="keyword">explicit</span> <a class="code" href="classclang_1_1PostStmt.html#adff374f8d6aa16fe665ddcbd286a6386">PostStmt</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9bcf6985265d7a1e7f75791fba53cda9">PostStmtKind</a>, L, tag) {}</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmt.html#a2a185af6aa41abc7a9e42d058254d366">  296</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <span class="keywordtype">unsigned</span> k = Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>();</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>     <span class="keywordflow">return</span> k >= <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a1ce61acee6f47476525e00c1d251ba5d">MinPostStmtKind</a> && k <= <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a6dc7d8d707e824aa06d6fcc5031d7fc4">MaxPostStmtKind</a>;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   }</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> };</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> <span class="comment">// PostCondition represents the post program point of a branch condition.</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno"><a class="code" href="classclang_1_1PostCondition.html">  304</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PostCondition.html">PostCondition</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a> {</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00306"></a><span class="lineno"><a class="code" href="classclang_1_1PostCondition.html#abd214c41e4151ec11d5134ddd67dcd47">  306</a></span>   <a class="code" href="classclang_1_1PostCondition.html">PostCondition</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>                 <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     : <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>(S, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a5bc0fae7181abe6dab75a60c6be32fed">PostConditionKind</a>, L, tag) {}</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00311"></a><span class="lineno"><a class="code" href="classclang_1_1PostCondition.html#a2a185af6aa41abc7a9e42d058254d366">  311</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <a class="code" href="classclang_1_1PostCondition.html">PostCondition</a>() {}</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a5bc0fae7181abe6dab75a60c6be32fed">PostConditionKind</a>;</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> };</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_1LocationCheck.html">  318</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1LocationCheck.html">LocationCheck</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a> {</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="code" href="classclang_1_1LocationCheck.html#ab3704657624453ed3b68ef8fe3cadcbe">  320</a></span>   <a class="code" href="classclang_1_1LocationCheck.html#ab3704657624453ed3b68ef8fe3cadcbe">LocationCheck</a>() {}</div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="code" href="classclang_1_1LocationCheck.html#ae3eb55e1b683f0829f5d37f606331d6c">  321</a></span>   <a class="code" href="classclang_1_1LocationCheck.html#ab3704657624453ed3b68ef8fe3cadcbe">LocationCheck</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>                 <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">ProgramPoint::Kind</a> K, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag)</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, K, L, tag) {}</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00326"></a><span class="lineno"><a class="code" href="classclang_1_1LocationCheck.html#a2a185af6aa41abc7a9e42d058254d366">  326</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &location) {</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     <span class="keywordtype">unsigned</span> k = location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>();</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>     <span class="keywordflow">return</span> k == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a165179b7fd6a612e087ae2b915cee4b5">PreLoadKind</a> || k == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad7d47c80acbd00dceb9d5ea71cc84193">PreStoreKind</a>;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   }</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> };</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   </div>
+<div class="line"><a name="l00333"></a><span class="lineno"><a class="code" href="classclang_1_1PreLoad.html">  333</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PreLoad.html">PreLoad</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1LocationCheck.html">LocationCheck</a> {</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00335"></a><span class="lineno"><a class="code" href="classclang_1_1PreLoad.html#a8c3a733cae6bcd9b74cb662f3a8765c0">  335</a></span>   <a class="code" href="classclang_1_1PreLoad.html">PreLoad</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>           <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>     : <a class="code" href="classclang_1_1LocationCheck.html">LocationCheck</a>(S, L, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a165179b7fd6a612e087ae2b915cee4b5">PreLoadKind</a>, tag) {}</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">private</span>:</div>
+<div class="line"><a name="l00340"></a><span class="lineno"><a class="code" href="classclang_1_1PreLoad.html#a2a185af6aa41abc7a9e42d058254d366">  340</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   <a class="code" href="classclang_1_1PreLoad.html">PreLoad</a>() {}</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &location) {</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>     <span class="keywordflow">return</span> location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a165179b7fd6a612e087ae2b915cee4b5">PreLoadKind</a>;</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> };</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="code" href="classclang_1_1PreStore.html">  347</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PreStore.html">PreStore</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1LocationCheck.html">LocationCheck</a> {</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00349"></a><span class="lineno"><a class="code" href="classclang_1_1PreStore.html#acd96f72ea1b03b8cefa4b316307c044d">  349</a></span>   <a class="code" href="classclang_1_1PreStore.html">PreStore</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>            <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   : <a class="code" href="classclang_1_1LocationCheck.html">LocationCheck</a>(S, L, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad7d47c80acbd00dceb9d5ea71cc84193">PreStoreKind</a>, tag) {}</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00354"></a><span class="lineno"><a class="code" href="classclang_1_1PreStore.html#a2a185af6aa41abc7a9e42d058254d366">  354</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   <a class="code" href="classclang_1_1PreStore.html">PreStore</a>() {}</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &location) {</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>     <span class="keywordflow">return</span> location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad7d47c80acbd00dceb9d5ea71cc84193">PreStoreKind</a>;</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> };</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="code" href="classclang_1_1PostLoad.html">  361</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PostLoad.html">PostLoad</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a> {</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00363"></a><span class="lineno"><a class="code" href="classclang_1_1PostLoad.html#a9944b2aa23aff75f3e00277a0918b30a">  363</a></span>   <a class="code" href="classclang_1_1PostLoad.html">PostLoad</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>            <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     : <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>(S, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a0f87bd2e84c2a12bd9672e8f7980029b">PostLoadKind</a>, L, tag) {}</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="code" href="classclang_1_1PostLoad.html#a2a185af6aa41abc7a9e42d058254d366">  368</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   <a class="code" href="classclang_1_1PostLoad.html">PostLoad</a>() {}</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a0f87bd2e84c2a12bd9672e8f7980029b">PostLoadKind</a>;</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> };</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> <span class="comment"></span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> <span class="comment">/// \brief Represents a program point after a store evaluation.</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="code" href="classclang_1_1PostStore.html">  376</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1PostStore.html" title="Represents a program point after a store evaluation.">PostStore</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a> {</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="comment">  /// Construct the post store point.</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> <span class="comment">  /// \param Loc can be used to store the information about the location </span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="comment">  /// used in the form it was uttered in the code.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="code" href="classclang_1_1PostStore.html#a7b5fef1cfd534abbb07467c55430fa9c">  381</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1PostStore.html" title="Represents a program point after a store evaluation.">PostStore</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <span class="keywordtype">void</span> *Loc,</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>             <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>     : <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>(S, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ab841c18d54cf53d53ba6931edd72906d">PostStoreKind</a>, L, tag) {</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>     assert(<a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>() == 0);</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>     <a class="code" href="classclang_1_1ProgramPoint.html#a64a6619b4bbafce1e5e1d0b7d8e5e36d">setData2</a>(Loc);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <span class="comment">  /// \brief Returns the information about the location used in the store,</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> <span class="comment">  /// how it was uttered in the code.</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno"><a class="code" href="classclang_1_1PostStore.html#a15c9f4908cff5cc403e31f51882c5a66">  390</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1PostStore.html#a15c9f4908cff5cc403e31f51882c5a66" title="Returns the information about the location used in the store, how it was uttered in the code...">getLocationValue</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>();</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> </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00395"></a><span class="lineno"><a class="code" href="classclang_1_1PostStore.html#a2a185af6aa41abc7a9e42d058254d366">  395</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   <a class="code" href="classclang_1_1PostStore.html" title="Represents a program point after a store evaluation.">PostStore</a>() {}</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ab841c18d54cf53d53ba6931edd72906d">PostStoreKind</a>;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>   }</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> };</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno"><a class="code" href="classclang_1_1PostLValue.html">  402</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PostLValue.html">PostLValue</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a> {</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="code" href="classclang_1_1PostLValue.html#a14d50350049b42c5c52e3360ed12d40d">  404</a></span>   <a class="code" href="classclang_1_1PostLValue.html">PostLValue</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>              <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>     : <a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>(S, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad8165f3fe9b4fb0eed76102298803179">PostLValueKind</a>, L, tag) {}</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00409"></a><span class="lineno"><a class="code" href="classclang_1_1PostLValue.html#a2a185af6aa41abc7a9e42d058254d366">  409</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   <a class="code" href="classclang_1_1PostLValue.html">PostLValue</a>() {}</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6ad8165f3fe9b4fb0eed76102298803179">PostLValueKind</a>;</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="comment"></span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> <span class="comment">/// Represents a point after we ran remove dead bindings BEFORE</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> <span class="comment">/// processing the given statement.</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html">  418</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html">PreStmtPurgeDeadSymbols</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a> {</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html#a6952167c0270de81bed18d6e1d67aeba">  420</a></span>   <a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html">PreStmtPurgeDeadSymbols</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>                        <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, 0, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a84c956e6672f6e3b9ecd984b2b929a45">PreStmtPurgeDeadSymbolsKind</a>, L, tag) { }</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="keyword">private</span>:</div>
+<div class="line"><a name="l00425"></a><span class="lineno"><a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html#a2a185af6aa41abc7a9e42d058254d366">  425</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <a class="code" href="classclang_1_1PreStmtPurgeDeadSymbols.html">PreStmtPurgeDeadSymbols</a>() {}</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a84c956e6672f6e3b9ecd984b2b929a45">PreStmtPurgeDeadSymbolsKind</a>;</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> };</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> <span class="comment"></span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> <span class="comment">/// Represents a point after we ran remove dead bindings AFTER</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="comment">/// processing the  given statement.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html">  434</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html">PostStmtPurgeDeadSymbols</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a> {</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html#a4c423af112d559872e816c14a10f3580">  436</a></span>   <a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html">PostStmtPurgeDeadSymbols</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L,</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>                        <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>     : <a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>(S, 0, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9b9731173743c930bcc8bc2aeb997257">PostStmtPurgeDeadSymbolsKind</a>, L, tag) { }</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="keyword">private</span>:</div>
+<div class="line"><a name="l00441"></a><span class="lineno"><a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html#a2a185af6aa41abc7a9e42d058254d366">  441</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <a class="code" href="classclang_1_1PostStmtPurgeDeadSymbols.html">PostStmtPurgeDeadSymbols</a>() {}</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a9b9731173743c930bcc8bc2aeb997257">PostStmtPurgeDeadSymbolsKind</a>;</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> </div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEdge.html">  448</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00450"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEdge.html#a97c695f861b3aa4a3262fc131d2a6662">  450</a></span>   <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B1, <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *B2, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L)</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(B1, B2, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a95ba271ee42e845a8cdd9ab62200bd54">BlockEdgeKind</a>, L) {</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>     assert(B1 && <span class="stringliteral">"BlockEdge: source block must be non-null"</span>);</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     assert(B2 && <span class="stringliteral">"BlockEdge: destination block must be non-null"</span>);    </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> </div>
+<div class="line"><a name="l00456"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEdge.html#a557dbb981982f4ea94881e5b441b87dc">  456</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1BlockEdge.html#a557dbb981982f4ea94881e5b441b87dc">getSrc</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a>*<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>   }</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEdge.html#a7d9fd91c4755e13f66c1b24d80202c59">  460</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *<a class="code" href="classclang_1_1BlockEdge.html#a7d9fd91c4755e13f66c1b24d80202c59">getDst</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a>*<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>());</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> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="code" href="classclang_1_1BlockEdge.html#a2a185af6aa41abc7a9e42d058254d366">  465</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   <a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>() {}</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a95ba271ee42e845a8cdd9ab62200bd54">BlockEdgeKind</a>;</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> };</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno"><a class="code" href="classclang_1_1PostInitializer.html">  472</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PostInitializer.html">PostInitializer</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> <span class="comment">  /// \brief Construct a PostInitializer point that represents a location after</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> <span class="comment">  ///   CXXCtorInitializer expression evaluation.</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> <span class="comment">  /// \param I The initializer.</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> <span class="comment">  /// \param Loc The location of the field being initialized.</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno"><a class="code" href="classclang_1_1PostInitializer.html#a2674e1df47b8d575e53ad7b4d129e28d">  479</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1PostInitializer.html">PostInitializer</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXCtorInitializer.html" title="Represents a C++ base or member initializer.">CXXCtorInitializer</a> *I,</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>                   <span class="keyword">const</span> <span class="keywordtype">void</span> *Loc,</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>                   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(I, Loc, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a19484fcb15714c16fdfdbe81a1eaa24a">PostInitializerKind</a>, L) {}</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno"><a class="code" href="classclang_1_1PostInitializer.html#adad95a2d5b158c108556a82211414003">  484</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXCtorInitializer.html" title="Represents a C++ base or member initializer.">CXXCtorInitializer</a> *<a class="code" href="classclang_1_1PostInitializer.html#adad95a2d5b158c108556a82211414003">getInitializer</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1CXXCtorInitializer.html" title="Represents a C++ base or member initializer.">CXXCtorInitializer</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</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> <span class="comment"></span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> <span class="comment">  /// \brief Returns the location of the field.</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno"><a class="code" href="classclang_1_1PostInitializer.html#aa7424fe8e5c8d0e401b8d7bec7483396">  489</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1PostInitializer.html#aa7424fe8e5c8d0e401b8d7bec7483396" title="Returns the location of the field.">getLocationValue</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>();</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   }</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="classclang_1_1PostInitializer.html#a2a185af6aa41abc7a9e42d058254d366">  494</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>   <a class="code" href="classclang_1_1PostInitializer.html">PostInitializer</a>() {}</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a19484fcb15714c16fdfdbe81a1eaa24a">PostInitializerKind</a>;</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>   }</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> };</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">/// Represents an implicit call event.</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> <span class="comment">/// The nearest statement is provided for diagnostic purposes.</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno"><a class="code" href="classclang_1_1ImplicitCallPoint.html">  504</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ImplicitCallPoint.html">ImplicitCallPoint</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00506"></a><span class="lineno"><a class="code" href="classclang_1_1ImplicitCallPoint.html#a93180e57eb02748b9344d10c59f7ccd7">  506</a></span>   <a class="code" href="classclang_1_1ImplicitCallPoint.html#af63c1f4e32b47f3adb5443ac89f54619">ImplicitCallPoint</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6">Kind</a> K,</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>                     <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *Tag)</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(Loc.getPtrEncoding(), D, K, L, Tag) {}</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> </div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="code" href="classclang_1_1ImplicitCallPoint.html#ad65b5f7da3ad3c9ecf328436509becb0">  510</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *<a class="code" href="classclang_1_1ImplicitCallPoint.html#ad65b5f7da3ad3c9ecf328436509becb0">getDecl</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1Decl.html">Decl</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>()); }</div>
+<div class="line"><a name="l00511"></a><span class="lineno"><a class="code" href="classclang_1_1ImplicitCallPoint.html#a0d7be661cff6b574f3317f3429bfed3d">  511</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_1ImplicitCallPoint.html#a0d7be661cff6b574f3317f3429bfed3d">getLocation</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1SourceLocation.html#ae523912c613e94b328e339908aa7792a" title="Turn a pointer encoding of a SourceLocation object back into a real SourceLocation.">SourceLocation::getFromPtrEncoding</a>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>   }</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00516"></a><span class="lineno"><a class="code" href="classclang_1_1ImplicitCallPoint.html#af63c1f4e32b47f3adb5443ac89f54619">  516</a></span>   <a class="code" href="classclang_1_1ImplicitCallPoint.html#af63c1f4e32b47f3adb5443ac89f54619">ImplicitCallPoint</a>() {}</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00518"></a><span class="lineno"><a class="code" href="classclang_1_1ImplicitCallPoint.html#a2a185af6aa41abc7a9e42d058254d366">  518</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() >= <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a8a81c3b8df9017ae714dc7acc28b1d69">MinImplicitCallKind</a> &&</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>            Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() <= <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6add35217c73d2eb05ce7f4426ae3f3d26">MaxImplicitCallKind</a>;</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">  524</span> <span class="comment"></span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> <span class="comment">/// Represents a program point just before an implicit call event.</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> <span class="comment">/// Explicit calls will appear as PreStmt program points.</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno"><a class="code" href="classclang_1_1PreImplicitCall.html">  528</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1PreImplicitCall.html">PreImplicitCall</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ImplicitCallPoint.html">ImplicitCallPoint</a> {</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="code" href="classclang_1_1PreImplicitCall.html#afacd47c8372dace252dd35dccce138d9">  530</a></span>   <a class="code" href="classclang_1_1PreImplicitCall.html">PreImplicitCall</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>                   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *Tag = 0)</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     : <a class="code" href="classclang_1_1ImplicitCallPoint.html">ImplicitCallPoint</a>(D, Loc, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6accdfef48a2868e8c378f5b55adad2066">PreImplicitCallKind</a>, L, Tag) {}</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00535"></a><span class="lineno"><a class="code" href="classclang_1_1PreImplicitCall.html#a2a185af6aa41abc7a9e42d058254d366">  535</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>   <a class="code" href="classclang_1_1PreImplicitCall.html">PreImplicitCall</a>() {}</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6accdfef48a2868e8c378f5b55adad2066">PreImplicitCallKind</a>;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   }</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> };</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> <span class="comment"></span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> <span class="comment">/// Represents a program point just after an implicit call event.</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> <span class="comment">/// Explicit calls will appear as PostStmt program points.</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno"><a class="code" href="classclang_1_1PostImplicitCall.html">  545</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1PostImplicitCall.html">PostImplicitCall</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ImplicitCallPoint.html">ImplicitCallPoint</a> {</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00547"></a><span class="lineno"><a class="code" href="classclang_1_1PostImplicitCall.html#a596457af5401f1316f3c92155c660d9c">  547</a></span>   <a class="code" href="classclang_1_1PostImplicitCall.html">PostImplicitCall</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc,</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>                    <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *Tag = 0)</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>     : <a class="code" href="classclang_1_1ImplicitCallPoint.html">ImplicitCallPoint</a>(D, Loc, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a34a09ff52d62e8c8a472ed2f948f43ec">PostImplicitCallKind</a>, L, Tag) {}</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00552"></a><span class="lineno"><a class="code" href="classclang_1_1PostImplicitCall.html#a2a185af6aa41abc7a9e42d058254d366">  552</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   <a class="code" href="classclang_1_1PostImplicitCall.html">PostImplicitCall</a>() {}</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a34a09ff52d62e8c8a472ed2f948f43ec">PostImplicitCallKind</a>;</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>   }</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> };</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> <span class="comment"></span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> <span class="comment">/// Represents a point when we begin processing an inlined call.</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> <span class="comment">/// CallEnter uses the caller's location context.</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno"><a class="code" href="classclang_1_1CallEnter.html">  561</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CallEnter.html">CallEnter</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00563"></a><span class="lineno"><a class="code" href="classclang_1_1CallEnter.html#a440bb8de6d990d0e1f382592defe2cbb">  563</a></span>   <a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#afb4ea98cfdb46fdfbea24fd10b8926e7" title="Matches statements.">stmt</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *calleeCtx, </div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>             <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *callerCtx)</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(stmt, calleeCtx, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6aadf9132d5c5bec9fb3e8f3ac35a5936e">CallEnterKind</a>, callerCtx, 0) {}</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_1CallEnter.html#a55f68425752b7f90e719f1b8b2055197">  567</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="classclang_1_1CallEnter.html#a55f68425752b7f90e719f1b8b2055197">getCallExpr</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   }</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span> </div>
+<div class="line"><a name="l00571"></a><span class="lineno"><a class="code" href="classclang_1_1CallEnter.html#ae47175c66497fba3695de9ef31f3c561">  571</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *<a class="code" href="classclang_1_1CallEnter.html#ae47175c66497fba3695de9ef31f3c561">getCalleeContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#ab5bf2b9f9954e51bf18566886a91ece9">getData2</a>());</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>   }</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> </div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00576"></a><span class="lineno"><a class="code" href="classclang_1_1CallEnter.html#a2a185af6aa41abc7a9e42d058254d366">  576</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>() {}</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6aadf9132d5c5bec9fb3e8f3ac35a5936e">CallEnterKind</a>;</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">  582</span> <span class="comment"></span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> <span class="comment">/// Represents a point when we start the call exit sequence (for inlined call).</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> <span class="comment">/// The call exit is simulated with a sequence of nodes, which occur between</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> <span class="comment">/// CallExitBegin and CallExitEnd. The following operations occur between the</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> <span class="comment">/// two program points:</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> <span class="comment">/// - CallExitBegin</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> <span class="comment">/// - Bind the return value</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span> <span class="comment">/// - Run Remove dead bindings (to clean up the dead symbols from the callee).</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> <span class="comment">/// - CallExitEnd</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno"><a class="code" href="classclang_1_1CallExitBegin.html">  592</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CallExitBegin.html">CallExitBegin</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="comment">// CallExitBegin uses the callee's location context.</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno"><a class="code" href="classclang_1_1CallExitBegin.html#a7b150e0fdacb1cb56ffec099603adaf3">  595</a></span>   <a class="code" href="classclang_1_1CallExitBegin.html">CallExitBegin</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *L)</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(0, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af63b514941bc148432b0fa0550505a8b">CallExitBeginKind</a>, L, 0) {}</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00599"></a><span class="lineno"><a class="code" href="classclang_1_1CallExitBegin.html#a2a185af6aa41abc7a9e42d058254d366">  599</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>   <a class="code" href="classclang_1_1CallExitBegin.html">CallExitBegin</a>() {}</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6af63b514941bc148432b0fa0550505a8b">CallExitBeginKind</a>;</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> };</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">/// Represents a point when we finish the call exit sequence (for inlined call).</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span> <span class="comment">/// \sa CallExitBegin</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno"><a class="code" href="classclang_1_1CallExitEnd.html">  608</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>   <span class="comment">// CallExitEnd uses the caller's location context.</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno"><a class="code" href="classclang_1_1CallExitEnd.html#a30cbb42329f9976bb970b54aae4ccd83">  611</a></span>   <a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx,</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>               <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *CallerCtx)</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(CalleeCtx, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a7ff6ff48d65951f7b77ffd21a4c8c106">CallExitEndKind</a>, CallerCtx, 0) {}</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_1CallExitEnd.html#a749388e01d8522555a6e2abc74963b5c">  615</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *<a class="code" href="classclang_1_1CallExitEnd.html#a749388e01d8522555a6e2abc74963b5c">getCalleeContext</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *<span class="keyword">></span>(<a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>());</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>   }</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00620"></a><span class="lineno"><a class="code" href="classclang_1_1CallExitEnd.html#a2a185af6aa41abc7a9e42d058254d366">  620</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   <a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a>() {}</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a7ff6ff48d65951f7b77ffd21a4c8c106">CallExitEndKind</a>;</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>   }</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> };</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span> <span class="comment"></span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span> <span class="comment">/// This is a meta program point, which should be skipped by all the diagnostic</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span> <span class="comment">/// reasoning etc.</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno"><a class="code" href="classclang_1_1EpsilonPoint.html">  629</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1EpsilonPoint.html">EpsilonPoint</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> {</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00631"></a><span class="lineno"><a class="code" href="classclang_1_1EpsilonPoint.html#a6f5e301d656403d7656dd3ce4e3f57a1">  631</a></span>   <a class="code" href="classclang_1_1EpsilonPoint.html">EpsilonPoint</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *L, <span class="keyword">const</span> <span class="keywordtype">void</span> *Data1,</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>                <span class="keyword">const</span> <span class="keywordtype">void</span> *Data2 = 0, <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = 0)</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>     : <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>(Data1, Data2, <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a17e2a293b1abf7fddc5f22c9fa9bac08">EpsilonKind</a>, L, tag) {}</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span> </div>
+<div class="line"><a name="l00635"></a><span class="lineno"><a class="code" href="classclang_1_1EpsilonPoint.html#a8cfd12c3f93d94b9fe6f3978db8aceaf">  635</a></span>   <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1EpsilonPoint.html#a8cfd12c3f93d94b9fe6f3978db8aceaf">getData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ProgramPoint.html#a97c5720770548f1a6a9b10782bf29ad6">getData1</a>(); }</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="keyword">private</span>:</div>
+<div class="line"><a name="l00638"></a><span class="lineno"><a class="code" href="classclang_1_1EpsilonPoint.html#a2a185af6aa41abc7a9e42d058254d366">  638</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a>;</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   <a class="code" href="classclang_1_1EpsilonPoint.html">EpsilonPoint</a>() {}</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isKind(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &Location) {</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>     <span class="keywordflow">return</span> Location.<a class="code" href="classclang_1_1ProgramPoint.html#ae74d8102a772a5f85054debc02618d7f">getKind</a>() == <a class="code" href="classclang_1_1ProgramPoint.html#aa4bd73e248c6fca35aad0b2c1fb7e8c6a17e2a293b1abf7fddc5f22c9fa9bac08">EpsilonKind</a>;</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>   }</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> };</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> <span class="comment"></span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span> <span class="comment">/// ProgramPoints can be "tagged" as representing points specific to a given</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span> <span class="comment">/// analysis entity.  Tags are abstract annotations, with an associated</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span> <span class="comment">/// description and potentially other information.</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPointTag.html">  648</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> {</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00650"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPointTag.html#a5ca62d9cee7474535fb761a056634f50">  650</a></span>   <a class="code" href="classclang_1_1ProgramPointTag.html#a5ca62d9cee7474535fb761a056634f50">ProgramPointTag</a>(<span class="keywordtype">void</span> *tagKind = 0) : TagKind(tagKind) {}</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ProgramPointTag.html#aec480b83126b155b766334d1a76bffe7">~ProgramPointTag</a>();</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>   <span class="keyword">virtual</span> StringRef <a class="code" href="classclang_1_1ProgramPointTag.html#ac3b1d6588c6bcb2565d474f68c5455ec">getTagDescription</a>() <span class="keyword">const</span> = 0;    </div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> </div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span> <span class="keyword">protected</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span> <span class="comment">  /// Used to implement 'isKind' in subclasses.</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno"><a class="code" href="classclang_1_1ProgramPointTag.html#a1c7d5ef62a2cc2f82a50a4a5cb5db6fe">  656</a></span> <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1ProgramPointTag.html#a1c7d5ef62a2cc2f82a50a4a5cb5db6fe" title="Used to implement 'isKind' in subclasses.">getTagKind</a>() { <span class="keywordflow">return</span> TagKind; }</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>   </div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>   <span class="keyword">const</span> <span class="keywordtype">void</span> *TagKind;</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span> };</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>   </div>
+<div class="line"><a name="l00662"></a><span class="lineno"><a class="code" href="classclang_1_1SimpleProgramPointTag.html">  662</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1SimpleProgramPointTag.html">SimpleProgramPointTag</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> {</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>   std::string desc;</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <a class="code" href="classclang_1_1SimpleProgramPointTag.html#a16eb6689445b9f410ba64566dbe08f4f">SimpleProgramPointTag</a>(StringRef description);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   StringRef <a class="code" href="classclang_1_1SimpleProgramPointTag.html#a0a568ced446b25e6c8365cb885b1a966">getTagDescription</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> };</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span> </div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span> </div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> </div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span> <span class="keyword">namespace </span>llvm { <span class="comment">// Traits specialization for DenseMap</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span> </div>
+<div class="line"><a name="l00674"></a><span class="lineno"><a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html">  674</a></span> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><clang::ProgramPoint> {</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span> </div>
+<div class="line"><a name="l00676"></a><span class="lineno"><a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#ad3195586f1d7dfbce24f1c9bb5148361">  676</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ProgramPoint.html">clang::ProgramPoint</a> <a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#ad3195586f1d7dfbce24f1c9bb5148361">getEmptyKey</a>() {</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>   uintptr_t x =</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>    <span class="keyword">reinterpret_cast<</span>uintptr_t<span class="keyword">></span>(<a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo<void*>::getEmptyKey</a>()) & ~0x7;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockEntrance.html">clang::BlockEntrance</a>(reinterpret_cast<clang::CFGBlock*>(x), 0);</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> }</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span> </div>
+<div class="line"><a name="l00682"></a><span class="lineno"><a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#a171f8484657621158255ad7ef0544a94">  682</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ProgramPoint.html">clang::ProgramPoint</a> <a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#a171f8484657621158255ad7ef0544a94">getTombstoneKey</a>() {</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   uintptr_t x =</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>    <span class="keyword">reinterpret_cast<</span>uintptr_t<span class="keyword">></span>(<a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo<void*>::getTombstoneKey</a>()) & ~0x7;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1BlockEntrance.html">clang::BlockEntrance</a>(reinterpret_cast<clang::CFGBlock*>(x), 0);</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> }</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno"><a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#a7512273ef4febd0704b957a3cc58a104">  688</a></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#a7512273ef4febd0704b957a3cc58a104">getHashValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">clang::ProgramPoint</a> &Loc) {</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   <span class="keywordflow">return</span> Loc.<a class="code" href="classclang_1_1ProgramPoint.html#ad4013e73d752f4b2094738f724701893">getHashValue</a>();</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> </div>
+<div class="line"><a name="l00692"></a><span class="lineno"><a class="code" href="structllvm_1_1DenseMapInfo_3_01clang_1_1ProgramPoint_01_4.html#a10a51d3b553ca445851080040c15a384">  692</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> isEqual(<span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">clang::ProgramPoint</a> &L,</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">clang::ProgramPoint</a> &R) {</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>   <span class="keywordflow">return</span> L == R;</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> </div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span> };</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   </div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> <span class="keyword">template</span> <></div>
+<div class="line"><a name="l00700"></a><span class="lineno"><a class="code" href="structllvm_1_1isPodLike_3_01clang_1_1ProgramPoint_01_4.html#a4fa5940c652d8fd46e2a6a9fcc70c15b">  700</a></span> <span class="keyword">struct </span><a class="code" href="structllvm_1_1isPodLike.html">isPodLike</a><clang::ProgramPoint> { <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> value = <span class="keyword">true</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">  702</span> } <span class="comment">// end namespace llvm</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span> </div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:52 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/ProgramStateTrait_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramStateTrait_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramStateTrait_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramStateTrait_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,322 @@
+<!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: ProgramStateTrait.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">ProgramStateTrait.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramStateTrait_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">//ProgramStateTrait.h - Partial implementations of ProgramStateTrait -*- C++ -*-</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file defines partial implementations of template specializations of</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  the class ProgramStateTrait<>.  ProgramStateTrait<> is used by ProgramState </span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//  to implement set/get methods for manipulating a ProgramState's</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//  generic data map.</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> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> </div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#ifndef LLVM_CLANG_GR_PROGRAMSTATETRAIT_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_GR_PROGRAMSTATETRAIT_H</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/Support/DataTypes.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   <span class="keyword">class </span>BumpPtrAllocator;</div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="classllvm_1_1ImmutableMap.html">   25</a></span>   <span class="keyword">template</span> <<span class="keyword">typename</span> K, <span class="keyword">typename</span> D, <span class="keyword">typename</span> I> <span class="keyword">class </span><a class="code" href="classllvm_1_1ImmutableMap.html">ImmutableMap</a>;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="classllvm_1_1ImmutableSet.html">   26</a></span>   <span class="keyword">template</span> <<span class="keyword">typename</span> K, <span class="keyword">typename</span> I> <span class="keyword">class </span><a class="code" href="classllvm_1_1ImmutableSet.html">ImmutableSet</a>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="classllvm_1_1ImmutableList.html">   27</a></span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T> <span class="keyword">class </span><a class="code" href="classllvm_1_1ImmutableList.html">ImmutableList</a>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="classllvm_1_1ImmutableListImpl.html">   28</a></span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T> <span class="keyword">class </span><a class="code" href="classllvm_1_1ImmutableListImpl.html">ImmutableListImpl</a>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> }</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T> <span class="keyword">struct </span>ProgramStatePartialTrait;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment"></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">  /// Declares a program state trait for type \p Type called \p Name, and</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">  /// introduce a typedef named \c NameTy.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment">  /// The macro should not be used inside namespaces, or for traits that must</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment">  /// be accessible from more than one translation unit.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="ProgramStateTrait_8h.html#ae4cddb54383cd702a045d7c61b009147">   40</a></span> <span class="comment"></span><span class="preprocessor">  #define REGISTER_TRAIT_WITH_PROGRAMSTATE(Name, Type) \</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="preprocessor">    namespace { \</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="preprocessor">      class Name {}; \</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="preprocessor">      typedef Type Name ## Ty; \</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="preprocessor">    } \</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="preprocessor">    namespace clang { \</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="preprocessor">    namespace ento { \</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="preprocessor">      template <> \</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="preprocessor">      struct ProgramStateTrait<Name> \</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="preprocessor">        : public ProgramStatePartialTrait<Name ## Ty> { \</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="preprocessor">        static void *GDMIndex() { static int Index; return &Index; } \</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="preprocessor">      }; \</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="preprocessor">    } \</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="preprocessor">    }</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   <span class="comment">// Partial-specialization for ImmutableMap.</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">template</span> <<span class="keyword">typename</span> Key, <span class="keyword">typename</span> Data, <span class="keyword">typename</span> Info></div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html">   59</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a>< llvm::ImmutableMap<Key,Data,Info> > {</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a8e838c5c78ca661fc4fbfeadaaa24766">   60</a></span>     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ImmutableMap.html">llvm::ImmutableMap<Key,Data,Info></a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a8e838c5c78ca661fc4fbfeadaaa24766">data_type</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a47f783dc4a5381f59d23433f037897e7">   61</a></span>     <span class="keyword">typedef</span> <span class="keyword">typename</span> data_type::Factory&      <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a47f783dc4a5381f59d23433f037897e7">context_type</a>;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a0d4dcd805f32e152a04f15bc6669afb0">   62</a></span>     <span class="keyword">typedef</span> Key                               <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a0d4dcd805f32e152a04f15bc6669afb0">key_type</a>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#acf8e2c331b668c3827d23453b468c2b5">   63</a></span>     <span class="keyword">typedef</span> Data                              <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#acf8e2c331b668c3827d23453b468c2b5">value_type</a>;</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#aff25295a442c0358a6c39b2a15ec07c6">   64</a></span>     <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#acf8e2c331b668c3827d23453b468c2b5">value_type</a>*                 <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#aff25295a442c0358a6c39b2a15ec07c6">lookup_type</a>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a4d19e834a24b14e701bd312d36d3d912">   66</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a4d19e834a24b14e701bd312d36d3d912">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* p) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>       <span class="keywordflow">return</span> p ? <a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a>((<span class="keyword">typename</span> data_type::TreeTy*) *p) : data_type(0);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     }</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#ad359684f086a78a1415ba78a3cb0758e">   69</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#ad359684f086a78a1415ba78a3cb0758e">MakeVoidPtr</a>(<a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> B) {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>       <span class="keywordflow">return</span> B.getRoot();</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     }</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a7538fe6865ddbf9dfb72116915d33976">   72</a></span>     <span class="keyword">static</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#aff25295a442c0358a6c39b2a15ec07c6">lookup_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a7538fe6865ddbf9dfb72116915d33976">Lookup</a>(<a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> B, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a0d4dcd805f32e152a04f15bc6669afb0">key_type</a> K) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>       <span class="keywordflow">return</span> B.lookup(K);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>     }</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a2327332d00512e90110b1fc8e03cd550">   75</a></span>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a2327332d00512e90110b1fc8e03cd550">Set</a>(<a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> B, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a0d4dcd805f32e152a04f15bc6669afb0">key_type</a> K, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#acf8e2c331b668c3827d23453b468c2b5">value_type</a> E,<a 
 class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a47f783dc4a5381f59d23433f037897e7">context_type</a> F){</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>       <span class="keywordflow">return</span> F.add(B, K, E);</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"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#ac3d6a18df682e98c3c9882ac38a619a8">   79</a></span>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#ac3d6a18df682e98c3c9882ac38a619a8">Remove</a>(<a class="code" href="classllvm_1_1ImmutableMap.html">data_type</a> B, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a0d4dcd805f32e152a04f15bc6669afb0">key_type</a> K, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a47f783dc4a5381f59d23433f037897e7">context_type</a> 
 F) {</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>       <span class="keywordflow">return</span> F.remove(B, K);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a53272e546af7eecb83336ebb6f051320">   83</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a47f783dc4a5381f59d23433f037897e7">context_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a53272e546af7eecb83336ebb6f051320">MakeContext</a>(<span class="keywordtype">void</span> *p) {</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>       <span class="keywordflow">return</span> *((<span class="keyword">typename</span> data_type::Factory*) p);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>     }</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#ace50dcd2b7b8b87de5d7915e714f9715">   87</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#ace50dcd2b7b8b87de5d7915e714f9715">CreateContext</a>(llvm::BumpPtrAllocator& Alloc) {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>       <span class="keywordflow">return</span> <span class="keyword">new</span> <span class="keyword">typename</span> data_type::Factory(Alloc);</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="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a960383bf1e347b22debdb11f56e149e3">   91</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableMap_3_01Key_00_01Data_00_01Info_01_4_01_4.html#a960383bf1e347b22debdb11f56e149e3">DeleteContext</a>(<span class="keywordtype">void</span> *Ctx) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>       <span class="keyword">delete</span> (<span class="keyword">typename</span> data_type::Factory*) Ctx;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     }</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   };</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">  /// Helper for registering a map trait.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment">  /// If the map type were written directly in the invocation of</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">  /// REGISTER_TRAIT_WITH_PROGRAMSTATE, the comma in the template arguments</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// would be treated as a macro argument separator, which is wrong.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">  /// This allows the user to specify a map type in a way that the preprocessor</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">  /// can deal with.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="ProgramStateTrait_8h.html#aeb42fb17cae7e71c993aac0f4d74d2d1">  103</a></span> <span class="comment"></span><span class="preprocessor">  #define CLANG_ENTO_PROGRAMSTATE_MAP(Key, Value) llvm::ImmutableMap<Key, Value></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="comment">// Partial-specialization for ImmutableSet.</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">template</span> <<span class="keyword">typename</span> Key, <span class="keyword">typename</span> Info></div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html">  109</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a>< llvm::ImmutableSet<Key,Info> > {</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#abe61fd135d9f75c28503b02983d5082b">  110</a></span>     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ImmutableSet.html">llvm::ImmutableSet<Key,Info></a>      <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#abe61fd135d9f75c28503b02983d5082b">data_type</a>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a188d7e37ac1ed1fc0a9bb4015ee2c0ef">  111</a></span>     <span class="keyword">typedef</span> <span class="keyword">typename</span> data_type::Factory&      <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a188d7e37ac1ed1fc0a9bb4015ee2c0ef">context_type</a>;</div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#ae77124d0db2038d352c834d538961031">  112</a></span>     <span class="keyword">typedef</span> Key                               <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#ae77124d0db2038d352c834d538961031">key_type</a>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a2360f419e5b3cc90c92f87c08629d8cc">  114</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a2360f419e5b3cc90c92f87c08629d8cc">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* p) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>       <span class="keywordflow">return</span> p ? <a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a>((<span class="keyword">typename</span> data_type::TreeTy*) *p) : data_type(0);</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> </div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a37785d50bb8c709e653db34f5bf61811">  118</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a37785d50bb8c709e653db34f5bf61811">MakeVoidPtr</a>(<a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> B) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>       <span class="keywordflow">return</span> B.getRoot();</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> </div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a44df126d89275053c29d6db2b9608399">  122</a></span>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a44df126d89275053c29d6db2b9608399">Add</a>(<a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> B, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#ae77124d0db2038d352c834d538961031">key_type</a> K, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a188d7e37ac1ed1fc0a9bb4015ee2c0ef">context_type</a> F) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       <span class="keywordflow">return</span> F.add(B, K);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     }</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a36df390206a547f5bee7e27c171d8375">  126</a></span>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a36df390206a547f5bee7e27c171d8375">Remove</a>(<a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> B, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#ae77124d0db2038d352c834d538961031">key_type</a> K, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a188d7e37ac1ed1fc0a9bb4015ee2c0ef">context_type</a> F) {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>       <span class="keywordflow">return</span> F.remove(B, K);</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> </div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a6fdf141fe502e2c953b5f207e3abf314">  130</a></span>     <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a6fdf141fe502e2c953b5f207e3abf314">Contains</a>(<a class="code" href="classllvm_1_1ImmutableSet.html">data_type</a> B, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#ae77124d0db2038d352c834d538961031">key_type</a> K) {</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       <span class="keywordflow">return</span> B.contains(K);</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> </div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a69bbb171cd86dfbdce221f1993288065">  134</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a188d7e37ac1ed1fc0a9bb4015ee2c0ef">context_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a69bbb171cd86dfbdce221f1993288065">MakeContext</a>(<span class="keywordtype">void</span> *p) {</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>       <span class="keywordflow">return</span> *((<span class="keyword">typename</span> data_type::Factory*) p);</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"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a53831f0d3d20905ef0f6840adab3bbd0">  138</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a53831f0d3d20905ef0f6840adab3bbd0">CreateContext</a>(llvm::BumpPtrAllocator& Alloc) {</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>       <span class="keywordflow">return</span> <span class="keyword">new</span> <span class="keyword">typename</span> data_type::Factory(Alloc);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     }</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a4d2a2875c463f50c4201d24111780db9">  142</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableSet_3_01Key_00_01Info_01_4_01_4.html#a4d2a2875c463f50c4201d24111780db9">DeleteContext</a>(<span class="keywordtype">void</span> *Ctx) {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>       <span class="keyword">delete</span> (<span class="keyword">typename</span> data_type::Factory*) Ctx;</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>   };</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   <span class="comment">// Partial-specialization for ImmutableList.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html">  151</a></span>   <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a>< llvm::ImmutableList<T> > {</div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a2cc7422f83cf67bb2a9f3b11985194a5">  152</a></span>     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ImmutableList.html">llvm::ImmutableList<T></a>            <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a2cc7422f83cf67bb2a9f3b11985194a5">data_type</a>;</div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#addde89f729ebc864c5dd9f095f84d7ed">  153</a></span>     <span class="keyword">typedef</span> T                                 <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#addde89f729ebc864c5dd9f095f84d7ed">key_type</a>;</div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#abfcbf976c1d98d1f8fc5bdbee7bdcdc1">  154</a></span>     <span class="keyword">typedef</span> <span class="keyword">typename</span> data_type::Factory&      <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#abfcbf976c1d98d1f8fc5bdbee7bdcdc1">context_type</a>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a30d945a1ba66ff6b244842c8a43b45e9">  156</a></span>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1ImmutableList.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a30d945a1ba66ff6b244842c8a43b45e9">Add</a>(<a class="code" href="classllvm_1_1ImmutableList.html">data_type</a> L, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#addde89f729ebc864c5dd9f095f84d7ed">key_type</a> K, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#abfcbf976c1d98d1f8fc5bdbee7bdcdc1">context_type</a> F) {</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       <span class="keywordflow">return</span> F.add(K, L);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>     }</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a74b4b1871e4fcb356317d6fabd65a53f">  160</a></span>     <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a74b4b1871e4fcb356317d6fabd65a53f">Contains</a>(<a class="code" href="classllvm_1_1ImmutableList.html">data_type</a> L, <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#addde89f729ebc864c5dd9f095f84d7ed">key_type</a> K) {</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>       <span class="keywordflow">return</span> L.contains(K);</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"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#abad0b62c84b8b51a23add49ffa1b25ee">  164</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1ImmutableList.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#abad0b62c84b8b51a23add49ffa1b25ee">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* p) {</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>       <span class="keywordflow">return</span> p ? <a class="code" href="classllvm_1_1ImmutableList.html">data_type</a>((<span class="keyword">const</span> <a class="code" href="classllvm_1_1ImmutableListImpl.html">llvm::ImmutableListImpl<T></a>*) *p)</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>                : data_type(0);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a6410bc821da958efc813bd296bdcf833">  169</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a6410bc821da958efc813bd296bdcf833">MakeVoidPtr</a>(<a class="code" href="classllvm_1_1ImmutableList.html">data_type</a> D) {</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>       <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><a class="code" href="classllvm_1_1ImmutableListImpl.html">llvm::ImmutableListImpl<T></a> *<span class="keyword">></span>(D.getInternalPointer());</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     }</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a6e7a4794932cb4927e79172417c65868">  173</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#abfcbf976c1d98d1f8fc5bdbee7bdcdc1">context_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a6e7a4794932cb4927e79172417c65868">MakeContext</a>(<span class="keywordtype">void</span> *p) {</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>       <span class="keywordflow">return</span> *((<span class="keyword">typename</span> data_type::Factory*) p);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     }</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a1e6b243f4559259806a1f55e8b7c9e52">  177</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#a1e6b243f4559259806a1f55e8b7c9e52">CreateContext</a>(llvm::BumpPtrAllocator& Alloc) {</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <span class="keywordflow">return</span> <span class="keyword">new</span> <span class="keyword">typename</span> data_type::Factory(Alloc);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     }</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#ab9db12d25b4a4ee9568cbeb7d3097d04">  181</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01llvm_1_1ImmutableList_3_01T_01_4_01_4.html#ab9db12d25b4a4ee9568cbeb7d3097d04">DeleteContext</a>(<span class="keywordtype">void</span> *Ctx) {</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>       <span class="keyword">delete</span> (<span class="keyword">typename</span> data_type::Factory*) Ctx;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     }</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   };</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </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">// Partial specialization for bool.</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html">  188</a></span>   <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a><<a class="code" href="stdbool_8h.html#abb452686968e48b67397da5f97445f5b">bool</a>> {</div>
+<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#ac79b24f3be25e3d4d1dc4fa05b807078">  189</a></span>     <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#ac79b24f3be25e3d4d1dc4fa05b807078">data_type</a>;</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="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#a6d6ad135e14aec163a09ff9cb0ecf7ab">  191</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#ac79b24f3be25e3d4d1dc4fa05b807078">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#a6d6ad135e14aec163a09ff9cb0ecf7ab">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* p) {</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>       <span class="keywordflow">return</span> p ? (<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#ac79b24f3be25e3d4d1dc4fa05b807078">data_type</a>) (uintptr_t) *p</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>                : <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#ac79b24f3be25e3d4d1dc4fa05b807078">data_type</a>();</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     }</div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#a385c8363d1485de745de877d7608f9a8">  195</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#a385c8363d1485de745de877d7608f9a8">MakeVoidPtr</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01bool_01_4.html#ac79b24f3be25e3d4d1dc4fa05b807078">data_type</a> d) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>       <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*) (uintptr_t) d;</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>   </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   <span class="comment">// Partial specialization for unsigned.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html">  201</a></span>   <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a><<a class="code" href="classunsigned.html">unsigned</a>> {</div>
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html#acd9e51c70d0a075f8b3975b08eee78a0">  202</a></span>     <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html#acd9e51c70d0a075f8b3975b08eee78a0">data_type</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"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html#a97aa5b05bce624a2c946c53cd60b934e">  204</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classunsigned.html">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html#a97aa5b05bce624a2c946c53cd60b934e">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* p) {</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>       <span class="keywordflow">return</span> p ? (<a class="code" href="classunsigned.html">data_type</a>) (uintptr_t) *p</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>                : <a class="code" href="classunsigned.html">data_type</a>();</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>     }</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html#ab1d622bf45a367a2bc0b0a81248a5485">  208</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01unsigned_01_4.html#ab1d622bf45a367a2bc0b0a81248a5485">MakeVoidPtr</a>(<a class="code" href="classunsigned.html">data_type</a> d) {</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>       <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*) (uintptr_t) d;</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> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="comment">// Partial specialization for void*.</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html">  214</a></span>   <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a><void*> {</div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html#a9960f61522b18438f283e9f70c48d151">  215</a></span>     <span class="keyword">typedef</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html#a9960f61522b18438f283e9f70c48d151">data_type</a>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html#a5a7d5c5be17bf0fc80596ff6f7a7416d">  217</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> data_type <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html#a5a7d5c5be17bf0fc80596ff6f7a7416d">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* p) {</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>       <span class="keywordflow">return</span> p ? *p</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>                : data_type();</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     }</div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html#a90bf45ae6b4c975685c4817af19ce2fd">  221</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01void_01_5_01_4.html#a90bf45ae6b4c975685c4817af19ce2fd">MakeVoidPtr</a>(data_type d) {</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>       <span class="keywordflow">return</span> d;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     }</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   };</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="comment">// Partial specialization for const void *.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html">  227</a></span>   <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a><const void *> {</div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html#ab10644d1d67b252806c7ef3fdbaaf031">  228</a></span>     <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html#ab10644d1d67b252806c7ef3fdbaaf031">data_type</a>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html#acecc94bc48c13907f250aec3ea8090c6">  230</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> data_type <a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html#acecc94bc48c13907f250aec3ea8090c6">MakeData</a>(<span class="keywordtype">void</span> * <span class="keyword">const</span> *p) {</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>       <span class="keywordflow">return</span> p ? *p : data_type();</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"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html#ab3c6396823e9a2494d8f26ed8c977daa">  234</a></span>     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait_3_01const_01void_01_5_01_4.html#ab3c6396823e9a2494d8f26ed8c977daa">MakeVoidPtr</a>(data_type d) {</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>       <span class="keywordflow">return</span> <span class="keyword">const_cast<</span><span class="keywordtype">void</span> *<span class="keyword">></span>(d);</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>     }</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   };</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> } <span class="comment">// end ento namespace</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> } <span class="comment">// end clang namespace</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> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 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/ProgramState_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,867 @@
+<!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: ProgramState.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">ProgramState.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramState_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">//= ProgramState.cpp - Path-Sensitive "State" for tracking values --*- C++ -*--=</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">//  This file implements ProgramState and ProgramStateManager.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="ProgramState_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="CFG_8h.html">clang/Analysis/CFG.h</a>"</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="ProgramStateTrait_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="SubEngine_8h.html">clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="TaintManager_8h.html">clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">using namespace </span>ento;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">namespace </span>clang { <span class="keyword">namespace  </span>ento {<span class="comment"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment">/// Increments the number of times this state is referenced.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment"></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ae790c6583b386898d66be65feec527e0">   28</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ento.html#ae790c6583b386898d66be65feec527e0" title="Increments the number of times this state is referenced.">ProgramStateRetain</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state) {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   ++<span class="keyword">const_cast<</span><a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a>*<span class="keyword">></span>(state)->refCount;</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"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">/// Decrement the number of times this state is referenced.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#ae9fbda1f55f904a2aeeef96d2b078c04">   33</a></span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ento.html#ae9fbda1f55f904a2aeeef96d2b078c04" title="Decrement the number of times this state is referenced.">ProgramStateRelease</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state) {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   assert(state->refCount > 0);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *s = <span class="keyword">const_cast<</span><a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a>*<span class="keyword">></span>(state);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keywordflow">if</span> (--s->refCount == 0) {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>     <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &Mgr = s-><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>();</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     Mgr.StateSet.RemoveNode(s);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     s-><a class="code" href="classclang_1_1ento_1_1ProgramState.html#acbdf8fc4b0ea2609edf544ccf53792d6">~ProgramState</a>();    </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     Mgr.freeStates.push_back(s);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> }</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> }}</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5cf34f4d1062b5b976843e94dd21d35d">   45</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5cf34f4d1062b5b976843e94dd21d35d" title="This ctor is used when creating the first ProgramState object.">ProgramState::ProgramState</a>(<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> *mgr, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1Environment.html" title="An immutable map from EnvironemntEntries to SVals.">Environment</a>& env,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>                  <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> st, <a class="code" href="classllvm_1_1ImmutableMap.html">GenericDataMap</a> gdm)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   : stateMgr(mgr),</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     Env(env),</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>     store(st.getStore()),</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     GDM(gdm),</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>     refCount(0) {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   stateMgr-><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a8b42dc644e742ec37fad9d1f9620fc53">incrementReferenceCount</a>(store);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> }</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#afd56b2a21e0b95320dad58a32834a877">   55</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5cf34f4d1062b5b976843e94dd21d35d" title="This ctor is used when creating the first ProgramState object.">ProgramState::ProgramState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> &RHS)</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     : llvm::FoldingSetNode(),</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>       stateMgr(RHS.stateMgr),</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>       Env(RHS.Env),</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>       store(RHS.store),</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>       GDM(RHS.GDM),</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>       refCount(0) {</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   stateMgr-><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a8b42dc644e742ec37fad9d1f9620fc53">incrementReferenceCount</a>(store);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#acbdf8fc4b0ea2609edf544ccf53792d6">   65</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#acbdf8fc4b0ea2609edf544ccf53792d6">ProgramState::~ProgramState</a>() {</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   <span class="keywordflow">if</span> (store)</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     stateMgr-><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a764792d9e6843e4a5dcd97009c63ccee">decrementReferenceCount</a>(store);</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> </div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a950ced092d8cfe288b48083dfbd95952">   70</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a950ced092d8cfe288b48083dfbd95952">ProgramStateManager::ProgramStateManager</a>(<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,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>                                          <a class="code" href="namespaceclang_1_1ento.html#a5231c7eaa0bbf8e42b1b34dc49693ce6">StoreManagerCreator</a> CreateSMgr,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>                                          <a class="code" href="namespaceclang_1_1ento.html#a4d7d96fa1c506fea22db01c92a212fc8">ConstraintManagerCreator</a> CreateCMgr,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>                                          llvm::BumpPtrAllocator &alloc,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>                                          <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *SubEng)</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   : Eng(SubEng), EnvMgr(alloc), GDMFactory(alloc),</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>     svalBuilder(<a class="code" href="namespaceclang_1_1ento.html#a2c7edf92eaa5aa1cd9730c9c0e943f48">createSimpleSValBuilder</a>(alloc, Ctx, *this)),</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     CallEventMgr(new <a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a>(alloc)), Alloc(alloc) {</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   StoreMgr.reset((*CreateSMgr)(*<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   ConstraintMgr.reset((*CreateCMgr)(*<span class="keyword">this</span>, SubEng));</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">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6f72df47a876c9f7eb9e7fb9c9c5c03">   83</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6f72df47a876c9f7eb9e7fb9c9c5c03">ProgramStateManager::~ProgramStateManager</a>() {</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <span class="keywordflow">for</span> (GDMContextsTy::iterator I=GDMContexts.begin(), E=GDMContexts.end();</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>        I!=E; ++I)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     I->second.second(I->second.first);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> }</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> </div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ad63e36c6d10e5a7b0f7a9fd9838da123">   90</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ad63e36c6d10e5a7b0f7a9fd9838da123">ProgramStateManager::removeDeadBindings</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *LCtx,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>                                    <a class="code" href="classclang_1_1ento_1_1SymbolReaper.html" title="A class responsible for cleaning up unused symbols.">SymbolReaper</a>& SymReaper) {</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="comment">// This code essentially performs a "mark-and-sweep" of the VariableBindings.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="comment">// The roots are any Block-level exprs and Decls that our liveness algorithm</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="comment">// tells us are live.  We then see what Decls they may reference, and keep</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <span class="comment">// those around.  This code more than likely can be made faster, and the</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="comment">// frequency of which this method is called should be experimented with</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   <span class="comment">// for optimum performance.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> NewState = *state;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   NewState.Env = EnvMgr.<a class="code" href="classclang_1_1ento_1_1EnvironmentManager.html#a4e256825b35f22045426c507713fbf9a">removeDeadBindings</a>(NewState.Env, SymReaper, state);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="comment">// Clean up the store.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> newStore = StoreMgr->removeDeadBindings(NewState.<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), LCtx,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>                                                    SymReaper);</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   NewState.setStore(newStore);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   SymReaper.<a class="code" href="classclang_1_1ento_1_1SymbolReaper.html#ad5ce2d5995f03ba4e4acbe8aec787e36" title="Set to the value of the symbolic store after StoreManager::removeDeadBindings has been called...">setReapedStore</a>(newStore);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> Result = <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(NewState);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   <span class="keywordflow">return</span> ConstraintMgr->removeDeadBindings(Result, SymReaper);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> }</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab7ebab8f5de82afe3d2aedc834fbf6cf">  114</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab7ebab8f5de82afe3d2aedc834fbf6cf">ProgramState::bindLoc</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> LV, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <span class="keywordtype">bool</span> notifyChanges)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &Mgr = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>();</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> newState = makeWithStore(Mgr.StoreMgr->Bind(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>                                                              LV, V));</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *MR = LV.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   <span class="keywordflow">if</span> (MR && Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>() && notifyChanges)</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     <span class="keywordflow">return</span> Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>()-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#a05fe7e4bb02e1b67b4aa9ab6b65502ec">processRegionChange</a>(newState, MR);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="keywordflow">return</span> newState;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> }</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a618f4b95529ff0a76de03ab3c61c5e4c">  125</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a618f4b95529ff0a76de03ab3c61c5e4c">ProgramState::bindDefault</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a>, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &Mgr = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>();</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</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 = loc.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>>().<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6fbc592176f294308594867f4c45d044" title="Utility method for getting regions.">getRegion</a>();</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &newStore = Mgr.StoreMgr->BindDefault(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), R, V);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> new_state = makeWithStore(newStore);</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   <span class="keywordflow">return</span> Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>() ? </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>            Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>()-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#a05fe7e4bb02e1b67b4aa9ab6b65502ec">processRegionChange</a>(new_state, R) : </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>            new_state;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="ProgramState_8cpp.html#a2f3b9311f583ddf1587284c4c3fa5fb5">  135</a></span> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<const MemRegion *></a> <a class="code" href="ProgramState_8cpp.html#a2f3b9311f583ddf1587284c4c3fa5fb5">RegionList</a>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="ProgramState_8cpp.html#aa4095e6aadaf675c0702bad94520fa2b">  136</a></span> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<SVal></a> <a class="code" href="ProgramState_8cpp.html#aa4095e6aadaf675c0702bad94520fa2b">ValueList</a>;</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> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a93506002d31f8ae20a01970b6d13e320" title="Returns the state with bindings for the given regions cleared from the store.">ProgramState::invalidateRegions</a>(<a class="code" href="classllvm_1_1ArrayRef.html">RegionList</a> Regions,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>                              <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a>,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                              <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>                              <span class="keywordtype">bool</span> CausedByPointerEscape,</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                              <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> *IS,</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</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="l00145"></a><span class="lineno">  145</span>                              <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> *ITraits)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<SVal, 8></a> Values;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   <span class="keywordflow">for</span> (RegionList::const_iterator I = Regions.begin(),</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>                                   End = Regions.end(); I != End; ++I)</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     Values.push_back(<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(*I));</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="keywordflow">return</span> invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>                                IS, ITraits, Call);</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> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a93506002d31f8ae20a01970b6d13e320" title="Returns the state with bindings for the given regions cleared from the store.">ProgramState::invalidateRegions</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ValueList</a> Values,</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>                              <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a>,</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>                              <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>                              <span class="keywordtype">bool</span> CausedByPointerEscape,</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>                              <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> *IS,</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</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="l00162"></a><span class="lineno">  162</span>                              <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> *ITraits)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>   <span class="keywordflow">return</span> invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape,</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>                                IS, ITraits, Call);</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> }</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> ProgramState::invalidateRegionsImpl(<a class="code" href="classllvm_1_1ArrayRef.html">ValueList</a> Values,</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960ad0386506936fec96a18d01e42d4eb514">Count</a>,</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>                                     <span class="keywordtype">bool</span> CausedByPointerEscape,</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>                                     <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> *IS,</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                                     <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> *ITraits,</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</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)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &Mgr = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>();</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a>* Eng = Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>();</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>   <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> ConstIS;</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>   <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> Invalidated;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   <span class="keywordflow">if</span> (!IS)</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     IS = &Invalidated;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> </div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> ITraitsLocal;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>   <span class="keywordflow">if</span> (!ITraits)</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>     ITraits = &ITraitsLocal;</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>   <span class="keywordflow">if</span> (Eng) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <a class="code" href="classllvm_1_1SmallVector.html">StoreManager::InvalidatedRegions</a> TopLevelInvalidated;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <a class="code" href="classllvm_1_1SmallVector.html">StoreManager::InvalidatedRegions</a> Invalidated;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &newStore</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     = Mgr.StoreMgr->invalidateRegions(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), Values, E, Count, LCtx, Call,</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>                                       *IS, *ITraits, &TopLevelInvalidated,</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>                                       &Invalidated);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> newState = makeWithStore(newStore);</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>     <span class="keywordflow">if</span> (CausedByPointerEscape) {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>       newState = Eng-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#a4edeac03868931aecd5d2bb6bf6e5395">notifyCheckersOfPointerEscape</a>(newState, IS,</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>                                                     TopLevelInvalidated,</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>                                                     Invalidated, Call, </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>                                                     *ITraits);</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>     }</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>     <span class="keywordflow">return</span> Eng-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#a0112b63570ece0e113d5f03dc12122a9">processRegionChanges</a>(newState, IS, TopLevelInvalidated, </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>                                      Invalidated, Call);</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   }</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &newStore =</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   Mgr.StoreMgr->invalidateRegions(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), Values, E, Count, LCtx, Call,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>                                   *IS, *ITraits, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>);</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="keywordflow">return</span> makeWithStore(newStore);</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> }</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a98be2d07914e2adc257fd792b8b50e5f">  215</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a98be2d07914e2adc257fd792b8b50e5f">ProgramState::killBinding</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> LV)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   assert(!LV.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>>() && <span class="stringliteral">"Use invalidateRegion instead."</span>);</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a> OldStore = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>();</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &newStore =</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->killBinding(OldStore, LV);</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>   <span class="keywordflow">if</span> (newStore.<a class="code" href="classclang_1_1ento_1_1StoreRef.html#a0fb683bfdcd103dbf7330c169e37360e">getStore</a>() == OldStore)</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>     <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="keywordflow">return</span> makeWithStore(newStore);</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> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> </div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#abef73725e29f65c077c38ba053acc8a3">  229</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#abef73725e29f65c077c38ba053acc8a3">ProgramState::enterStackFrame</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="l00230"></a><span class="lineno">  230</span>                               <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &NewStore =</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>     <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->enterStackFrame(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), Call, CalleeCtx);</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <span class="keywordflow">return</span> makeWithStore(NewStore);</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> </div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#aaf539fa5931a6dbe05bfe383a29ed464">  236</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad1c29149f917399f65ba5707b9954b02">ProgramState::getSValAsScalarOrLoc</a>(<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)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   <span class="comment">// We only want to do fetches from regions that we can actually bind</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>   <span class="comment">// values.  For example, SymbolicRegions of type 'id<...>' cannot</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   <span class="comment">// have direct bindings (but their can be bindings on their subregions).</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   <span class="keywordflow">if</span> (!R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a95419212a651eb9f26ae3b8dbefd6abb">isBoundable</a>())</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</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>   <span class="keywordflow">if</span> (<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> *TR = dyn_cast<TypedValueRegion>(R)) {</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T = TR->getValueType();</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(T) || T-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>())</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(R);</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> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</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> </div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a022ab4b0a6b63af5696305c2d83bed6d">  252</a></span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">ProgramState::getSVal</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> location, <a class="code" href="classclang_1_1QualType.html">QualType</a> T)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5eb966ea5b996e382d11d07a6d295628" title="Returns the "raw" SVal bound to LV before any value simplfication.">getRawSVal</a>(cast<Loc>(location), T);</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   <span class="comment">// If 'V' is a symbolic value that is *perfectly* constrained to</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   <span class="comment">// be a constant value, use that value instead to lessen the burden</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <span class="comment">// on later analysis stages (so we have less symbolic values to reason</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   <span class="comment">// about).</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   <span class="keywordflow">if</span> (!T.<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="l00260"></a><span class="lineno">  260</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> sym = V.<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>()) {</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::APSInt *Int = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>()</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>                                     .<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6ef94553df3674462723b5ab47267a1">getConstraintManager</a>()</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>                                     .<a class="code" href="classclang_1_1ento_1_1ConstraintManager.html#aa491b614fa90854beb2e7c328505a527" title="If a symbol is perfectly constrained to a constant, attempt to return the concrete value...">getSymVal</a>(<span class="keyword">this</span>, sym)) {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>         <span class="comment">// FIXME: Because we don't correctly model (yet) sign-extension</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>         <span class="comment">// and truncation of symbolic values, we need to convert</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>         <span class="comment">// the integer value to the correct signedness and bitwidth.</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>         <span class="comment">//</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>         <span class="comment">// This shows up in the following:</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>         <span class="comment">//</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>         <span class="comment">//   char foo();</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>         <span class="comment">//   unsigned x = foo();</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>         <span class="comment">//   if (x == 54)</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>         <span class="comment">//     ...</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>         <span class="comment">//</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>         <span class="comment">//  The symbolic value stored to 'x' is actually the conjured</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>         <span class="comment">//  symbol for the call to foo(); the type of that symbol is 'char',</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>         <span class="comment">//  not unsigned.</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>         <span class="keyword">const</span> llvm::APSInt &NewV = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a8395eaa55fcd938bea2dc47cdaffaaa2">getBasicVals</a>().<a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html#ab6767ca32d3eed3fe1c8a928bb6c28b6">Convert</a>(T, *Int);</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>         <span class="keywordflow">if</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_1Loc.html">Loc</a>>())</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>           <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1loc_1_1ConcreteInt.html">loc::ConcreteInt</a>(NewV);</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>         <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>           <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>(NewV);</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>     }</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>   </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>   <span class="keywordflow">return</span> V;</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> </div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#afea9c2ef3e8bfa0c991a58e57703d895">  291</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afea9c2ef3e8bfa0c991a58e57703d895">ProgramState::BindExpr</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="l00292"></a><span class="lineno">  292</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>                                            <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <span class="keywordtype">bool</span> Invalidate)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>   <a class="code" href="classclang_1_1ento_1_1Environment.html" title="An immutable map from EnvironemntEntries to SVals.">Environment</a> NewEnv =</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().EnvMgr.<a class="code" href="classclang_1_1ento_1_1EnvironmentManager.html#a375708b1efa67d327a3d8c360369dec0" title="Bind a symbolic value to the given environment entry.">bindExpr</a>(Env, <a class="code" href="classclang_1_1ento_1_1EnvironmentEntry.html">EnvironmentEntry</a>(S, LCtx), V,</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>                                       Invalidate);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   <span class="keywordflow">if</span> (NewEnv == Env)</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>     <span class="keywordflow">return</span> <span class="keyword">this</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>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> NewSt = *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>   NewSt.Env = NewEnv;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(NewSt);</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a046c4b1b381d1f5fed26eda3f0646efb">  305</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a046c4b1b381d1f5fed26eda3f0646efb">ProgramState::assumeInBound</a>(<a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> Idx,</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>                                       <a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> UpperBound,</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>                                       <span class="keywordtype">bool</span> Assumption,</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>                                       <a class="code" href="classclang_1_1QualType.html">QualType</a> indexTy)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>   <span class="keywordflow">if</span> (Idx.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>() || UpperBound.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>())</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <span class="comment">// Build an expression for 0 <= Idx < UpperBound.</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="comment">// This is the same as Idx + MIN < UpperBound + MIN, if overflow is allowed.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="comment">// FIXME: This should probably be part of SValBuilder.</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a> = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>();</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &svalBuilder = SM.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">getSValBuilder</a>();</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</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 = svalBuilder.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a34dd76f677ea014481a45f7ebeff6c04">getContext</a>();</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>   <span class="comment">// Get the offset: the minimum value of the array index type.</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &BVF = svalBuilder.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a697d1ac4d12b23dacbf8c836564a2b06">getBasicValueFactory</a>();</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="comment">// FIXME: This should be using ValueManager::ArrayindexTy...somehow.</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="keywordflow">if</span> (indexTy.<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="l00323"></a><span class="lineno">  323</span>     indexTy = Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   <a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a> Min(BVF.<a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html#af725f0f7fc007bf89c6f28b4c8a5b095">getMinValue</a>(indexTy));</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">// Adjust the index.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> newIdx = svalBuilder.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a80593ee81368f3b4a734d9dec03ac2c4">evalBinOpNN</a>(<span class="keyword">this</span>, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>,</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>                                         Idx.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>(), Min, indexTy);</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="keywordflow">if</span> (newIdx.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>())</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>     <span class="keywordflow">return</span> <span class="keyword">this</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>   <span class="comment">// Adjust the upper bound.</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> newBound =</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>     svalBuilder.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a80593ee81368f3b4a734d9dec03ac2c4">evalBinOpNN</a>(<span class="keyword">this</span>, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abe63fd1a02a7d1191c3b2fd102b983bd">BO_Add</a>, UpperBound.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>(),</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>                             Min, indexTy);</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">if</span> (newBound.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>())</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>     <span class="keywordflow">return</span> <span class="keyword">this</span>;</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>   <span class="comment">// Build the actual comparison.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> inBound = svalBuilder.<a class="code" href="classclang_1_1ento_1_1SValBuilder.html#a80593ee81368f3b4a734d9dec03ac2c4">evalBinOpNN</a>(<span class="keyword">this</span>, <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>, newIdx.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>(),</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>                                          newBound.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>(), Ctx.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>   <span class="keywordflow">if</span> (inBound.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>())</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>     <span class="keywordflow">return</span> <span class="keyword">this</span>;</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>   <span class="comment">// Finally, let the constraint manager take care of it.</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a> &CM = SM.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6ef94553df3674462723b5ab47267a1">getConstraintManager</a>();</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>   <span class="keywordflow">return</span> CM.<a class="code" href="classclang_1_1ento_1_1ConstraintManager.html#a1b26564c1556ba4b72de732b95f505b2">assume</a>(<span class="keyword">this</span>, inBound.<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_1DefinedSVal.html">DefinedSVal</a>>(), Assumption);</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> </div>
+<div class="line"><a name="l00351"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a9cd4a3d7f6d450485daab7113a9c70f8">  351</a></span> <a class="code" href="classclang_1_1ento_1_1ConditionTruthVal.html">ConditionTruthVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a9cd4a3d7f6d450485daab7113a9c70f8" title="Check if the given SVal is constrained to zero or is a zero constant.">ProgramState::isNull</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</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="l00353"></a><span class="lineno">  353</span>     <span class="keywordflow">return</span> <span class="keyword">true</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="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#ac63aaa36ffa48dab361c63099ea58a14">isConstant</a>())</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym = V.<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>(<span class="comment">/* IncludeBaseRegion */</span> <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>   <span class="keywordflow">if</span> (!Sym)</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionTruthVal.html">ConditionTruthVal</a>();</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>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().ConstraintMgr->isNull(<span class="keyword">this</span>, Sym);</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> </div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ad14db74e616dbcf248f3aefd2ce50722">  365</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ad14db74e616dbcf248f3aefd2ce50722">ProgramStateManager::getInitialState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *InitLoc) {</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>(<span class="keyword">this</span>,</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>                 EnvMgr.<a class="code" href="classclang_1_1ento_1_1EnvironmentManager.html#a2a63210ff2fc48d99109f87b3fb04e71">getInitialEnvironment</a>(),</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>                 StoreMgr->getInitialStore(InitLoc),</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>                 GDMFactory.getEmptyMap());</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</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> </div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a75f0e43424e33ef7665d9d3df1e23488">  374</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a75f0e43424e33ef7665d9d3df1e23488">ProgramStateManager::getPersistentStateWithGDM</a>(</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>                                                      <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> FromState,</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>                                                      <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> GDMState) {</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> NewState(*FromState);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>   NewState.GDM = GDMState->GDM;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(NewState);</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> </div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">  382</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">ProgramStateManager::getPersistentState</a>(<a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> &<a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>) {</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>   llvm::FoldingSetNodeID <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   State.<a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad7afd67287f5e21191e506aed8f7deb6">Profile</a>(ID);</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>   <span class="keywordtype">void</span> *InsertPos;</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">if</span> (<a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *I = StateSet.FindNodeOrInsertPos(ID, InsertPos))</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>     <span class="keywordflow">return</span> I;</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>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *newState = 0;</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="keywordflow">if</span> (!freeStates.empty()) {</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>     newState = freeStates.back();</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>     freeStates.pop_back();    </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>   <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     newState = (<a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a>*) Alloc.Allocate<<a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</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>   <span class="keyword">new</span> (newState) <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a67515cf5ecabac01c3e9835156a4384d">ProgramState</a>(State);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>   StateSet.InsertNode(newState, InsertPos);</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <span class="keywordflow">return</span> newState;</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> </div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> ProgramState::makeWithStore(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &store)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> NewSt(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   NewSt.setStore(store);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(NewSt);</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> <span class="keywordtype">void</span> ProgramState::setStore(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &newStore) {</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>   <a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a> newStoreStore = newStore.<a class="code" href="classclang_1_1ento_1_1StoreRef.html#a0fb683bfdcd103dbf7330c169e37360e">getStore</a>();</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   <span class="keywordflow">if</span> (newStoreStore)</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     stateMgr-><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a8b42dc644e742ec37fad9d1f9620fc53">incrementReferenceCount</a>(newStoreStore);</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <span class="keywordflow">if</span> (store)</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>     stateMgr-><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a764792d9e6843e4a5dcd97009c63ccee">decrementReferenceCount</a>(store);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   store = newStoreStore;</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> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment">//  State pretty-printing.</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">//===----------------------------------------------------------------------===//</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#afe36a432647cabcda3251dee36bcb1ac">  423</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afe36a432647cabcda3251dee36bcb1ac">ProgramState::print</a>(raw_ostream &Out,</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>                          <span class="keyword">const</span> <span class="keywordtype">char</span> *NL, <span class="keyword">const</span> <span class="keywordtype">char</span> *Sep)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   <span class="comment">// Print the store.</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &Mgr = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>();</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>   Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>().<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a49bcf40f9c5998bf7f528878700c1101">print</a>(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), Out, NL, Sep);</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   <span class="comment">// Print out the environment.</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   Env.<a class="code" href="classclang_1_1ento_1_1Environment.html#a570a8b0152bd586dfb0bfca68935cbfc">print</a>(Out, NL, Sep);</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   <span class="comment">// Print out the constraints.</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6ef94553df3674462723b5ab47267a1">getConstraintManager</a>().<a class="code" href="classclang_1_1ento_1_1ConstraintManager.html#ab770a4dbf1e59f83e05d004c2ec7d338">print</a>(<span class="keyword">this</span>, Out, NL, Sep);</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">// Print checker-specific data.</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   Mgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>()-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#aed3947540b322e8387962a66c1559fd3" title="printState - Called by ProgramStateManager to print checker-specific data.">printState</a>(Out, <span class="keyword">this</span>, NL, Sep);</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1978c464d7a52b15d1583053beaf2cc0">  439</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1978c464d7a52b15d1583053beaf2cc0">ProgramState::printDOT</a>(raw_ostream &Out)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afe36a432647cabcda3251dee36bcb1ac">print</a>(Out, <span class="stringliteral">"\\l"</span>, <span class="stringliteral">"\\|"</span>);</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> </div>
+<div class="line"><a name="l00443"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a66f785de585dab9fde24c58360941550">  443</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a66f785de585dab9fde24c58360941550">ProgramState::dump</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afe36a432647cabcda3251dee36bcb1ac">print</a>(llvm::errs());</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5ba3e0294c88d01e7c7a88917f594545">  447</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5ba3e0294c88d01e7c7a88917f594545">ProgramState::printTaint</a>(raw_ostream &Out,</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>                               <span class="keyword">const</span> <span class="keywordtype">char</span> *NL, <span class="keyword">const</span> <span class="keywordtype">char</span> *Sep)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   <a class="code" href="classllvm_1_1ImmutableMap.html">TaintMapImpl</a> TM = get<TaintMap>();</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>   <span class="keywordflow">if</span> (!TM.isEmpty())</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>     Out <<<span class="stringliteral">"Tainted Symbols:"</span> << NL;</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="keywordflow">for</span> (TaintMapImpl::iterator I = TM.begin(), E = TM.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>     Out << I->first << <span class="stringliteral">" : "</span> << I->second << NL;</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> }</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a090ab9e31f8b3db8843a70b510e6f417">  459</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a090ab9e31f8b3db8843a70b510e6f417">ProgramState::dumpTaint</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5ba3e0294c88d01e7c7a88917f594545">printTaint</a>(llvm::errs());</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> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> <span class="comment">// Generic Data Map.</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> <span class="comment">//===----------------------------------------------------------------------===//</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a24b68bfbdc5dbdfd80c7b1fe8e166edc">  467</a></span> <span class="keywordtype">void</span> *<span class="keyword">const</span>* <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a24b68bfbdc5dbdfd80c7b1fe8e166edc">ProgramState::FindGDM</a>(<span class="keywordtype">void</span> *K)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>   <span class="keywordflow">return</span> GDM.lookup(K);</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> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> <span class="keywordtype">void</span>*</div>
+<div class="line"><a name="l00472"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a582558a02afec399739792102da44bfe">  472</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a582558a02afec399739792102da44bfe">ProgramStateManager::FindGDMContext</a>(<span class="keywordtype">void</span> *K,</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>                                <span class="keywordtype">void</span> *(*CreateContext)(llvm::BumpPtrAllocator&),</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>                                <span class="keywordtype">void</span> (*DeleteContext)(<span class="keywordtype">void</span>*)) {</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>   std::pair<void*, void (*)(void*)>& p = GDMContexts[K];</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <span class="keywordflow">if</span> (!p.first) {</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>     p.first = CreateContext(Alloc);</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>     p.second = DeleteContext;</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> </div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   <span class="keywordflow">return</span> p.first;</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> </div>
+<div class="line"><a name="l00485"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">  485</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">ProgramStateManager::addGDM</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St, <span class="keywordtype">void</span> *Key, <span class="keywordtype">void</span> *Data){</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>   <a class="code" href="classllvm_1_1ImmutableMap.html">ProgramState::GenericDataMap</a> M1 = St->getGDM();</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>   <a class="code" href="classllvm_1_1ImmutableMap.html">ProgramState::GenericDataMap</a> M2 = GDMFactory.add(M1, Key, Data);</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>   <span class="keywordflow">if</span> (M1 == M2)</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>     <span class="keywordflow">return</span> St;</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>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> NewSt = *St;</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   NewSt.GDM = M2;</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(NewSt);</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> </div>
+<div class="line"><a name="l00497"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a4c4780835ff9a227e355bcd74e7edec0">  497</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a4c4780835ff9a227e355bcd74e7edec0">ProgramStateManager::removeGDM</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <span class="keywordtype">void</span> *Key) {</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>   <a class="code" href="classllvm_1_1ImmutableMap.html">ProgramState::GenericDataMap</a> OldM = state->getGDM();</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>   <a class="code" href="classllvm_1_1ImmutableMap.html">ProgramState::GenericDataMap</a> NewM = GDMFactory.remove(OldM, Key);</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="keywordflow">if</span> (NewM == OldM)</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>     <span class="keywordflow">return</span> state;</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>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> NewState = *state;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>   NewState.GDM = NewM;</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(NewState);</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> }</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> </div>
+<div class="line"><a name="l00509"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">  509</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">ScanReachableSymbols::scan</a>(<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LazyCompoundVal.html">nonloc::LazyCompoundVal</a> val) {</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>   <span class="keywordtype">bool</span> wasVisited = !visited.insert(val.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LazyCompoundVal.html#af46c5f54ada15eaf76b6563825226ae7">getCVData</a>()).second;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>   <span class="keywordflow">if</span> (wasVisited)</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> </div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>   <a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a> &StoreMgr = state->getStateManager().getStoreManager();</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>   <span class="comment">// FIXME: We don't really want to use getBaseRegion() here because pointer</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   <span class="comment">// arithmetic doesn't apply, but scanReachableSymbols only accepts base</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>   <span class="comment">// regions right now.</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *R = val.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LazyCompoundVal.html#ab486958966534def0e93e8f946dafefb">getRegion</a>()-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#ae6a57e60007e672aa0444308797d3f57">getBaseRegion</a>();</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   <span class="keywordflow">return</span> StoreMgr.<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a15e5d42152bafdd8132a844505fbe508">scanReachableSymbols</a>(val.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LazyCompoundVal.html#ae5170ba9e927100d818ce196d1d7f875">getStore</a>(), R, *<span class="keyword">this</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"><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#af56f92aa8d4884a29fd7a7338ab6ddc7">  522</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">ScanReachableSymbols::scan</a>(<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html">nonloc::CompoundVal</a> val) {</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html#a2a4b9b54df3cc192c433720d4998c347">nonloc::CompoundVal::iterator</a> I=val.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html#aba5a27aed3016ca892bb48cca0947bd9">begin</a>(), E=val.<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html#a762092aac4b0d6e41a823d81179b17f3">end</a>(); I!=E; ++I)</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(*I))</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#ae5d7ec715072676ab27fa132b62e9a8b">  530</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">ScanReachableSymbols::scan</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *sym) {</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>   <span class="keywordtype">bool</span> wasVisited = !visited.insert(sym).second;</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>   <span class="keywordflow">if</span> (wasVisited)</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>     <span class="keywordflow">return</span> <span class="keyword">true</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="keywordflow">if</span> (!visitor.<a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html#a9c07ffc6fd916301ca7c35278b11ea26" title="A visitor method invoked by ProgramStateManager::scanReachableSymbols.">VisitSymbol</a>(sym))</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>     <span class="keywordflow">return</span> <span class="keyword">false</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">  538</span>   <span class="comment">// TODO: should be rewritten using SymExpr::symbol_iterator.</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>   <span class="keywordflow">switch</span> (sym-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#aab3c2902f2e932518f56a114d03d59cf">getKind</a>()) {</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9acafc3c86530abc4a07868558aa0e544c">SymExpr::RegionValueKind</a>:</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9a117b257cd1d5938530706b1fb9426775">SymExpr::ConjuredKind</a>:</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9ae2f4c235bc07e661de03f12576005e88">SymExpr::DerivedKind</a>:</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9a45711d0f250afb18c82bca0b8c5061a2">SymExpr::ExtentKind</a>:</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9af0e05c47ab6efd943e53c3b2958f6117">SymExpr::MetadataKind</a>:</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9a4be30111fa15cd58a1ae7f58f9b3a091">SymExpr::CastSymbolKind</a>:</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(cast<SymbolCast>(sym)->getOperand());</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9adc751175df544b5e5eaec98dd7fa9aac">SymExpr::SymIntKind</a>:</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(cast<SymIntExpr>(sym)->getLHS());</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9a40189177c54ba56361559ad1c33c8022">SymExpr::IntSymKind</a>:</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(cast<IntSymExpr>(sym)->getRHS());</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>     <span class="keywordflow">case</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html#a6911cfc02e4fc7a89b280050db0da7c9abd734ba31bb6707c53fe42d7134324ce">SymExpr::SymSymKind</a>: {</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymSymExpr.html" title="Represents a symbolic expression like 'x' + 'y'.">SymSymExpr</a> *x = cast<SymSymExpr>(sym);</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(x-><a class="code" href="classclang_1_1ento_1_1SymSymExpr.html#a0af36ee50ee2e467819041a0640966cd">getLHS</a>()) && <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(x-><a class="code" href="classclang_1_1ento_1_1SymSymExpr.html#a4741c7cb05506f84ddbc3ab60f5f7a6c">getRHS</a>());</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>     }</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>   }</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</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_1ento_1_1ScanReachableSymbols.html#a314a3bbdb81f3ffd69ccdab1a18a7522">  560</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">ScanReachableSymbols::scan</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val) {</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<loc::MemRegionVal></a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a> = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>>())</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>->getRegion());</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="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::LazyCompoundVal></a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a> =</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>           val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LazyCompoundVal.html">nonloc::LazyCompoundVal</a>>())</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(*<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>);</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> </div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::LocAsInteger></a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a> = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LocAsInteger.html">nonloc::LocAsInteger</a>>())</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a>->getLoc());</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span> </div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>())</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(Sym);</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> </div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *Sym = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a8f4711f2caab9af6d7296473271ec034">getAsSymbolicExpression</a>())</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(Sym);</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span> </div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::CompoundVal></a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a> = val.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html">nonloc::CompoundVal</a>>())</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(*<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</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>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> }</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> </div>
+<div class="line"><a name="l00583"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#aa720c54ae682d3f70b235d92e1f4b87b">  583</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">ScanReachableSymbols::scan</a>(<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="l00584"></a><span class="lineno">  584</span>   <span class="keywordflow">if</span> (isa<MemSpaceRegion>(R))</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="keywordtype">bool</span> wasVisited = !visited.insert(R).second;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   <span class="keywordflow">if</span> (wasVisited)</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>   <span class="keywordflow">if</span> (!visitor.<a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html#a723c5c3cd21dbbb0450941d0e246a18d">VisitMemRegion</a>(R))</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span> </div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="comment">// If this is a symbolic region, visit the symbol for the region.</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a> *SR = dyn_cast<SymbolicRegion>(R))</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     <span class="keywordflow">if</span> (!visitor.<a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html#a9c07ffc6fd916301ca7c35278b11ea26" title="A visitor method invoked by ProgramStateManager::scanReachableSymbols.">VisitSymbol</a>(SR->getSymbol()))</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>       <span class="keywordflow">return</span> <span class="keyword">false</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="comment">// If this is a subregion, also visit the parent regions.</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SubRegion.html">SubRegion</a> *SR = dyn_cast<SubRegion>(R)) {</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</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> *Super = SR->getSuperRegion();</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(Super))</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>     <span class="comment">// When we reach the topmost region, scan all symbols in it.</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>     <span class="keywordflow">if</span> (isa<MemSpaceRegion>(Super)) {</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>       <a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a> &StoreMgr = state->getStateManager().getStoreManager();</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>       <span class="keywordflow">if</span> (!StoreMgr.<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a15e5d42152bafdd8132a844505fbe508">scanReachableSymbols</a>(state->getStore(), SR, *<span class="keyword">this</span>))</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>     }</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>   }</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span> </div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>   <span class="comment">// Regions captured by a block are also implicitly reachable.</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1BlockDataRegion.html">BlockDataRegion</a> *BDR = dyn_cast<BlockDataRegion>(R)) {</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     <a class="code" href="classclang_1_1ento_1_1BlockDataRegion_1_1referenced__vars__iterator.html">BlockDataRegion::referenced_vars_iterator</a> I = BDR->referenced_vars_begin(),</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>                                               E = BDR->referenced_vars_end();</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>     <span class="keywordflow">for</span> ( ; I != E; ++I) {</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>       <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(I.<a class="code" href="classclang_1_1ento_1_1BlockDataRegion_1_1referenced__vars__iterator.html#a9efbbd6d89f7eff18c103cfb39d370a8">getCapturedRegion</a>()))</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   }</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>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span> }</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> </div>
+<div class="line"><a name="l00626"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c">  626</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">ProgramState::scanReachableSymbols</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val, <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a>& visitor)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html">ScanReachableSymbols</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(<span class="keyword">this</span>, visitor);</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>   <span class="keywordflow">return</span> S.<a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(val);</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> </div>
+<div class="line"><a name="l00631"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ada7c708eb79ca5315e92e772ff278cb4">  631</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">ProgramState::scanReachableSymbols</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *I, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *E,</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>                                    <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a> &visitor)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>   <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html">ScanReachableSymbols</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(<span class="keyword">this</span>, visitor);</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>   <span class="keywordflow">for</span> ( ; I != E; ++I) {</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>     <span class="keywordflow">if</span> (!S.<a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(*I))</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   }</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#abcca1503269e6911cd66df860756706d">  641</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">ProgramState::scanReachableSymbols</a>(<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> * <span class="keyword">const</span> *I,</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</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> * <span class="keyword">const</span> *E,</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>                                    <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a> &visitor)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>   <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html">ScanReachableSymbols</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>(<span class="keyword">this</span>, visitor);</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   <span class="keywordflow">for</span> ( ; I != E; ++I) {</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>     <span class="keywordflow">if</span> (!S.<a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(*I))</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   }</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00652"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599">  652</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">ProgramState::addTaint</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="l00653"></a><span class="lineno">  653</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>                                            <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = dyn_cast_or_null<Expr>(S))</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>     S = E-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>   <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(S, LCtx).<a class="code" href="classclang_1_1ento_1_1SVal.html#ac25107c9210008fe3d0f8a4ee74eaa85" title="If this SVal wraps a symbol return that SymbolRef. Otherwise, return 0.">getAsSymbol</a>();</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>   <span class="keywordflow">if</span> (Sym)</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">addTaint</a>(Sym, Kind);</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="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 = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(S, LCtx).<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">addTaint</a>(R, Kind);</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span> </div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <span class="comment">// Cannot add taint, so just return the state.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> }</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span> </div>
+<div class="line"><a name="l00669"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#acd4c5e1ba98d0b4ab0d8b7e1d9e7bac6">  669</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">ProgramState::addTaint</a>(<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="l00670"></a><span class="lineno">  670</span>                                            <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a> *SR = dyn_cast_or_null<SymbolicRegion>(R))</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">addTaint</a>(SR->getSymbol(), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>   <span class="keywordflow">return</span> <span class="keyword">this</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> </div>
+<div class="line"><a name="l00676"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a88ad6071b5226d8303da3b91e8b0ebcf">  676</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">ProgramState::addTaint</a>(<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym,</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>                                            <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>   <span class="comment">// If this is a symbol cast, remove the cast before adding the taint. Taint</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="comment">// is cast agnostic.</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolCast.html" title="Represents a cast expression.">SymbolCast</a> *SC = dyn_cast<SymbolCast>(Sym))</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>     Sym = SC->getOperand();</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span> </div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> NewState = set<TaintMap>(Sym, <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>   assert(NewState);</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>   <span class="keywordflow">return</span> NewState;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> }</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d">  688</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">ProgramState::isTainted</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>                              <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = dyn_cast_or_null<Expr>(S))</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>     S = E-><a class="code" href="classclang_1_1Expr.html#a6128786ad6c6ad61b66ad4ddf09b1bd8">IgnoreParens</a>();</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> </div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(S, LCtx);</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(val, Kind);</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> </div>
+<div class="line"><a name="l00697"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#aeb36118e06ac63c54b907b81c141c663">  697</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">ProgramState::isTainted</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *Sym = V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a1d4d871c6cb8e749a3d08c018bd70678">getAsSymExpr</a>())</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(Sym, Kind);</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</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> *Reg = V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>())</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(Reg, Kind);</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span> }</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> </div>
+<div class="line"><a name="l00705"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a7e4d6607e2ce15b583e474fe161597d6">  705</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">ProgramState::isTainted</a>(<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> *Reg, <a class="code" href="classunsigned.html">TaintTagType</a> K)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>   <span class="keywordflow">if</span> (!Reg)</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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">// Element region (array element) is tainted if either the base or the offset</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>   <span class="comment">// are tainted.</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ElementRegion.html" title="ElementRegin is used to represent both array elements and casts.">ElementRegion</a> *ER = dyn_cast<ElementRegion>(Reg))</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(ER->getSuperRegion(), K) || <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(ER->getIndex(), K);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> </div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a> *SR = dyn_cast<SymbolicRegion>(Reg))</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(SR->getSymbol(), K);</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span> </div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SubRegion.html">SubRegion</a> *ER = dyn_cast<SubRegion>(Reg))</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(ER->getSuperRegion(), K);</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span> </div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span> }</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span> </div>
+<div class="line"><a name="l00723"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a12ad0ab07c6df0e293267d333cb90deb">  723</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">ProgramState::isTainted</a>(<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym, <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>   <span class="keywordflow">if</span> (!Sym)</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>   </div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>   <span class="comment">// Traverse all the symbols this symbol depends on to see if any are tainted.</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>   <span class="keywordtype">bool</span> Tainted = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1SymExpr_1_1symbol__iterator.html" title="Iterator over symbols that the current symbol depends on.">SymExpr::symbol_iterator</a> SI = Sym-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#a348295338e12b62cecae9a679096abd5">symbol_begin</a>(), SE =Sym-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#a4ed42ad9629aad3e4b3aa83eec1e1381">symbol_end</a>();</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>        SI != SE; ++SI) {</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>     <span class="keywordflow">if</span> (!isa<SymbolData>(*SI))</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>     </div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>     <span class="keyword">const</span> <a class="code" href="classunsigned.html">TaintTagType</a> *Tag = get<TaintMap>(*SI);</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>     Tainted = (Tag && *Tag == <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span> </div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>     <span class="comment">// If this is a SymbolDerived with a tainted parent, it's also tainted.</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolDerived.html">SymbolDerived</a> *SD = dyn_cast<SymbolDerived>(*SI))</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>       Tainted = Tainted || <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(SD->getParentSymbol(), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span> </div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>     <span class="comment">// If memory region is tainted, data is also tainted.</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolRegionValue.html" title="A symbol representing the value stored at a MemRegion.">SymbolRegionValue</a> *SRV = dyn_cast<SymbolRegionValue>(*SI))</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>       Tainted = Tainted || <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(SRV->getRegion(), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</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>     <span class="comment">// If If this is a SymbolCast from a tainted value, it's also tainted.</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolCast.html" title="Represents a cast expression.">SymbolCast</a> *SC = dyn_cast<SymbolCast>(*SI))</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>       Tainted = Tainted || <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(SC->getOperand(), <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>);</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span> </div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>     <span class="keywordflow">if</span> (Tainted)</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>   }</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>   </div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>   <span class="keywordflow">return</span> Tainted;</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span> }</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> <span class="comment"></span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span> <span class="comment">/// The GDM component containing the dynamic type info. This is a map from a</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span> <span class="comment">/// symbol to its most likely type.</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span> <span class="comment"></span><a class="code" href="ProgramStateTrait_8h.html#ae4cddb54383cd702a045d7c61b009147">REGISTER_TRAIT_WITH_PROGRAMSTATE</a>(DynamicTypeMap,</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>                                  <a class="code" href="ProgramStateTrait_8h.html#aeb42fb17cae7e71c993aac0f4d74d2d1">CLANG_ENTO_PROGRAMSTATE_MAP</a>(<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> *,</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</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>))</div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> </div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</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> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a>::getDynamicTypeInfo(const <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *Reg)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>   Reg = Reg->StripCasts();</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span> </div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>   <span class="comment">// Look up the dynamic type in the GDM.</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno"><a class="code" href="ProgramState_8cpp.html#a200234a11f27cb4cd2ce554e155c7804">  766</a></span>   <span class="keyword">const</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> *<a class="code" href="ProgramState_8cpp.html#a200234a11f27cb4cd2ce554e155c7804">GDMType</a> = get<DynamicTypeMap>(Reg);</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>   <span class="keywordflow">if</span> (GDMType)</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>     <span class="keywordflow">return</span> *<a class="code" href="ProgramState_8cpp.html#a200234a11f27cb4cd2ce554e155c7804">GDMType</a>;</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span> </div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>   <span class="comment">// Otherwise, fall back to what we know about the region.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1TypedRegion.html" title="TypedRegion - An abstract class representing regions that are typed.">TypedRegion</a> *TR = dyn_cast<TypedRegion>(Reg))</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>     <span class="keywordflow">return</span> <a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>(TR->getLocationType(), <span class="comment">/*CanBeSubclass=*/</span><span class="keyword">false</span>);</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span> </div>
+<div class="line"><a name="l00774"></a><span class="lineno"><a class="code" href="ProgramState_8cpp.html#a51bd545fd3f48750b64da629afbbecc0">  774</a></span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolicRegion.html">SymbolicRegion</a> *SR = dyn_cast<SymbolicRegion>(Reg)) {</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>     <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym = SR->getSymbol();</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>     <span class="keywordflow">return</span> <a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>(Sym-><a class="code" href="classclang_1_1ento_1_1SymExpr.html#a8b17954fffe297fa90bb61e31dda7074">getType</a>());</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>   }</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span> </div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>   <span class="keywordflow">return</span> <a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>();</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> </div>
+<div class="line"><a name="l00782"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#af1f9295f6cbeb6cfbf0884c8d3710538">  782</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af1f9295f6cbeb6cfbf0884c8d3710538" title="Set dynamic type information of the region; return the new state.">ProgramState::setDynamicTypeInfo</a>(<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> *Reg,</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</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> NewTy)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>   Reg = Reg-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a8c3ae0ca072089a3b008adc86a9b8efe">StripCasts</a>();</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> NewState = set<DynamicTypeMap>(Reg, NewTy);</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>   assert(NewState);</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>   <span class="keywordflow">return</span> NewState;</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:52 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/ProgramState_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,514 @@
+<!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: ProgramState.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">ProgramState.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramState_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/ProgramState.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/Release+Asserts/ProgramState.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  ProgramState.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/ProgramState.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.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/APSInt.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.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/TokenKinds.def \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.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/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.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/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/<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="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.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/Redeclarable.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/Type.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/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/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="l00064"></a><span class="lineno">   64</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="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.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/ASTVector.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/DeclAccessPair.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/OperationKinds.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/Stmt.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/DeclGroup.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TemplateBase.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/CharInfo.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/TypeTraits.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="classCallEvent.html">CallEvent</a>.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/ProgramPoint.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/TaintManager.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> </div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LLVM.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/Support/Casting.h:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> /home/tstellar/llvm/include/llvm/Support/type_traits.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/DataTypes.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/ADT/None.h:</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.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/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.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/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.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/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/include/llvm/ADT/APInt.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/ArrayRef.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/SmallVector.h:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.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/MathExtras.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/SwapByteOrder.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/APSInt.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/PointerIntPair.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/PointerLikeTypeTraits.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/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclBase.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/StaticAnalyzer/Core/../../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclarationName.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/Core/../../../include/clang/Basic/IdentifierTable.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/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.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/StaticAnalyzer/Core/../../../include/clang/Basic/OperatorKinds.def:</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/Core/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/TokenKinds.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/include/llvm/ADT/SmallString.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/include/llvm/ADT/StringRef.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/StringMap.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</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/StaticAnalyzer/Core/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Diagnostic.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/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticIDs.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/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/StaticAnalyzer/Core/../../../include/clang/Basic/DiagnosticOptions.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/Core/../../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/SourceLocation.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/DenseMap.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/DenseMapInfo.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/STLExtras.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/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="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclNodes.inc:</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/StaticAnalyzer/Core/../../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/NestedNameSpecifier.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/FoldingSet.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/Core/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/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="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/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="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/BuiltinTypes.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/Support/raw_ostream.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/include/llvm/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/include/llvm/Support/TimeValue.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/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Expr.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/Core/../../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/StmtNodes.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/Core/../../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CharInfo.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/Core/../../../include/clang/Basic/TypeTraits.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/Core/../../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/AnalysisContext.h:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/CFG.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Analysis/Support/BumpVector.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/include/llvm/ADT/GraphTraits.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h:</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableList.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/SaveAndRestore.h:</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h:</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.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/include/llvm/ADT/ImmutableSet.h:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/LangOptions.def:</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/Core/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/RawCommentList.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/Core/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/AST/DeclObjC.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/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="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.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/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.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/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="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="classCallEvent.html">CallEvent</a>.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/Core/../../../include/clang/AST/DeclCXX.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/Core/../../../include/clang/AST/ASTUnresolvedSet.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/Core/../../../include/clang/AST/UnresolvedSet.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/Core/../../../include/clang/AST/ExprCXX.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/Core/../../../include/clang/Basic/ExpressionTraits.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/Core/../../../include/clang/Basic/Lambda.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.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/Core/../../../include/clang/Analysis/ProgramPoint.h:</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/Core/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.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/Core/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:52 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/ProgramState_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,900 @@
+<!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: ProgramState.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">ProgramState.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramState_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">//== ProgramState.h - Path-sensitive "State" for tracking values -*- C++ -*--=//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This file defines the state of the program along the analysisa path.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#ifndef LLVM_CLANG_GR_VALUESTATE_H</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_GR_VALUESTATE_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="ConstraintManager_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="DynamicTypeInfo_8h.html">clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Environment_8h.html">clang/StaticAnalyzer/Core/PathSensitive/Environment.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="ProgramState__Fwd_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="SValBuilder_8h.html">clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="Store_8h.html">clang/StaticAnalyzer/Core/PathSensitive/Store.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "<a class="code" href="TaintTag_8h.html">clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h</a>"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/ADT/FoldingSet.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/ADT/ImmutableMap.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/ADT/PointerIntPair.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">class </span>APSInt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">class </span>BumpPtrAllocator;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> }</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">class </span>ASTContext;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="keyword">class </span><a class="code" href="classCallEvent.html">CallEvent</a>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="keyword">class </span>CallEventManager;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#a4d7d96fa1c506fea22db01c92a212fc8">   42</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a>* (*ConstraintManagerCreator)(<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a>&,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>                                                        <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a>*);</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#a5231c7eaa0bbf8e42b1b34dc49693ce6">   44</a></span> <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a>* (*StoreManagerCreator)(<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a>&);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">// ProgramStateTrait - Traits used by the Generic Data Map of a ProgramState.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">   50</a></span> <span class="keyword">template</span> <<span class="keyword">typename</span> T> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStatePartialTrait.html">ProgramStatePartialTrait</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">   52</a></span> <span class="keyword">template</span> <<span class="keyword">typename</span> T> <span class="keyword">struct </span><a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait</a> {</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">   53</a></span>   <span class="keyword">typedef</span> <span class="keyword">typename</span> T::data_type <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">data_type</a>;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a071248af23493519ecc06c49006e432d">   54</a></span>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> *<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a071248af23493519ecc06c49006e432d">MakeVoidPtr</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">data_type</a> D) { <span class="keywordflow">return</span> (<span class="keywordtype">void</span>*) D; }</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#ac5d7158d5f75b5308059408304a64fab">   55</a></span>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">data_type</a> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#ac5d7158d5f75b5308059408304a64fab">MakeData</a>(<span class="keywordtype">void</span> *<span class="keyword">const</span>* <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>) {</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     <span class="keywordflow">return</span> P ? (<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">data_type</a>) *P : (<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">data_type</a>) 0;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   }</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> };</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment"></span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">/// \class ProgramState</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment">/// ProgramState - This class encapsulates:</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment">///    1. A mapping from expressions to values (Environment)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">///    2. A mapping from locations to values (Store)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">///    3. Constraints on symbolic values (GenericDataMap)</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment">///  Together these represent the "abstract state" of a program.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="comment">///  ProgramState is intended to be used as a functional object; that is,</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment">///  once it is created and made "persistent" in a FoldingSet, its</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">///  values will never change.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html">   72</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> : <span class="keyword">public</span> llvm::FoldingSetNode {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a0e54ec52cb7e4e83c06b9d856e464399">   74</a></span>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ImmutableSet.html">llvm::ImmutableSet<llvm::APSInt*></a>                <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a0e54ec52cb7e4e83c06b9d856e464399">IntSetTy</a>;</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1250be6245b2f96e1e52feafff65d3c1">   75</a></span>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1ImmutableMap.html">llvm::ImmutableMap<void*, void*></a>                 <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1250be6245b2f96e1e52feafff65d3c1">GenericDataMap</a>;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a>& R) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a169c83ce0b134ba26ff9724793e521dd">   80</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a>;</div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1efa0e2a96fb50bf0d87f0fec31fe3dc">   81</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html">ExplodedGraph</a>;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#aeb1573bae5cbc3f38fde2d258ccda3e7">   82</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> *stateMgr;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   <a class="code" href="classclang_1_1ento_1_1Environment.html" title="An immutable map from EnvironemntEntries to SVals.">Environment</a> Env;           <span class="comment">// Maps a Stmt to its current SVal.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a> store;               <span class="comment">// Maps a location to its current value.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <a class="code" href="classllvm_1_1ImmutableMap.html">GenericDataMap</a>   GDM;      <span class="comment">// Custom data stored by a client of this class.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   <span class="keywordtype">unsigned</span> refCount;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment"></span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment">  /// makeWithStore - Return a ProgramState with the same values as the current</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> <span class="comment">  ///  state with the exception of using the specified Store.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> makeWithStore(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &store) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keywordtype">void</span> setStore(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> &storeRef);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  /// This ctor is used when creating the first ProgramState object.</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5cf34f4d1062b5b976843e94dd21d35d" title="This ctor is used when creating the first ProgramState object.">ProgramState</a>(<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> *mgr, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1Environment.html" title="An immutable map from EnvironemntEntries to SVals.">Environment</a>& env,</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>           <a class="code" href="classclang_1_1ento_1_1StoreRef.html">StoreRef</a> st, <a class="code" href="classllvm_1_1ImmutableMap.html">GenericDataMap</a> gdm);</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">  /// Copy ctor - We must explicitly define this or else the "Next" ptr</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment">  ///  in FoldingSetNode will also get copied.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5cf34f4d1062b5b976843e94dd21d35d" title="This ctor is used when creating the first ProgramState object.">ProgramState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> &RHS);</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>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#acbdf8fc4b0ea2609edf544ccf53792d6">~ProgramState</a>();</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">  /// Return the ProgramStateManager associated with this state.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00">  108</a></span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>     <span class="keywordflow">return</span> *stateMgr;</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">  /// Return the ConstraintManager.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#aa0ce55de4bd8c7552e8955ded0c4312f" title="Return the ConstraintManager.">getConstraintManager</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment"></span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment">  /// getEnvironment - Return the environment associated with this state.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">  ///  The environment is the mapping from expressions to values.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a09c45ab64017035072791b8ecbefee86">  117</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1Environment.html" title="An immutable map from EnvironemntEntries to SVals.">Environment</a>& <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a09c45ab64017035072791b8ecbefee86">getEnvironment</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Env; }</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment">  /// Return the store associated with this state.  The store</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  ///  is a mapping from locations to values.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">  121</a></span> <span class="comment"></span>  <a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> store; }</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>   <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">  /// getGDM - Return the generic data map associated with this state.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a7740aaccd507c604568ea179e434bc3a">  125</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1ImmutableMap.html">GenericDataMap</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a7740aaccd507c604568ea179e434bc3a" title="getGDM - Return the generic data map associated with this state.">getGDM</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> GDM; }</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ae87dcbd96840d2396633225392fc5b63">  127</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ae87dcbd96840d2396633225392fc5b63">setGDM</a>(<a class="code" href="classllvm_1_1ImmutableMap.html">GenericDataMap</a> gdm) { GDM = gdm; }</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment"></span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment">  /// Profile - Profile the contents of a ProgramState object for use in a</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">  ///  FoldingSet.  Two ProgramState objects are considered equal if they</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment">  ///  have the same Environment, Store, and GenericDataMap.</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad7afd67287f5e21191e506aed8f7deb6">  132</a></span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad7afd67287f5e21191e506aed8f7deb6">Profile</a>(llvm::FoldingSetNodeID& <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *V) {</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>     V->Env.<a class="code" href="classclang_1_1ento_1_1Environment.html#a65b11716388c02bb752e7cec92cdb48e">Profile</a>(ID);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     ID.AddPointer(V->store);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     V->GDM.Profile(ID);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment">  /// Profile - Used to profile the contents of this object for inclusion</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">  ///  in a FoldingSet.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#afa92abe92617c97f5dac05a4f1b7848d">  140</a></span> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afa92abe92617c97f5dac05a4f1b7848d">Profile</a>(llvm::FoldingSetNodeID& <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad7afd67287f5e21191e506aed8f7deb6">Profile</a>(ID, <span class="keyword">this</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>   <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a8395eaa55fcd938bea2dc47cdaffaaa2">getBasicVals</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <a class="code" href="classclang_1_1ento_1_1SymbolManager.html">SymbolManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a67971ed7f918b15396a2a0fd6441ef66">getSymbolManager</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>   <span class="comment">// Constraints on values.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   <span class="comment">// Each ProgramState records constraints on symbolic values.  These constraints</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="comment">// are managed using the ConstraintManager associated with a ProgramStateManager.</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>   <span class="comment">// As constraints gradually accrue on symbolic values, added constraints</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <span class="comment">// may conflict and indicate that a state is infeasible (as no real values</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   <span class="comment">// could satisfy all the constraints).  This is the principal mechanism</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   <span class="comment">// for modeling path-sensitivity in ExprEngine/ProgramState.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>   <span class="comment">// Various "assume" methods form the interface for adding constraints to</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>   <span class="comment">// symbolic values.  A call to 'assume' indicates an assumption being placed</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   <span class="comment">// on one or symbolic values.  'assume' methods take the following inputs:</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   <span class="comment">//  (1) A ProgramState object representing the current state.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>   <span class="comment">//  (2) The assumed constraint (which is specific to a given "assume" method).</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="comment">//  (3) A binary value "Assumption" that indicates whether the constraint is</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   <span class="comment">//      assumed to be true or false.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   <span class="comment">// The output of "assume*" is a new ProgramState object with the added constraints.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>   <span class="comment">// If no new state is feasible, NULL is returned.</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment"></span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> <span class="comment">  /// Assumes that the value of \p cond is zero (if \p assumption is "false")</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> <span class="comment">  /// or non-zero (if \p assumption is "true").</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> <span class="comment">  /// This returns a new state with the added constraint on \p cond.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment">  /// If no new state is feasible, NULL is returned.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af461967ca3dad8af93bc8d0709c31064">assume</a>(<a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> cond, <span class="keywordtype">bool</span> assumption) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> <span class="comment">  /// Assumes both "true" and "false" for \p cond, and returns both</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment">  /// corresponding states (respectively).</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">  /// This is more efficient than calling assume() twice. Note that one (but not</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment">  /// both) of the returned states may be NULL.</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment"></span>  std::pair<ProgramStateRef, ProgramStateRef></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af461967ca3dad8af93bc8d0709c31064">assume</a>(<a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> cond) <span class="keyword">const</span>;</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>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a046c4b1b381d1f5fed26eda3f0646efb">assumeInBound</a>(<a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> idx,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>                                <a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> upperBound,</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>                                <span class="keywordtype">bool</span> assumption,</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>                                <a class="code" href="classclang_1_1QualType.html">QualType</a> IndexType = <a class="code" href="classclang_1_1QualType.html">QualType</a>()) <span class="keyword">const</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 Check if the given SVal is constrained to zero or is a zero</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  ///        constant.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1ConditionTruthVal.html">ConditionTruthVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a9cd4a3d7f6d450485daab7113a9c70f8" title="Check if the given SVal is constrained to zero or is a zero constant.">isNull</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V) <span class="keyword">const</span>;</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">  /// Utility method for getting regions.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a>* <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6fbc592176f294308594867f4c45d044" title="Utility method for getting regions.">getRegion</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *D, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC) <span class="keyword">const</span>;</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>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   <span class="comment">// Binding and retrieving values to/from the environment and symbolic store.</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"></span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> <span class="comment">  /// Create a new state by binding the value 'V' to the statement 'S' in the</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="comment">  /// state's environment.</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afea9c2ef3e8bfa0c991a58e57703d895">BindExpr</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>                                <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <span class="keywordtype">bool</span> Invalidate = <span class="keyword">true</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab7ebab8f5de82afe3d2aedc834fbf6cf">bindLoc</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> location,</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>                           <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>                           <span class="keywordtype">bool</span> notifyChanges = <span class="keyword">true</span>) <span class="keyword">const</span>;</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>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab7ebab8f5de82afe3d2aedc834fbf6cf">bindLoc</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> location, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a618f4b95529ff0a76de03ab3c61c5e4c">bindDefault</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#af2a0068a0d7c4962e52a7a70967fa5df" title="Matches TypeLocs for which the given inner QualType-matcher matches.">loc</a>, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a98be2d07914e2adc257fd792b8b50e5f">killBinding</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> LV) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="comment"></span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> <span class="comment">  /// \brief Returns the state with bindings for the given regions</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> <span class="comment">  ///  cleared from the store.</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> <span class="comment">  /// Optionally invalidates global regions as well.</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> <span class="comment">  /// \param Regions the set of regions to be invalidated.</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> <span class="comment">  /// \param E the expression that caused the invalidation.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> <span class="comment">  /// \param BlockCount The number of times the current basic block has been</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="comment"></span>  <span class="comment">//         visited.</span><span class="comment"></span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">  /// \param CausesPointerEscape the flag is set to true when</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment">  ///        the invalidation entails escape of a symbol (representing a</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> <span class="comment">  ///        pointer). For example, due to it being passed as an argument in a</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> <span class="comment">  ///        call.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> <span class="comment">  /// \param IS the set of invalidated symbols.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> <span class="comment">  /// \param Call if non-null, the invalidated regions represent parameters to</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> <span class="comment">  ///        the call and should be considered directly invalidated.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="comment">  /// \param ITraits information about special handling for a particular </span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="comment">  ///        region/symbol.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a93506002d31f8ae20a01970b6d13e320" title="Returns the state with bindings for the given regions cleared from the store.">invalidateRegions</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<const MemRegion *></a> Regions, <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E,</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>                     <span class="keywordtype">unsigned</span> BlockCount, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>                     <span class="keywordtype">bool</span> CausesPointerEscape, <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> *IS = 0,</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</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 = 0,</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>                     <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> *ITraits = 0) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a93506002d31f8ae20a01970b6d13e320" title="Returns the state with bindings for the given regions cleared from the store.">invalidateRegions</a>(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<SVal></a> Regions, <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E,</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>                     <span class="keywordtype">unsigned</span> BlockCount, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>                     <span class="keywordtype">bool</span> CausesPointerEscape, <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> *IS = 0,</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</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 = 0,</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>                     <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> *ITraits = 0) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> <span class="comment"></span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> <span class="comment">  /// enterStackFrame - Returns the state for entry to the given stack frame,</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> <span class="comment">  ///  preserving the current state.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#abef73725e29f65c077c38ba053acc8a3">enterStackFrame</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="l00254"></a><span class="lineno">  254</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeCtx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> <span class="comment"></span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> <span class="comment">  /// Get the lvalue for a variable reference.</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *D, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC) <span class="keyword">const</span>;</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>   <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CompoundLiteralExpr.html">CompoundLiteralExpr</a> *literal, </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>                 <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> <span class="comment"></span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> <span class="comment">  /// Get the lvalue for an ivar reference.</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</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_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCIvarDecl.html">ObjCIvarDecl</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a7e0add38d4eff7a20684fcba24be8887" title="Matches declarations.">decl</a>, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> base) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> <span class="comment"></span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="comment">  /// Get the lvalue for a field reference.</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</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_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a7e0add38d4eff7a20684fcba24be8887" title="Matches declarations.">decl</a>, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> <span class="comment"></span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> <span class="comment">  /// Get the lvalue for an indirect field reference.</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</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_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a7e0add38d4eff7a20684fcba24be8887" title="Matches declarations.">decl</a>, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> <span class="comment"></span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> <span class="comment">  /// Get the lvalue for an array index.</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</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_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> ElementType, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> Idx, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment"></span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> <span class="comment">  /// Returns the SVal bound to the statement 'S' in the state's environment.</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</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_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx) <span class="keyword">const</span>;</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>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad1c29149f917399f65ba5707b9954b02">getSValAsScalarOrLoc</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Ex, <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> <span class="comment"></span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> <span class="comment">  /// \brief Return the value bound to the specified location.</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> <span class="comment">  /// Returns UnknownVal() if none found.</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</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_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> LV, <a class="code" href="classclang_1_1QualType.html">QualType</a> T = <a class="code" href="classclang_1_1QualType.html">QualType</a>()) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> <span class="comment"></span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment">  /// Returns the "raw" SVal bound to LV before any value simplfication.</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</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_1ProgramState.html#a5eb966ea5b996e382d11d07a6d295628" title="Returns the "raw" SVal bound to LV before any value simplfication.">getRawSVal</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> LV, <a class="code" href="classclang_1_1QualType.html">QualType</a> T= <a class="code" href="classclang_1_1QualType.html">QualType</a>()) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> <span class="comment"></span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> <span class="comment">  /// \brief Return the value bound to the specified location.</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> <span class="comment">  /// Returns UnknownVal() if none found.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</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_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(<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) <span class="keyword">const</span>;</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>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad1c29149f917399f65ba5707b9954b02">getSValAsScalarOrLoc</a>(<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) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> <span class="comment">  /// \brief Visits the symbols reachable from the given SVal using the provided</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> <span class="comment">  /// SymbolVisitor.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> <span class="comment">  /// This is a convenience API. Consider using ScanReachableSymbols class</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> <span class="comment">  /// directly when making multiple scans on the same state with the same</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> <span class="comment">  /// visitor to avoid repeated initialization cost.</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> <span class="comment">  /// \sa ScanReachableSymbols</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val, <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a>& visitor) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> <span class="comment">  /// \brief Visits the symbols reachable from the SVals in the given range</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> <span class="comment">  /// using the provided SymbolVisitor.</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *I, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *E,</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>                             <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a> &visitor) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> <span class="comment">  /// \brief Visits the symbols reachable from the regions in the given</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> <span class="comment">  /// MemRegions range using the provided SymbolVisitor.</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(<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> * <span class="keyword">const</span> *I, </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</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> * <span class="keyword">const</span> *E,</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>                             <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a> &visitor) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> CB> CB <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> CB> CB <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *beg,</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>                                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *end) <span class="keyword">const</span>;</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>   <span class="keyword">template</span> <<span class="keyword">typename</span> CB> CB</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(<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> * <span class="keyword">const</span> *beg,</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</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> * <span class="keyword">const</span> *end) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> <span class="comment"></span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> <span class="comment">  /// Create a new state in which the statement is marked as tainted.</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">addTaint</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>                                <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> <span class="comment"></span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> <span class="comment">  /// Create a new state in which the symbol is marked as tainted.</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">addTaint</a>(<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>,</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>                                <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> <span class="comment"></span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> <span class="comment">  /// Create a new state in which the region symbol is marked as tainted.</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6e3d382a78c2a59711b80b305081b599" title="Create a new state in which the statement is marked as tainted.">addTaint</a>(<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="l00330"></a><span class="lineno">  330</span>                                <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> <span class="comment"></span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> <span class="comment">  /// Check if the statement is tainted in the current state.</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</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> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>                  <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V, <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(<a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymbolRef</a> Sym, <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a> = <a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f9da7dffc68b8bb75b824479aa3723d" title="Check if the statement is tainted in the current state.">isTainted</a>(<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> *Reg, <a class="code" href="classunsigned.html">TaintTagType</a> <a class="code" href="ChrootChecker_8cpp.html#aa10c9e8951b8ccf714a59ec321bdac5b">Kind</a>=<a class="code" href="namespaceclang_1_1ento.html#ac9b09a57a698d0c12c655945072bbe7b">TaintTagGeneric</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> <span class="comment"></span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> <span class="comment">  /// \brief Get dynamic type information for a region.</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> <span class="comment"></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> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a87bea06c1d71049f8c01bdf522ab1c46" title="Get dynamic type information for a region.">getDynamicTypeInfo</a>(<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> *Reg) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="comment"></span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="comment">  /// \brief Set dynamic type information of the region; return the new state.</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af1f9295f6cbeb6cfbf0884c8d3710538" title="Set dynamic type information of the region; return the new state.">setDynamicTypeInfo</a>(<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> *Reg,</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</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> NewTy) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> <span class="comment"></span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> <span class="comment">  /// \brief Set dynamic type information of the region; return the new state.</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a3652ff7e56eb3b8b12cb117d132edd7b">  347</a></span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af1f9295f6cbeb6cfbf0884c8d3710538" title="Set dynamic type information of the region; return the new state.">setDynamicTypeInfo</a>(<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> *Reg,</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>                                      <a class="code" href="classclang_1_1QualType.html">QualType</a> NewTy,</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>                                      <span class="keywordtype">bool</span> CanBeSubClassed = <span class="keyword">true</span>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af1f9295f6cbeb6cfbf0884c8d3710538" title="Set dynamic type information of the region; return the new state.">setDynamicTypeInfo</a>(Reg, <a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>(NewTy, CanBeSubClassed));</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> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   <span class="comment">// Accessing the Generic Data Map (GDM).</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>   <span class="keywordtype">void</span> *<span class="keyword">const</span>* <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a24b68bfbdc5dbdfd80c7b1fe8e166edc">FindGDM</a>(<span class="keywordtype">void</span> *K) <span class="keyword">const</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="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ae414749809ef950da2664e486d98df79">add</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>   <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">ProgramStateTrait<T>::data_type</a></div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ace78e44b610c09f00b6ab3eb669fdbf7">  364</a></span>   <span class="keyword">get</span>() <span class="keyword">const</span> {</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#ac5d7158d5f75b5308059408304a64fab">ProgramStateTrait<T>::MakeData</a>(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a24b68bfbdc5dbdfd80c7b1fe8e166edc">FindGDM</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</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> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>   <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::lookup_type</a></div>
+<div class="line"><a name="l00370"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a362b54fbad522f2642fcef6a0d84a2a9">  370</a></span>   <span class="keyword">get</span>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> key) <span class="keyword">const</span> {</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>     <span class="keywordtype">void</span> *<span class="keyword">const</span>* d = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a24b68bfbdc5dbdfd80c7b1fe8e166edc">FindGDM</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>());</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::Lookup</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeData</a>(d), key);</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> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>   <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ac19201fdbc52da593925ac2cad069852">get_context</a>() <span class="keyword">const</span>;</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> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">remove</span>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K) <span class="keyword">const</span>;</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>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">remove</span>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>                         <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">remove</span>() <span class="keyword">const</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="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">set</span>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">ProgramStateTrait<T>::data_type</a> D) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">set</span>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::value_type</a> E) <span class="keyword">const</span>;</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>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">set</span>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::value_type</a> E,</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C) <span class="keyword">const</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>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a164c51f07075dda5161cf004b8e06bf1">  401</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a164c51f07075dda5161cf004b8e06bf1">contains</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> key)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>     <span class="keywordtype">void</span> *<span class="keyword">const</span>* d = <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a24b68bfbdc5dbdfd80c7b1fe8e166edc">FindGDM</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>());</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::Contains</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeData</a>(d), key);</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> </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   <span class="comment">// Pretty-printing.</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afe36a432647cabcda3251dee36bcb1ac">print</a>(raw_ostream &Out, <span class="keyword">const</span> <span class="keywordtype">char</span> *nl = <span class="stringliteral">"\n"</span>,</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>              <span class="keyword">const</span> <span class="keywordtype">char</span> *sep = <span class="stringliteral">""</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1978c464d7a52b15d1583053beaf2cc0">printDOT</a>(raw_ostream &Out) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5ba3e0294c88d01e7c7a88917f594545">printTaint</a>(raw_ostream &Out, <span class="keyword">const</span> <span class="keywordtype">char</span> *nl = <span class="stringliteral">"\n"</span>,</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>                   <span class="keyword">const</span> <span class="keywordtype">char</span> *sep = <span class="stringliteral">""</span>) <span class="keyword">const</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>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a66f785de585dab9fde24c58360941550">dump</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a090ab9e31f8b3db8843a70b510e6f417">dumpTaint</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>   <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a0a6de782137f93c9778086a99bd47475" title="Increments the number of times this state is referenced.">ProgramStateRetain</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a69da66d24651ba079c1ed67a06ad3f99" title="Decrement the number of times this state is referenced.">ProgramStateRelease</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state);</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> <span class="comment"></span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment">  /// \sa invalidateValues()</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">  /// \sa invalidateRegions()</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   invalidateRegionsImpl(<a class="code" href="classllvm_1_1ArrayRef.html">ArrayRef<SVal></a> Values,</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>                         <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E, <span class="keywordtype">unsigned</span> BlockCount,</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>                         <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx,</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>                         <span class="keywordtype">bool</span> ResultsInSymbolEscape,</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>                         <a class="code" href="classllvm_1_1DenseSet.html">InvalidatedSymbols</a> *IS,</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>                         <a class="code" href="classclang_1_1ento_1_1RegionAndSymbolInvalidationTraits.html" title="Information about invalidation for a particular region/symbol.">RegionAndSymbolInvalidationTraits</a> *HTraits,</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</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) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> };</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> <span class="comment">// ProgramStateManager - Factory object for ProgramStates.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">  436</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> {</div>
+<div class="line"><a name="l00437"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a67515cf5ecabac01c3e9835156a4384d">  437</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a69da66d24651ba079c1ed67a06ad3f99" title="Decrement the number of times this state is referenced.">ProgramStateRelease</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state);</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> <span class="comment">  /// Eng - The SubEngine that owns this state manager.</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *Eng; <span class="comment">/* Can be null. */</span></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>   <a class="code" href="classclang_1_1ento_1_1EnvironmentManager.html">EnvironmentManager</a>                   EnvMgr;</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<StoreManager></a>              StoreMgr;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<ConstraintManager></a>         ConstraintMgr;</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>   ProgramState::GenericDataMap::Factory     GDMFactory;</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>   <span class="keyword">typedef</span> llvm::DenseMap<void*,std::pair<void*,void (*)(void*)> > GDMContextsTy;</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>   GDMContextsTy GDMContexts;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> <span class="comment"></span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> <span class="comment">  /// StateSet - FoldingSet containing all the states created for analyzing</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> <span class="comment">  ///  a particular function.  This is used to unique states.</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> <span class="comment"></span>  llvm::FoldingSet<ProgramState> StateSet;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> <span class="comment"></span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> <span class="comment">  /// Object that manages the data for all created SVals.</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<SValBuilder></a> svalBuilder;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> <span class="comment"></span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> <span class="comment">  /// Manages memory for created CallEvents.</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<CallEventManager></a> CallEventMgr;</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> <span class="comment"></span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> <span class="comment">  /// A BumpPtrAllocator to allocate states.</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> <span class="comment"></span>  llvm::BumpPtrAllocator &Alloc;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> <span class="comment">  /// A vector of ProgramStates that we can reuse.</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> <span class="comment"></span>  std::vector<ProgramState *> freeStates;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a950ced092d8cfe288b48083dfbd95952">ProgramStateManager</a>(<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,</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>                  <a class="code" href="namespaceclang_1_1ento.html#a5231c7eaa0bbf8e42b1b34dc49693ce6">StoreManagerCreator</a> CreateStoreManager,</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>                  <a class="code" href="namespaceclang_1_1ento.html#a4d7d96fa1c506fea22db01c92a212fc8">ConstraintManagerCreator</a> CreateConstraintManager,</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>                  llvm::BumpPtrAllocator& alloc,</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>                  <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *subeng);</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>   <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6f72df47a876c9f7eb9e7fb9c9c5c03">~ProgramStateManager</a>();</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ad14db74e616dbcf248f3aefd2ce50722">getInitialState</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *InitLoc);</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a name="l00479"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae4a0a09238b5fd1cae38727eceeeec80">  479</a></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> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae4a0a09238b5fd1cae38727eceeeec80">getContext</a>() { <span class="keywordflow">return</span> svalBuilder->getContext(); }</div>
+<div class="line"><a name="l00480"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a60240fb6ba1fd32e85f5307eadec8fd8">  480</a></span>   <span class="keyword">const</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> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a60240fb6ba1fd32e85f5307eadec8fd8">getContext</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> svalBuilder->getContext(); }</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a0f0bb185e9cdf92aa5fefcaa69c20e5f">  482</a></span>   <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a0f0bb185e9cdf92aa5fefcaa69c20e5f">getBasicVals</a>() {</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>     <span class="keywordflow">return</span> svalBuilder->getBasicValueFactory();</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> </div>
+<div class="line"><a name="l00486"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">  486</a></span>   <a class="code" href="classclang_1_1ento_1_1SValBuilder.html">SValBuilder</a> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a92072c261de0577852ede48446a2272b">getSValBuilder</a>() {</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>     <span class="keywordflow">return</span> *svalBuilder;</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_1ento_1_1ProgramStateManager.html#a1e75c44673ccdf5a7aae5ed3efce2931">  490</a></span>   <a class="code" href="classclang_1_1ento_1_1SymbolManager.html">SymbolManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a1e75c44673ccdf5a7aae5ed3efce2931">getSymbolManager</a>() {</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>     <span class="keywordflow">return</span> svalBuilder->getSymbolManager();</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>   }</div>
+<div class="line"><a name="l00493"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a3e6bdcd6dae34fbb267d71207df46de6">  493</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymbolManager.html">SymbolManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a3e6bdcd6dae34fbb267d71207df46de6">getSymbolManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>     <span class="keywordflow">return</span> svalBuilder->getSymbolManager();</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> </div>
+<div class="line"><a name="l00497"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a5ad2e0a0fc3cc7d0d79a5d84b48bcef1">  497</a></span>   llvm::BumpPtrAllocator& <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a5ad2e0a0fc3cc7d0d79a5d84b48bcef1">getAllocator</a>() { <span class="keywordflow">return</span> Alloc; }</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a name="l00499"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a07ad18416d6ebd3d52c93cfd885baae9">  499</a></span>   <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a>& <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a07ad18416d6ebd3d52c93cfd885baae9">getRegionManager</a>() {</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>     <span class="keywordflow">return</span> svalBuilder->getRegionManager();</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>   }</div>
+<div class="line"><a name="l00502"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a608029fc1e9e00e70bac9dcb62836d1e">  502</a></span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a>& <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a608029fc1e9e00e70bac9dcb62836d1e">getRegionManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>     <span class="keywordflow">return</span> svalBuilder->getRegionManager();</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"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a3f893d79f046e245f759c19bc18b3411">  506</a></span>   <a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a3f893d79f046e245f759c19bc18b3411">getCallEventManager</a>() { <span class="keywordflow">return</span> *CallEventMgr; }</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> </div>
+<div class="line"><a name="l00508"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">  508</a></span>   <a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a>& <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac00fc7fd7f598e5102411383f7d8da29">getStoreManager</a>() { <span class="keywordflow">return</span> *StoreMgr; }</div>
+<div class="line"><a name="l00509"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6ef94553df3674462723b5ab47267a1">  509</a></span>   <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a>& <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6ef94553df3674462723b5ab47267a1">getConstraintManager</a>() { <span class="keywordflow">return</span> *ConstraintMgr; }</div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">  510</a></span>   <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a>* <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a90e6224583eb42210216fbd63ec28d3d">getOwningEngine</a>() { <span class="keywordflow">return</span> Eng; }</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>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ad63e36c6d10e5a7b0f7a9fd9838da123">removeDeadBindings</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St,</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *LCtx,</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>                                     <a class="code" href="classclang_1_1ento_1_1SymbolReaper.html" title="A class responsible for cleaning up unused symbols.">SymbolReaper</a>& SymReaper);</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac48bf1a169917e0234bf378fd729f705">  518</a></span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ac48bf1a169917e0234bf378fd729f705">ArrayToPointer</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> Array, <a class="code" href="classclang_1_1QualType.html">QualType</a> ElementTy) {</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>     <span class="keywordflow">return</span> StoreMgr->ArrayToPointer(Array, ElementTy);</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>   <span class="comment">// Methods that manipulate the GDM.</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">addGDM</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St, <span class="keywordtype">void</span> *Key, <span class="keywordtype">void</span> *Data);</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a4c4780835ff9a227e355bcd74e7edec0">removeGDM</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <span class="keywordtype">void</span> *Key);</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> </div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   <span class="comment">// Methods that query & manipulate the Store.</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_1ento_1_1ProgramStateManager.html#abd374d07254d23b0c1fa42fb9940ecc7">  528</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#abd374d07254d23b0c1fa42fb9940ecc7">iterBindings</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state, <a class="code" href="classclang_1_1ento_1_1StoreManager_1_1BindingsHandler.html">StoreManager::BindingsHandler</a>& F) {</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>     StoreMgr->iterBindings(state->getStore(), F);</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>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab92da9cefb7aaf9045e88dab746fccb1">getPersistentState</a>(<a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> &Impl);</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a75f0e43424e33ef7665d9d3df1e23488">getPersistentStateWithGDM</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> FromState,</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>                                            <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> GDMState);</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> </div>
+<div class="line"><a name="l00536"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#aef14e4d48c19e35367dd0bc47e79e89e">  536</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#aef14e4d48c19e35367dd0bc47e79e89e">haveEqualEnvironments</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> S1, <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> S2) {</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>     <span class="keywordflow">return</span> S1->Env == S2->Env;</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"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a1896353016683ecfdf2bc746fcc8373b">  540</a></span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a1896353016683ecfdf2bc746fcc8373b">haveEqualStores</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> S1, <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> S2) {</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>     <span class="keywordflow">return</span> S1->store == S2->store;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   }</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   <span class="comment">// Generic Data Map methods.</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   <span class="comment">//==---------------------------------------------------------------------==//</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <span class="comment">// ProgramStateManager and ProgramState support a "generic data map" that allows</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>   <span class="comment">// different clients of ProgramState objects to embed arbitrary data within a</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   <span class="comment">// ProgramState object.  The generic data map is essentially an immutable map</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   <span class="comment">// from a "tag" (that acts as the "key" for a client) and opaque values.</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="comment">// Tags/keys and values are simply void* values.  The typical way that clients</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   <span class="comment">// generate unique tags are by taking the address of a static variable.</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>   <span class="comment">// Clients are responsible for ensuring that data values referred to by a</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>   <span class="comment">// the data pointer are immutable (and thus are essentially purely functional</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>   <span class="comment">// data).</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>   <span class="comment">// The templated methods below use the ProgramStateTrait<T> class</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   <span class="comment">// to resolve keys into the GDM and to return data values to clients.</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="comment">// Trait based GDM dispatch.</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00564"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a6e85dfe0378d517df2615dba799126a6">  564</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">set</span>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st, <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">ProgramStateTrait<T>::data_type</a> D) {</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">addGDM</a>(st, <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>(),</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>                   <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeVoidPtr</a>(D));</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>   }</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00570"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#aa3d3c7f82620eafe7311d1d08c46984e">  570</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">set</span>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st,</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::value_type</a> V,</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C) {</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> </div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">addGDM</a>(st, <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>(),</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>      <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeVoidPtr</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::Set</a>(st->get<T>(), K, V, C)));</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> </div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00580"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab6342e41c193890782253bc8efa2006c">  580</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab6342e41c193890782253bc8efa2006c">add</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st,</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>                      <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C) {</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">addGDM</a>(st, <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>(),</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>         <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeVoidPtr</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::Add</a>(st->get<T>(), K, C)));</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>   }</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>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00588"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a990a52bd52180a5f7d6f900ed9e52686">  588</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">remove</span>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st,</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>                         <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>                         <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C) {</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="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a9aea73e0e09bac69f853d5027fb128a5">addGDM</a>(st, <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>(),</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>      <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeVoidPtr</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::Remove</a>(st->get<T>(), K, C)));</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   }</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> </div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00597"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a1622971aa6cc17977ddab61947c129b8">  597</a></span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <span class="keyword">remove</span>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st) {</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a4c4780835ff9a227e355bcd74e7edec0">removeGDM</a>(st, <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>());</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>   }</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span> </div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>   <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a582558a02afec399739792102da44bfe">FindGDMContext</a>(<span class="keywordtype">void</span> *index,</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>                        <span class="keywordtype">void</span> *(*CreateContext)(llvm::BumpPtrAllocator&),</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>                        <span class="keywordtype">void</span>  (*DeleteContext)(<span class="keywordtype">void</span>*));</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>   <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00606"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#abc6957fa7d63a77db9ce0677e70e194d">  606</a></span>   <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#abc6957fa7d63a77db9ce0677e70e194d">get_context</a>() {</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>     <span class="keywordtype">void</span> *p = <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a582558a02afec399739792102da44bfe">FindGDMContext</a>(<a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::GDMIndex</a>(),</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>                              <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::CreateContext</a>,</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>                              <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::DeleteContext</a>);</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span> </div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>     <span class="keywordflow">return</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::MakeContext</a>(p);</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>   }</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span> </div>
+<div class="line"><a name="l00614"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ade9e139f156fe378c0d61cb2b8a32cc3">  614</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ade9e139f156fe378c0d61cb2b8a32cc3">EndPath</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> St) {</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>     ConstraintMgr->EndPath(St);</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>   }</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> };</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> </div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span> </div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span> <span class="comment">// Out-of-line method definitions for ProgramState.</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span> <span class="comment">//===----------------------------------------------------------------------===//</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"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#aa0ce55de4bd8c7552e8955ded0c4312f">  624</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1ConstraintManager.html">ConstraintManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#aa0ce55de4bd8c7552e8955ded0c4312f" title="Return the ConstraintManager.">ProgramState::getConstraintManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>   <span class="keywordflow">return</span> stateMgr-><a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ae6ef94553df3674462723b5ab47267a1">getConstraintManager</a>();</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span> }</div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   </div>
+<div class="line"><a name="l00628"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6fbc592176f294308594867f4c45d044">  628</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a>* <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6fbc592176f294308594867f4c45d044" title="Utility method for getting regions.">ProgramState::getRegion</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *D,</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC)<span class="keyword"> const </span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span> <span class="keyword"></span>{</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a07ad18416d6ebd3d52c93cfd885baae9">getRegionManager</a>().<a class="code" href="classclang_1_1ento_1_1MemRegionManager.html#a8ba4db1926a47f16b352463774bcb24a">getVarRegion</a>(D, LC);</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> </div>
+<div class="line"><a name="l00634"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#af461967ca3dad8af93bc8d0709c31064">  634</a></span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af461967ca3dad8af93bc8d0709c31064">ProgramState::assume</a>(<a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> Cond,</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>                                       <span class="keywordtype">bool</span> Assumption)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>   <span class="keywordflow">if</span> (Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>())</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>     <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span> </div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().ConstraintMgr</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>       ->assume(<span class="keyword">this</span>, Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a>>(), Assumption);</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>   </div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span> <span class="keyword">inline</span> std::pair<ProgramStateRef , ProgramStateRef ></div>
+<div class="line"><a name="l00644"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a1392e0c2010a87d63ed56d3cb2ef4366">  644</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#af461967ca3dad8af93bc8d0709c31064">ProgramState::assume</a>(<a class="code" href="classclang_1_1ento_1_1DefinedOrUnknownSVal.html">DefinedOrUnknownSVal</a> Cond)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   <span class="keywordflow">if</span> (Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#a482077b0704e75d4c618497c1f94e4cf">isUnknown</a>())</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>     <span class="keywordflow">return</span> std::make_pair(<span class="keyword">this</span>, <span class="keyword">this</span>);</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="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().ConstraintMgr</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>       ->assumeDual(<span class="keyword">this</span>, Cond.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a>>());</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> </div>
+<div class="line"><a name="l00652"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#af9241cd64326bbf294f99438c02bea3b">  652</a></span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab7ebab8f5de82afe3d2aedc834fbf6cf">ProgramState::bindLoc</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> LV, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<Loc></a> L = LV.<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="l00654"></a><span class="lineno">  654</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab7ebab8f5de82afe3d2aedc834fbf6cf">bindLoc</a>(*L, V);</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>   <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span> }</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span> </div>
+<div class="line"><a name="l00658"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3">  658</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">ProgramState::getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD,</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getLValueVar(VD, LC);</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> </div>
+<div class="line"><a name="l00663"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ac17a646191abd74488fa79e3003be8c5">  663</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">ProgramState::getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CompoundLiteralExpr.html">CompoundLiteralExpr</a> *literal,</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LC)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getLValueCompoundLiteral(literal, LC);</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span> }</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span> </div>
+<div class="line"><a name="l00668"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a81caa427c78be1ebc2044f5e127161f4">  668</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">ProgramState::getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCIvarDecl.html">ObjCIvarDecl</a> *D, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getLValueIvar(D, Base);</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span> }</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> </div>
+<div class="line"><a name="l00672"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a52a81f6c0af813f4f4a0018bbe302b9b">  672</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">ProgramState::getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *D, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getLValueField(D, Base);</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> </div>
+<div class="line"><a name="l00676"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5032186a03815f298b60b1c1332908b3">  676</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">ProgramState::getLValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1IndirectFieldDecl.html">IndirectFieldDecl</a> *D,</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>                                     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>   <a class="code" href="classclang_1_1ento_1_1StoreManager.html">StoreManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a> = *<a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1IndirectFieldDecl.html#a6a0fd4de9f1a53fb21791d50c9ed2abc">IndirectFieldDecl::chain_iterator</a> I = D-><a class="code" href="classclang_1_1IndirectFieldDecl.html#a6fc82272044f7f5834621a2f9d66540d">chain_begin</a>(),</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>                                          E = D-><a class="code" href="classclang_1_1IndirectFieldDecl.html#a844b66f0d6ce8af21722f424e884e6d0">chain_end</a>();</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     Base = SM.<a class="code" href="classclang_1_1ento_1_1StoreManager.html#a0e33708b585bde3f2cc921e3be9b3989">getLValueField</a>(cast<FieldDecl>(*I), Base);</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   }</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span> </div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>   <span class="keywordflow">return</span> Base;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span> }</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a7b321014202e52cb4090936e61c1485d">  688</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">ProgramState::getLValue</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> ElementType, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> Idx, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1Base.html">Base</a>)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<NonLoc></a> N = Idx.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1NonLoc.html">NonLoc</a>>())</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getLValueElement(ElementType, *N, Base);</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> }</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> </div>
+<div class="line"><a name="l00694"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397">  694</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">ProgramState::getSVal</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Ex,</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx)<span class="keyword"> const</span>{</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   <span class="keywordflow">return</span> Env.<a class="code" href="classclang_1_1ento_1_1Environment.html#a536ef585f5d951d933b49a1fa7ee1d88">getSVal</a>(<a class="code" href="classclang_1_1ento_1_1EnvironmentEntry.html">EnvironmentEntry</a>(Ex, LCtx),</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>                      *<a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().svalBuilder);</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span> }</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span> </div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a></div>
+<div class="line"><a name="l00701"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad1c29149f917399f65ba5707b9954b02">  701</a></span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad1c29149f917399f65ba5707b9954b02">ProgramState::getSValAsScalarOrLoc</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="l00702"></a><span class="lineno">  702</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Ex = dyn_cast<Expr>(S)) {</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> T = Ex->getType();</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>     <span class="keywordflow">if</span> (Ex->isGLValue() || <a class="code" href="classclang_1_1ento_1_1Loc.html#ade52f99777d7f54628cdac05e9992878">Loc::isLocType</a>(T) ||</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>         T-><a class="code" href="classclang_1_1Type.html#afa340c23f27a4a28f20bdf52d69a0a4c" title="Determine whether this type is an integral or enumeration type.">isIntegralOrEnumerationType</a>())</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">getSVal</a>(S, LCtx);</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> </div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1UnknownVal.html">UnknownVal</a>();</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> }</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span> </div>
+<div class="line"><a name="l00713"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5eb966ea5b996e382d11d07a6d295628">  713</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5eb966ea5b996e382d11d07a6d295628" title="Returns the "raw" SVal bound to LV before any value simplfication.">ProgramState::getRawSVal</a>(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> LV, <a class="code" href="classclang_1_1QualType.html">QualType</a> T)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getBinding(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(), LV, T);</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span> }</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span> </div>
+<div class="line"><a name="l00717"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad271183de7ec926aa4daae1112593686">  717</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afdd126c2079ca5966c5802a82045f397" title="Returns the SVal bound to the statement 'S' in the state's environment.">ProgramState::getSVal</a>(<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)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().StoreMgr->getBinding(<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a79d263a5ea345d424705bd0f3847e4b8">getStore</a>(),</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>                                                 <a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(R));</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span> }</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span> </div>
+<div class="line"><a name="l00722"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a8395eaa55fcd938bea2dc47cdaffaaa2">  722</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1BasicValueFactory.html">BasicValueFactory</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a8395eaa55fcd938bea2dc47cdaffaaa2">ProgramState::getBasicVals</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a0f0bb185e9cdf92aa5fefcaa69c20e5f">getBasicVals</a>();</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> }</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a67971ed7f918b15396a2a0fd6441ef66">  726</a></span> <span class="keyword">inline</span> <a class="code" href="classclang_1_1ento_1_1SymbolManager.html">SymbolManager</a> &<a class="code" href="classclang_1_1ento_1_1ProgramState.html#a67971ed7f918b15396a2a0fd6441ef66">ProgramState::getSymbolManager</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a1e75c44673ccdf5a7aae5ed3efce2931">getSymbolManager</a>();</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span> }</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span> </div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00731"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ae414749809ef950da2664e486d98df79">  731</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ae414749809ef950da2664e486d98df79">ProgramState::add</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#ab6342e41c193890782253bc8efa2006c">add</a><T>(<span class="keyword">this</span>, K, get_context<T>());</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span> }</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span> </div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00736"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ac19201fdbc52da593925ac2cad069852">  736</a></span> <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ac19201fdbc52da593925ac2cad069852">ProgramState::get_context</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#abc6957fa7d63a77db9ce0677e70e194d">get_context</a><T>();</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">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00741"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a7aa29c5705830f8d97fba7cd00b16918">  741</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f0c6c9f67ba7ad4836c660f3d77655f">ProgramState::remove</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a990a52bd52180a5f7d6f900ed9e52686">remove</a><T>(<span class="keyword">this</span>, K, get_context<T>());</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span> }</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> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00746"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a3cc3b72bd7478ce1dd25a494c3726a42">  746</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f0c6c9f67ba7ad4836c660f3d77655f">ProgramState::remove</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>                                <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a990a52bd52180a5f7d6f900ed9e52686">remove</a><T>(<span class="keyword">this</span>, K, C);</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span> }</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> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00752"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f0c6c9f67ba7ad4836c660f3d77655f">  752</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a5f0c6c9f67ba7ad4836c660f3d77655f">ProgramState::remove</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a990a52bd52180a5f7d6f900ed9e52686">remove</a><T>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span> }</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> </div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00757"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#afd8e60965d7ecadfebd9cba3cddc192a">  757</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afd8e60965d7ecadfebd9cba3cddc192a">ProgramState::set</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html#a37cc9c0e14891245801abe4d0a57c857">ProgramStateTrait<T>::data_type</a> D)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a6e85dfe0378d517df2615dba799126a6">set</a><T>(<span class="keyword">this</span>, D);</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span> }</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> </div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00762"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad2e8e3a20514a099f34c184f7bb3bc33">  762</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afd8e60965d7ecadfebd9cba3cddc192a">ProgramState::set</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>                             <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::value_type</a> E)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a6e85dfe0378d517df2615dba799126a6">set</a><T>(<span class="keyword">this</span>, K, E, get_context<T>());</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span> }</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span> </div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
+<div class="line"><a name="l00768"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a367512bac9ee5b6e493ba627908011b0">  768</a></span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#afd8e60965d7ecadfebd9cba3cddc192a">ProgramState::set</a>(<span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::key_type</a> K,</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>                             <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::value_type</a> E,</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>                             <span class="keyword">typename</span> <a class="code" href="structclang_1_1ento_1_1ProgramStateTrait.html">ProgramStateTrait<T>::context_type</a> C)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html#ab6d932020acb28bea24afd00b00e8c00" title="Return the ProgramStateManager associated with this state.">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a6e85dfe0378d517df2615dba799126a6">set</a><T>(<span class="keyword">this</span>, K, E, C);</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span> }</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span> </div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span> <span class="keyword">template</span> <<span class="keyword">typename</span> CB></div>
+<div class="line"><a name="l00775"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a6a1475a3798d6e510aa787ebc2027f7d">  775</a></span> CB <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">ProgramState::scanReachableSymbols</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>   CB cb(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(val, cb);</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>   <span class="keywordflow">return</span> cb;</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</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="keyword">template</span> <<span class="keyword">typename</span> CB></div>
+<div class="line"><a name="l00782"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#a17f06977a19f2fd76838a66662cc7098">  782</a></span> CB <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">ProgramState::scanReachableSymbols</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *beg, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> *end)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>   CB cb(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(beg, end, cb);</div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>   <span class="keywordflow">return</span> cb;</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span> }</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span> </div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> <span class="keyword">template</span> <<span class="keyword">typename</span> CB></div>
+<div class="line"><a name="l00789"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ProgramState.html#af693575118b1b9015a8f406e0c0cb21f">  789</a></span> CB <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">ProgramState::scanReachableSymbols</a>(<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> * <span class="keyword">const</span> *beg,</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</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> * <span class="keyword">const</span> *end)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>   CB cb(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>   <a class="code" href="classclang_1_1ento_1_1ProgramState.html#a2e9e9f5e5b9148a48b33c66a14985e2c" title="Visits the symbols reachable from the given SVal using the provided SymbolVisitor.">scanReachableSymbols</a>(beg, end, cb);</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>   <span class="keywordflow">return</span> cb;</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span> }</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> <span class="comment"></span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span> <span class="comment">/// \class ScanReachableSymbols</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span> <span class="comment">/// A Utility class that allows to visit the reachable symbols using a custom</span></div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span> <span class="comment">/// SymbolVisitor.</span></div>
+<div class="line"><a name="l00799"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html">  799</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html">ScanReachableSymbols</a> {</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseSet.html">llvm::DenseSet<const void*></a> <a class="code" href="classllvm_1_1DenseSet.html">VisitedItems</a>;</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>   <a class="code" href="classllvm_1_1DenseSet.html">VisitedItems</a> visited;</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state;</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a> &visitor;</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span> <span class="keyword">public</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"><a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a4424e866310f0b03b5cde03925e2bbc4">  807</a></span>   <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a4424e866310f0b03b5cde03925e2bbc4">ScanReachableSymbols</a>(<a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> st, <a class="code" href="classclang_1_1ento_1_1SymbolVisitor.html">SymbolVisitor</a>& v)</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>     : state(st), visitor(v) {}</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span> </div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<a class="code" href="classclang_1_1ento_1_1nonloc_1_1LazyCompoundVal.html">nonloc::LazyCompoundVal</a> val);</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html">nonloc::CompoundVal</a> val);</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> val);</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<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="l00814"></a><span class="lineno">  814</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ScanReachableSymbols.html#a578bf6a6b0ea0c500ea6a03deba41a11">scan</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1SymExpr.html" title="Symbolic value. These values used to capture symbolic execution of the program.">SymExpr</a> *sym);</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span> };</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span> </div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span> } <span class="comment">// end ento namespace</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span> </div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> } <span class="comment">// end clang namespace</span></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="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 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/ProgramState__Fwd_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState__Fwd_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState__Fwd_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/ProgramState__Fwd_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,122 @@
+<!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: ProgramState_Fwd.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">ProgramState_Fwd.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="ProgramState__Fwd_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">//== ProgramState_Fwd.h - Incomplete declarations of ProgramState -*- C++ -*--=/</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="preprocessor">#ifndef LLVM_CLANG_PROGRAMSTATE_FWD_H</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_PROGRAMSTATE_FWD_H</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "llvm/ADT/IntrusiveRefCntPtr.h"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>   <span class="keyword">class </span>ProgramState;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>   <span class="keyword">class </span>ProgramStateManager;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>   <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ento.html#ae790c6583b386898d66be65feec527e0" title="Increments the number of times this state is referenced.">ProgramStateRetain</a>(<span class="keyword">const</span> ProgramState *state);</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>   <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1ento.html#ae9fbda1f55f904a2aeeef96d2b078c04" title="Decrement the number of times this state is referenced.">ProgramStateRelease</a>(<span class="keyword">const</span> ProgramState *state);</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</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> </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo_3_01const_01clang_1_1ento_1_1ProgramState_01_4.html">   26</a></span>   <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo.html">IntrusiveRefCntPtrInfo</a><const clang::ento::ProgramState> {</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo_3_01const_01clang_1_1ento_1_1ProgramState_01_4.html#ac742c824c9418c97db74491d1a0dce97">   27</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo_3_01const_01clang_1_1ento_1_1ProgramState_01_4.html#ac742c824c9418c97db74491d1a0dce97">retain</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">clang::ento::ProgramState</a> *state) {</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>       <a class="code" href="namespaceclang_1_1ento.html#ae790c6583b386898d66be65feec527e0" title="Increments the number of times this state is referenced.">clang::ento::ProgramStateRetain</a>(state);</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>     }</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo_3_01const_01clang_1_1ento_1_1ProgramState_01_4.html#a79408576b2a1831082997ffc6bc116f6">   30</a></span>     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1IntrusiveRefCntPtrInfo_3_01const_01clang_1_1ento_1_1ProgramState_01_4.html#a79408576b2a1831082997ffc6bc116f6">release</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">clang::ento::ProgramState</a> *state) {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>       <a class="code" href="namespaceclang_1_1ento.html#ae9fbda1f55f904a2aeeef96d2b078c04" title="Decrement the number of times this state is referenced.">clang::ento::ProgramStateRelease</a>(state);</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>     }</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   };</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> }</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="keyword">namespace </span>ento {</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento.html#a4e45a121820f0d80d8910093dd33a1df">   38</a></span>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">IntrusiveRefCntPtr<const ProgramState></a> <a class="code" href="namespaceclang_1_1ento.html#a4e45a121820f0d80d8910093dd33a1df">ProgramStateRef</a>;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> }</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> }</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 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/PseudoConstantAnalysis_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,307 @@
+<!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: PseudoConstantAnalysis.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_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">PseudoConstantAnalysis.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="PseudoConstantAnalysis_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">//== PseudoConstantAnalysis.cpp - Find Pseudoconstants in the AST-*- C++ -*-==//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This file tracks the usage of variables in a Decl body to see if they are</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// never written to, implying that they constant. This is useful in static</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">// analysis to see if a developer might have intended a variable to be const.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="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="PseudoConstantAnalysis_8h.html">clang/Analysis/Analyses/PseudoConstantAnalysis.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Expr_8h.html">clang/AST/Expr.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="Stmt_8h.html">clang/AST/Stmt.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/ADT/SmallPtrSet.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include <deque></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment">// The number of ValueDecls we want to keep track of by default (per-function)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="PseudoConstantAnalysis_8cpp.html#af0a2b5d1e6cc31e080aa3e21c21dd12f">   26</a></span> <span class="preprocessor">#define VARDECL_SET_SIZE 256</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">   27</a></span> <span class="preprocessor"></span><span class="keyword">typedef</span> llvm::SmallPtrSet<const VarDecl*, VARDECL_SET_SIZE> <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="classclang_1_1PseudoConstantAnalysis.html#abeafc62e7b4d6ae33aaa44acb072ddd2">   29</a></span> <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#abeafc62e7b4d6ae33aaa44acb072ddd2">PseudoConstantAnalysis::PseudoConstantAnalysis</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *DeclBody) :</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>       DeclBody(DeclBody), Analyzed(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   NonConstantsImpl = <span class="keyword">new</span> <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   UsedVarsImpl = <span class="keyword">new</span> <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>;</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> </div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="classclang_1_1PseudoConstantAnalysis.html#a985a28a042addbee1f5ecb7a01447072">   35</a></span> <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#a985a28a042addbee1f5ecb7a01447072">PseudoConstantAnalysis::~PseudoConstantAnalysis</a>() {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">delete</span> (<a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>*)NonConstantsImpl;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">delete</span> (<a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>*)UsedVarsImpl;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> }</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">// Returns true if the given ValueDecl is never written to in the given DeclBody</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="classclang_1_1PseudoConstantAnalysis.html#af18a7e448477f29a3fe2fec8bbcf175a">   41</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#af18a7e448477f29a3fe2fec8bbcf175a">PseudoConstantAnalysis::isPseudoConstant</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD) {</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="comment">// Only local and static variables can be pseudoconstants</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <span class="keywordflow">if</span> (!VD-><a class="code" href="classclang_1_1VarDecl.html#a86bb48bd6ced47b79a59af7df7108184">hasLocalStorage</a>() && !VD-><a class="code" href="classclang_1_1VarDecl.html#a513c56596b4d12e99dd42a4f3ff646d4">isStaticLocal</a>())</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keywordflow">if</span> (!Analyzed) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a9b1fb8b91154c98283e0e67b56fe5238" title="Run one or more source code analyses.">RunAnalysis</a>();</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     Analyzed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   }</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a> *NonConstants = (<a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>*)NonConstantsImpl;</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>   <span class="keywordflow">return</span> !NonConstants->count(VD);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">// Returns true if the variable was used (self assignments don't count)</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classclang_1_1PseudoConstantAnalysis.html#ae630de504f51b1e8c6a4f16465b61283">   57</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#ae630de504f51b1e8c6a4f16465b61283">PseudoConstantAnalysis::wasReferenced</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD) {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keywordflow">if</span> (!Analyzed) {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>     <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a9b1fb8b91154c98283e0e67b56fe5238" title="Run one or more source code analyses.">RunAnalysis</a>();</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     Analyzed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   }</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a> *UsedVars = (<a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>*)UsedVarsImpl;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <span class="keywordflow">return</span> UsedVars->count(VD);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">// Returns a Decl from a (Block)DeclRefExpr (if any)</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *PseudoConstantAnalysis::getDecl(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E) {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclRefExpr.html" title="A reference to a declared variable, function, enum, etc. [C99 6.5.1p2].">DeclRefExpr</a> *DR = dyn_cast<DeclRefExpr>(E))</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>     <span class="keywordflow">return</span> DR->getDecl();</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     <span class="keywordflow">return</span> 0;</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> </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="keywordtype">void</span> <a class="code" href="namespaceclang_1_1frontend.html#af6106d0ffa6ce83f34a9961f2d374494a9b1fb8b91154c98283e0e67b56fe5238" title="Run one or more source code analyses.">PseudoConstantAnalysis::RunAnalysis</a>() {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   std::deque<const Stmt *> WorkList;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a> *NonConstants = (<a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>*)NonConstantsImpl;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   <a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a> *UsedVars = (<a class="code" href="PseudoConstantAnalysis_8cpp.html#a4a104fda19d99ae1ce2796411b99a73d">VarDeclSet</a>*)UsedVarsImpl;</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>   <span class="comment">// Start with the top level statement of the function</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   WorkList.push_back(DeclBody);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <span class="keywordflow">while</span> (!WorkList.empty()) {</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Head = WorkList.front();</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>     WorkList.pop_front();</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>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Ex = dyn_cast<Expr>(Head))</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>       Head = Ex->IgnoreParenCasts();</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>     <span class="keywordflow">switch</span> (Head-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>()) {</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     <span class="comment">// Case 1: Assignment operators modifying VarDecls</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">case</span> Stmt::BinaryOperatorClass: {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</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 = cast<BinaryOperator>(Head);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>       <span class="comment">// Look for a Decl on the LHS</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *LHSDecl = getDecl(BO-><a class="code" href="classclang_1_1BinaryOperator.html#ad8b108ac1a7795b9f388d8dece6b8924">getLHS</a>()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>());</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>       <span class="keywordflow">if</span> (!LHSDecl)</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>       <span class="comment">// We found a binary operator with a DeclRefExpr on the LHS. We now check</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>       <span class="comment">// for any of the assignment operators, implying that this Decl is being</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>       <span class="comment">// written to.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>       <span class="keywordflow">switch</span> (BO-><a class="code" href="classclang_1_1BinaryOperator.html#a497174c5cc2816aa3a3f29e12dd93165">getOpcode</a>()) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>       <span class="comment">// Self-assignments don't count as use of a variable</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af0f6693357ca6bc7488c1d4de4cbe303">BO_Assign</a>: {</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>         <span class="comment">// Look for a DeclRef on the RHS</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *RHSDecl = getDecl(BO-><a class="code" href="classclang_1_1BinaryOperator.html#a1ab10aae0ffa01be5d1a979e6da285e6">getRHS</a>()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>());</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="comment">// If the Decls match, we have self-assignment</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>         <span class="keywordflow">if</span> (LHSDecl == RHSDecl)</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>           <span class="comment">// Do not visit the children</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>           <span class="keywordflow">continue</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>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af2474871202242b544a408e208f2399e">BO_AddAssign</a>:</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1abc31e47183ba44dc8fc651c06cce3277">BO_SubAssign</a>:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ae54f31f3a3a80606d1570d18fd3e2aa5">BO_MulAssign</a>:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1af6f0e4f3b441322d5d3e662929e03e5c">BO_DivAssign</a>:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab40fb7aa73ca8472468f2623a6339759">BO_AndAssign</a>:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a7dd0c189f68df30c2b390bb99d140cbf">BO_OrAssign</a>:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a51df4970d4b108c4481cb80eeb47f436">BO_XorAssign</a>:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a8039f4b36186fda6134f233fd7f45ce3">BO_ShlAssign</a>:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a604ed36a5eeadd90dc085a248eca4374">BO_ShrAssign</a>: {</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD = dyn_cast<<a class="code" href="classclang_1_1VarDecl.html">VarDecl</a>>(LHSDecl);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>         <span class="comment">// The DeclRefExpr is being assigned to - mark it as non-constant</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>         <span class="keywordflow">if</span> (VD)</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>           NonConstants->insert(VD);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>       }</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>       }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     }</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     <span class="comment">// Case 2: Pre/post increment/decrement and address of</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     <span class="keywordflow">case</span> Stmt::UnaryOperatorClass: {</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *UO = cast<UnaryOperator>(Head);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>       <span class="comment">// Look for a DeclRef in the subexpression</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = getDecl(UO-><a class="code" href="classclang_1_1UnaryOperator.html#a64fdf148f4f40ae0a35e2bc7e0bfac10">getSubExpr</a>()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>());</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>       <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>       <span class="comment">// We found a unary operator with a DeclRef as a subexpression. We now</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>       <span class="comment">// check for any of the increment/decrement operators, as well as</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>       <span class="comment">// addressOf.</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>       <span class="keywordflow">switch</span> (UO-><a class="code" href="classclang_1_1UnaryOperator.html#a4fceff35ff6b7f186590155fa21df48b">getOpcode</a>()) {</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffa5cd3ab72d62411d215161f9f852cc589">UO_PostDec</a>:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffa6d908d314a5f7c26833ffc0c453b9a40">UO_PostInc</a>:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffade6bd9d0cc5c62a832da915f7e837562">UO_PreDec</a>:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffa8e13dc1c94cb3c4aec9526575bdd424d">UO_PreInc</a>:</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>         <span class="comment">// The DeclRef is being changed - mark it as non-constant</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffa74539ddfc7ac7056cfaeeca1deed46be">UO_AddrOf</a>: {</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>         <span class="comment">// If we are taking the address of the DeclRefExpr, assume it is</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>         <span class="comment">// non-constant.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD = dyn_cast<<a class="code" href="classclang_1_1VarDecl.html">VarDecl</a>>(D);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>         <span class="keywordflow">if</span> (VD)</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>           NonConstants->insert(VD);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>       }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>       }</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>       <span class="keywordflow">break</span>;</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> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     <span class="comment">// Case 3: Reference Declarations</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     <span class="keywordflow">case</span> Stmt::DeclStmtClass: {</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *DS = cast<DeclStmt>(Head);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>       <span class="comment">// Iterate over each decl and see if any of them contain reference decls</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>       <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclStmt.html#afa787c81556cef57b0df3f11db4de056">DeclStmt::const_decl_iterator</a> I = DS-><a class="code" href="classclang_1_1DeclStmt.html#a768633348948e677e5cba8191d5507be">decl_begin</a>(),</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>           E = DS-><a class="code" href="classclang_1_1DeclStmt.html#a30441673be0ce59ad1a5ee98481d33ab">decl_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>         <span class="comment">// We only care about VarDecls</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD = dyn_cast<<a class="code" href="classclang_1_1VarDecl.html">VarDecl</a>>(*I);</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>         <span class="keywordflow">if</span> (!VD)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>           <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>         <span class="comment">// We found a VarDecl; make sure it is a reference type</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>         <span class="keywordflow">if</span> (!VD-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>().<a class="code" href="classclang_1_1QualType.html#a669d7ba0645cd05d53508e3c1895075a">getTypePtr</a>()-><a class="code" href="classclang_1_1Type.html#ab2b860560d2ac12cd365aa09b143d195">isReferenceType</a>())</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>           <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>         <span class="comment">// Try to find a Decl in the initializer</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = getDecl(VD-><a class="code" href="classclang_1_1VarDecl.html#af6438debfc45cb2ad2d5cb5ce2711e0c">getInit</a>()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>());</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>         <span class="keywordflow">if</span> (!D)</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>           <span class="keywordflow">break</span>;</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>         <span class="comment">// If the reference is to another var, add the var to the non-constant</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>         <span class="comment">// list</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *RefVD = dyn_cast<VarDecl>(D)) {</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>           NonConstants->insert(RefVD);</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>           <span class="keywordflow">continue</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>       }</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>       <span class="keywordflow">break</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> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <span class="comment">// Case 4: Variable references</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">case</span> Stmt::DeclRefExprClass: {</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclRefExpr.html" title="A reference to a declared variable, function, enum, etc. [C99 6.5.1p2].">DeclRefExpr</a> *DR = cast<DeclRefExpr>(Head);</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD = dyn_cast<VarDecl>(DR-><a class="code" href="classclang_1_1DeclRefExpr.html#a22eec021070f5d0733e90b6c5c127a25">getDecl</a>())) {</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>         <span class="comment">// Add the Decl to the used list</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>         UsedVars->insert(VD);</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>       }</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>     }</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>     <span class="comment">// Case 5: Block expressions</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>     <span class="keywordflow">case</span> Stmt::BlockExprClass: {</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1BlockExpr.html">BlockExpr</a> *B = cast<BlockExpr>(Head);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>       <span class="comment">// Add the body of the block to the list</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>       WorkList.push_back(B-><a class="code" href="classclang_1_1BlockExpr.html#aa5194699808c24cd2fa3ccf9d9a76301">getBody</a>());</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     }</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>     } <span class="comment">// switch (head->getStmtClass())</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">// Add all substatements to the worklist</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     <span class="keywordflow">for</span> (<a class="code" href="structclang_1_1ConstStmtRange.html">Stmt::const_child_range</a> I = Head-><a class="code" href="classclang_1_1Stmt.html#a489148e5d234a5a7f00d8b02981bcee5">children</a>(); I; ++I)</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>       <span class="keywordflow">if</span> (*I)</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>         WorkList.push_back(*I);</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   } <span class="comment">// while (!WorkList.empty())</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 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/PseudoConstantAnalysis_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,325 @@
+<!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: PseudoConstantAnalysis.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_c63c305ced188fe7fa423548af4807d3.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_d475dbd19d31b48f9c4cacce35904903.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">PseudoConstantAnalysis.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="PseudoConstantAnalysis_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/Analysis/Release+Asserts/PseudoConstantAnalysis.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/Release+Asserts/PseudoConstantAnalysis.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  PseudoConstantAnalysis.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>/PseudoConstantAnalysis.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.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/StringRef.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/DiagnosticOptions.def \</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/Analysis/../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../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/Analysis/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Analysis/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>/PseudoConstantAnalysis.h:</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Diagnostic.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/Analysis/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/Analysis/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Analysis/../../include/clang/Basic/DiagnosticOptions.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/Analysis/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.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/ADT/DenseMapInfo.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/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../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="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Specifiers.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/Support/PrettyStackTrace.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/tools/clang/lib/Analysis/../../include/clang/AST/DeclNodes.inc:</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/tools/clang/lib/Analysis/../../include/clang/AST/ExternalASTSource.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/tools/clang/lib/Analysis/../../include/clang/AST/CharUnits.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/tools/clang/lib/Analysis/../../include/clang/AST/Redeclarable.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/tools/clang/lib/Analysis/../../include/clang/AST/Type.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/tools/clang/lib/Analysis/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.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/Analysis/../../include/clang/AST/TemplateName.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/Analysis/../../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="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/Analysis/../../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="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/Optional.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/Twine.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/Analysis/../../include/clang/AST/TypeNodes.def:</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/Analysis/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/OwningPtr.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/Analysis/../../include/clang/AST/Expr.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/Analysis/../../include/clang/AST/ASTVector.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/Analysis/../../include/clang/AST/DeclAccessPair.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/Analysis/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/AST/TemplateBase.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/Analysis/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/tools/clang/lib/Analysis/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 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/PseudoConstantAnalysis_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PseudoConstantAnalysis_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,124 @@
+<!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: PseudoConstantAnalysis.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_08cb8dd42fdabd3361bfbdc9f41acf33.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_b4fe6fb44b150d8be57689f1bc720b21.html">Analyses</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">PseudoConstantAnalysis.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="PseudoConstantAnalysis_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">//== PseudoConstantAnalysis.h - Find Pseudo-constants in the AST -*- C++ -*-==//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This file tracks the usage of variables in a Decl body to see if they are</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// never written to, implying that they constant. This is useful in static</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">// analysis to see if a developer might have intended a variable to be const.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="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_ANALYSIS_PSEUDOCONSTANTANALYSIS</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_ANALYSIS_PSEUDOCONSTANTANALYSIS</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="Stmt_8h.html">clang/AST/Stmt.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="classclang_1_1PseudoConstantAnalysis.html">   23</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1PseudoConstantAnalysis.html">PseudoConstantAnalysis</a> {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#abeafc62e7b4d6ae33aaa44acb072ddd2">PseudoConstantAnalysis</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *DeclBody);</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#a985a28a042addbee1f5ecb7a01447072">~PseudoConstantAnalysis</a>();</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="keywordtype">bool</span> <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#af18a7e448477f29a3fe2fec8bbcf175a">isPseudoConstant</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD);</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1PseudoConstantAnalysis.html#ae630de504f51b1e8c6a4f16465b61283">wasReferenced</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD);</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="keyword">private</span>:</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   <span class="keywordtype">void</span> RunAnalysis();</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *getDecl(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="comment">// for storing the result of analyzed ValueDecls</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keywordtype">void</span> *NonConstantsImpl;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordtype">void</span> *UsedVarsImpl;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *DeclBody;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keywordtype">bool</span> Analyzed;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> };</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> }</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 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/PthreadLockChecker_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PthreadLockChecker_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PthreadLockChecker_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/PthreadLockChecker_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,269 @@
+<!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: PthreadLockChecker.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">PthreadLockChecker.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="PthreadLockChecker_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">//===--- PthreadLockChecker.cpp - Check for locking problems ---*- 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 PthreadLockChecker, a simple lock -> unlock checker.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// Also handles XNU locks, which behave similarly enough to share code.</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="BugType_8h.html">clang/StaticAnalyzer/Core/BugReporter/BugType.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</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="l00018"></a><span class="lineno">   18</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="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 "<a class="code" href="ProgramStateTrait_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/ImmutableList.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">using namespace </span>ento;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">class </span>PthreadLockChecker : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1Checker.html">Checker</a>< check::PostStmt<CallExpr> > {</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_doublelock;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">mutable</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<BugType></a> BT_lor;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">enum</span> LockingSemantics {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>     NotApplicable = 0,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>     PthreadSemantics,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>     XNUSemantics</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   };</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   <span class="keywordtype">void</span> checkPostStmt(<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="l00037"></a><span class="lineno">   37</span>     </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keywordtype">void</span> AcquireLock(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> lock,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>                    <span class="keywordtype">bool</span> isTryLock, <span class="keyword">enum</span> LockingSemantics semantics) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   <span class="keywordtype">void</span> ReleaseLock(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE, <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> lock) <span class="keyword">const</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="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">// GDM Entry for tracking lock state.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <a class="code" href="CheckerContext_8h.html#aa27656fa0ce65b0d9ba12eb3c02e8be9">REGISTER_LIST_WITH_PROGRAMSTATE</a>(LockSet, <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> *)</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> void PthreadLockChecker::checkPostStmt(const <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</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="l00051"></a><span class="lineno">   51</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state = C.getState();</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = C.getLocationContext();</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   StringRef FName = C.getCalleeName(CE);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="keywordflow">if</span> (FName.empty())</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="keywordflow">return</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="keywordflow">if</span> (CE->getNumArgs() != 1)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   <span class="keywordflow">if</span> (FName == <span class="stringliteral">"pthread_mutex_lock"</span> ||</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>       FName == <span class="stringliteral">"pthread_rwlock_rdlock"</span> ||</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>       FName == <span class="stringliteral">"pthread_rwlock_wrlock"</span>)</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>     AcquireLock(C, CE, state->getSVal(CE->getArg(0), LCtx),</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>                 <span class="keyword">false</span>, PthreadSemantics);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FName == <span class="stringliteral">"lck_mtx_lock"</span> ||</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>            FName == <span class="stringliteral">"lck_rw_lock_exclusive"</span> ||</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>            FName == <span class="stringliteral">"lck_rw_lock_shared"</span>) </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     AcquireLock(C, CE, state->getSVal(CE->getArg(0), LCtx),</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>                 <span class="keyword">false</span>, XNUSemantics);</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FName == <span class="stringliteral">"pthread_mutex_trylock"</span> ||</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>            FName == <span class="stringliteral">"pthread_rwlock_tryrdlock"</span> ||</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>            FName == <span class="stringliteral">"pthread_rwlock_tryrwlock"</span>)</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     AcquireLock(C, CE, state->getSVal(CE->getArg(0), LCtx),</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>                 <span class="keyword">true</span>, PthreadSemantics);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FName == <span class="stringliteral">"lck_mtx_try_lock"</span> ||</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>            FName == <span class="stringliteral">"lck_rw_try_lock_exclusive"</span> ||</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>            FName == <span class="stringliteral">"lck_rw_try_lock_shared"</span>)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     AcquireLock(C, CE, state->getSVal(CE->getArg(0), LCtx),</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>                 <span class="keyword">true</span>, XNUSemantics);</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FName == <span class="stringliteral">"pthread_mutex_unlock"</span> ||</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>            FName == <span class="stringliteral">"pthread_rwlock_unlock"</span> ||</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>            FName == <span class="stringliteral">"lck_mtx_unlock"</span> ||</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>            FName == <span class="stringliteral">"lck_rw_done"</span>)</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>     ReleaseLock(C, CE, state->getSVal(CE->getArg(0), LCtx));</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> }</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="keywordtype">void</span> PthreadLockChecker::AcquireLock(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                      <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> lock, <span class="keywordtype">bool</span> isTryLock,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>                                      <span class="keyword">enum</span> LockingSemantics semantics)<span class="keyword"> const </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">   91</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> *lockR = lock.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keywordflow">if</span> (!lockR)</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">return</span>;</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>   <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="l00096"></a><span class="lineno">   96</span>   </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a> = state->getSVal(CE, C.<a class="code" href="classclang_1_1ento_1_1CheckerContext.html#a7581c66c5849fab4a40b321024c9c136">getLocationContext</a>());</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="keywordflow">if</span> (X.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>())</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>     <span class="keywordflow">return</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>   <a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> retVal = X.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a>>();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="keywordflow">if</span> (state->contains<LockSet>(lockR)) {</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>     <span class="keywordflow">if</span> (!BT_doublelock)</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>       BT_doublelock.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a>(<span class="stringliteral">"Double locking"</span>, <span class="stringliteral">"Lock checker"</span>));</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</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="l00107"></a><span class="lineno">  107</span>     <span class="keywordflow">if</span> (!N)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</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_doublelock,</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>                                                       <span class="stringliteral">"This lock has already "</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>                                                       <span class="stringliteral">"been acquired"</span>, N);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>     report-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(CE-><a class="code" href="classclang_1_1CallExpr.html#aa454d6f1e76623da60451885239f63c6" title="getArg - Return the specified argument.">getArg</a>(0)-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</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="l00114"></a><span class="lineno">  114</span>     <span class="keywordflow">return</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> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> lockSucc = state;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   <span class="keywordflow">if</span> (isTryLock) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     <span class="comment">// Bifurcate the state, and allow a mode where the lock acquisition fails.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> lockFail;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>     <span class="keywordflow">switch</span> (semantics) {</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>     <span class="keywordflow">case</span> PthreadSemantics:</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       llvm::tie(lockFail, lockSucc) = state->assume(retVal);    </div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>     <span class="keywordflow">case</span> XNUSemantics:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>       llvm::tie(lockSucc, lockFail) = state->assume(retVal);    </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>       llvm_unreachable(<span class="stringliteral">"Unknown tryLock locking semantics"</span>);</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     }</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>     assert(lockFail && lockSucc);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</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>(lockFail);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (semantics == PthreadSemantics) {</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     <span class="comment">// Assume that the return value was 0.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     lockSucc = state->assume(retVal, <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>     assert(lockSucc);</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">else</span> {</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="comment">// XNU locking semantics return void on non-try locks</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     assert((semantics == XNUSemantics) && <span class="stringliteral">"Unknown locking semantics"</span>);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>     lockSucc = state;</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>   </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <span class="comment">// Record that the lock was acquired.  </span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   lockSucc = lockSucc->add<LockSet>(lockR);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</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>(lockSucc);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> }</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="keywordtype">void</span> PthreadLockChecker::ReleaseLock(<a class="code" href="classclang_1_1ento_1_1CheckerContext.html">CheckerContext</a> &C, <span class="keyword">const</span> <a class="code" href="classclang_1_1CallExpr.html">CallExpr</a> *CE,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>                                      <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> lock)<span class="keyword"> const </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="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> *lockR = lock.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <span class="keywordflow">if</span> (!lockR)</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   </div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   <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="l00158"></a><span class="lineno">  158</span>   LockSetTy LS = state->get<LockSet>();</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   <span class="comment">// FIXME: Better analysis requires IPA for wrappers.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   <span class="comment">// FIXME: check for double unlocks</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   <span class="keywordflow">if</span> (LS.isEmpty())</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     <span class="keywordflow">return</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="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> *firstLockR = LS.getHead();</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="keywordflow">if</span> (firstLockR != lockR) {</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>     <span class="keywordflow">if</span> (!BT_lor)</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>       BT_lor.reset(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1BugType.html">BugType</a>(<span class="stringliteral">"Lock order reversal"</span>, <span class="stringliteral">"Lock checker"</span>));</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</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="l00170"></a><span class="lineno">  170</span>     <span class="keywordflow">if</span> (!N)</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</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_lor,</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>                                                       <span class="stringliteral">"This was not the most "</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                                                       <span class="stringliteral">"recently acquired lock. "</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>                                                       <span class="stringliteral">"Possible lock order "</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>                                                       <span class="stringliteral">"reversal"</span>, N);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     report-><a class="code" href="classclang_1_1ento_1_1BugReport.html#a31f1757d10fc4f936ea143a894e51f39" title="Add a range to a bug report.">addRange</a>(CE-><a class="code" href="classclang_1_1CallExpr.html#aa454d6f1e76623da60451885239f63c6" title="getArg - Return the specified argument.">getArg</a>(0)-><a class="code" href="classclang_1_1Stmt.html#a6844392ee6148b5fe821f211b95e5d1b">getSourceRange</a>());</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</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="l00179"></a><span class="lineno">  179</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>   }</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>   <span class="comment">// Record that the lock was released. </span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   state = state->set<LockSet>(LS.getTail());</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</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="l00185"></a><span class="lineno">  185</span> }</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="keywordtype">void</span> ento::registerPthreadLockChecker(<a class="code" href="classclang_1_1ento_1_1CheckerManager.html">CheckerManager</a> &mgr) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   mgr.<a class="code" href="classclang_1_1ento_1_1CheckerManager.html#ab3845ff8b66a7617efdadb219829414a" title="Used to register checkers.">registerChecker</a><PthreadLockChecker>();</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:53 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>





More information about the llvm-commits mailing list