[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