[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/BoolAssignmentChecker_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BoolAssignmentChecker_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BoolAssignmentChecker_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BoolAssignmentChecker_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,567 @@
+<!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: BoolAssignmentChecker.d Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_fd0691f76a19cc33074025cb3a574e66.html">StaticAnalyzer</a></li><li class="navelem"><a class="el" href="dir_5fa4c591fb04e7ea3227105bf6cc3359.html">Checkers</a></li><li class="navelem"><a class="el" href="dir_6f95b71040c11c69a7222376e6764bfb.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">BoolAssignmentChecker.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="BoolAssignmentChecker_8d.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Release+Asserts/BoolAssignmentChecker.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Release+Asserts/BoolAssignmentChecker.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  BoolAssignmentChecker.cpp ClangSACheckers.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h \
+ Checkers.inc \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugType.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/Checker.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/ProgramPoint.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/AnalysisContext.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6" title="Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have...">Linkage</a>.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#af8a91eed04532d5da41ef08e7c9c081e" title="The various types of exception specifications that exist in C++11.">ExceptionSpecificationType</a>.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/<a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a>.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/CFG.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/Support/BumpVector.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/ADT/GraphTraits.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/CheckerManager.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/<a class="code" href="namespaceclang.html#a0bca8d4a06a5e7175d2177c94788c9b4" title="Whether all locations of the selector identifiers are in a "standard" position.">SelectorLocationsKind</a>.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableList.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/include/llvm/ADT/BitVector.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.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> ClangSACheckers.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.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> Checkers.inc:</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/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugType.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/Checkers/../../../include/clang/Basic/LLVM.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/Casting.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.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/None.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/FoldingSet.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/Compiler.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/Config/llvm-config.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/Support/MathExtras.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/Support/SwapByteOrder.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/StringRef.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/Checker.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/Checkers/../../../include/clang/Analysis/ProgramPoint.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/Checkers/../../../include/clang/Analysis/AnalysisContext.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/Checkers/../../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/APInt.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/ADT/ArrayRef.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/ADT/APSInt.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.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/Support/PointerLikeTypeTraits.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/PointerUnion.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclBase.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/Checkers/../../../include/clang/AST/AttrIterator.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/Checkers/../../../include/clang/AST/DeclarationName.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/Checkers/../../../include/clang/Basic/IdentifierTable.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/Checkers/../../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/TokenKinds.def:</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/SmallString.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/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Checkers/../../../include/clang/Basic/DiagnosticOptions.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/Checkers/../../../include/clang/Basic/DiagnosticOptions.def:</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/Checkers/../../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.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/DenseMapInfo.h:</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/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="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ExternalASTSource.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/Checkers/../../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/<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="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/<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="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/include/llvm/ADT/Twine.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/include/llvm/Support/ErrorHandling.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/Checkers/../../../include/clang/AST/TypeNodes.def:</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/Checkers/../../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.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/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> </div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/CFG.h:</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/Support/BumpVector.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/include/llvm/ADT/GraphTraits.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/CheckerManager.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.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/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/CommentOptions.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/Checkers/../../../include/clang/Basic/ObjCRuntime.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/Checkers/../../../include/clang/Basic/VersionTuple.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/Triple.h:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="namespaceclang_1_1ento.html#ae512ebf5e0e9f696142c92f5b771ef39">Store</a>.h:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTContext.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/Checkers/../../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/CommentCommandTraits.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/Checkers/../../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Basic/AddressSpaces.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/ADT/SmallPtrSet.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/ADT/TinyPtrVector.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/Checkers/../../../include/clang/AST/ExprObjC.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/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="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/AST/ASTVector.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/Checkers/../../../include/clang/AST/DeclAccessPair.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/Checkers/../../../include/clang/AST/OperationKinds.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/Checkers/../../../include/clang/Basic/CharInfo.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/Checkers/../../../include/clang/Basic/TypeTraits.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/Checkers/../../../include/clang/Basic/Builtins.def:</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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h:</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h:</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> </div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> </div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.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/include/llvm/ADT/ImmutableList.h:</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> </div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h:</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang.html#ae9c75815d0d02c4fb4c86c9f86a8c9b9" title="Analysis - Set of available source code analyses.">Analyses</a>.def:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.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/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/Analysis/DomainSpecific/ObjCNoReturn.h:</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h:</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h:</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> /home/tstellar/llvm/include/llvm/Support/SaveAndRestore.h:</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/<a class="code" href="ProgramState_8cpp.html#a561991ec13c8d67b74fb26984174e5a5">DynamicTypeInfo</a>.h:</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> </div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h:</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableMap.h:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> /home/tstellar/llvm/include/llvm/ADT/ImmutableSet.h:</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h:</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h:</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> </div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/<a class="code" href="namespaceclang_1_1ento.html#a6fdc30c38dd63e730328d865d956562e">PathDiagnosticConsumers</a>.h:</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> </div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h:</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h:</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> /home/tstellar/llvm/include/llvm/ADT/DepthFirstIterator.h:</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h:</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> /home/tstellar/llvm/include/llvm/ADT/SmallBitVector.h:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> /home/tstellar/llvm/include/llvm/ADT/BitVector.h:</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h:</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> /home/tstellar/llvm/tools/clang/lib/StaticAnalyzer/Checkers/../../../include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h:</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,524 @@
+<!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: BreakableToken.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_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">BreakableToken.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="BreakableToken_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">//===--- BreakableToken.cpp - Format C++ code -----------------------------===//</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><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">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief Contains implementation of BreakableToken class and classes derived</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// from it.</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><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"><a class="code" href="BreakableToken_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">   16</a></span> <span class="preprocessor">#define DEBUG_TYPE "format-token-breaker"</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="BreakableToken_8h.html" title="Declares BreakableToken, BreakableStringLiteral, and BreakableBlockComment classes, that contain token type-specific logic to break long lines in tokens.">BreakableToken.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="CharInfo_8h.html">clang/Basic/CharInfo.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Format_8h.html">clang/Format/Format.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/ADT/STLExtras.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "llvm/Support/Debug.h"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include <algorithm></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>clang {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">   28</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a> = <span class="stringliteral">" \t\v\f\r"</span>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a73a774e5ca1bcf315304bfc2af80b066">   29</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1format.html#a73a774e5ca1bcf315304bfc2af80b066">IsBlank</a>(<span class="keywordtype">char</span> C) {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   <span class="keywordflow">switch</span> (C) {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   <span class="keywordflow">case</span> <span class="charliteral">' '</span>:</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   <span class="keywordflow">case</span> <span class="charliteral">'\t'</span>:</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="keywordflow">case</span> <span class="charliteral">'\v'</span>:</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   <span class="keywordflow">case</span> <span class="charliteral">'\f'</span>:</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keywordflow">case</span> <span class="charliteral">'\r'</span>:</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     <span class="keywordflow">return</span> <span class="keyword">false</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> }</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_1format.html#ae9673da9a03fc04b68817022e5a66c4f">   42</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a> <a class="code" href="namespaceclang_1_1format.html#ae9673da9a03fc04b68817022e5a66c4f">getCommentSplit</a>(StringRef Text,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>                                              <span class="keywordtype">unsigned</span> ContentStartColumn,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>                                              <span class="keywordtype">unsigned</span> ColumnLimit,</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>                                              <span class="keywordtype">unsigned</span> TabWidth,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>                                              <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>) {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="keywordflow">if</span> (ColumnLimit <= ContentStartColumn + 1)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(StringRef::npos, 0);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="keywordtype">unsigned</span> MaxSplit = ColumnLimit - ContentStartColumn + 1;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordtype">unsigned</span> MaxSplitBytes = 0;</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">for</span> (<span class="keywordtype">unsigned</span> NumChars = 0;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>        NumChars < MaxSplit && MaxSplitBytes < Text.size();) {</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>     <span class="keywordtype">unsigned</span> BytesInChar =</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>         <a class="code" href="namespaceclang_1_1format_1_1encoding.html#abd1d99592e136321b8d5f7cbef01acf3" title="Gets the number of bytes in a sequence representing a single codepoint and starting with FirstChar in...">encoding::getCodePointNumBytes</a>(Text[MaxSplitBytes], Encoding);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>     NumChars +=</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>         <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(Text.substr(MaxSplitBytes, BytesInChar),</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>                                       ContentStartColumn, TabWidth, <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     MaxSplitBytes += BytesInChar;</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>   StringRef::size_type SpaceOffset = Text.find_last_of(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>, MaxSplitBytes);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="keywordflow">if</span> (SpaceOffset == StringRef::npos ||</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>       <span class="comment">// Don't break at leading whitespace.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>       Text.find_last_not_of(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>, SpaceOffset) == StringRef::npos) {</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     <span class="comment">// Make sure that we don't break at leading whitespace that</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>     <span class="comment">// reaches past MaxSplit.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     StringRef::size_type FirstNonWhitespace = Text.find_first_not_of(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>);</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <span class="keywordflow">if</span> (FirstNonWhitespace == StringRef::npos)</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>       <span class="comment">// If the comment is only whitespace, we cannot split.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(StringRef::npos, 0);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     SpaceOffset = Text.find_first_of(</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>         <a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>, std::max<unsigned>(MaxSplitBytes, FirstNonWhitespace));</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="keywordflow">if</span> (SpaceOffset != StringRef::npos && SpaceOffset != 0) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>     StringRef BeforeCut = Text.substr(0, SpaceOffset).rtrim(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     StringRef AfterCut = Text.substr(SpaceOffset).ltrim(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(BeforeCut.size(),</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>                                  AfterCut.begin() - BeforeCut.end());</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>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(StringRef::npos, 0);</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> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="namespaceclang_1_1format.html#a9788e485bda7513ea5602e1ea2fca23f">   85</a></span> <span class="keyword">static</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a> <a class="code" href="namespaceclang_1_1format.html#a9788e485bda7513ea5602e1ea2fca23f">getStringSplit</a>(StringRef Text,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>                                             <span class="keywordtype">unsigned</span> UsedColumns,</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>                                             <span class="keywordtype">unsigned</span> ColumnLimit,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                                             <span class="keywordtype">unsigned</span> TabWidth,</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>                                             <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="comment">// FIXME: Reduce unit test case.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="keywordflow">if</span> (Text.empty())</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(StringRef::npos, 0);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keywordflow">if</span> (ColumnLimit <= UsedColumns)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(StringRef::npos, 0);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="keywordtype">unsigned</span> MaxSplit = std::min<unsigned>(</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       ColumnLimit - UsedColumns,</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>       <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(Text, UsedColumns, TabWidth, Encoding) - 1);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   StringRef::size_type SpaceOffset = 0;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   StringRef::size_type SlashOffset = 0;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   StringRef::size_type WordStartOffset = 0;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   StringRef::size_type SplitPoint = 0;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> Chars = 0;;) {</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>     <span class="keywordtype">unsigned</span> Advance;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>     <span class="keywordflow">if</span> (Text[0] == <span class="charliteral">'\\'</span>) {</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>       Advance = <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7bd47eeec30bacae39ecbe05c4920383" title="Gets the length of an escape sequence inside a C++ string literal. Text should span from the beginnin...">encoding::getEscapeSequenceLength</a>(Text);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>       Chars += Advance;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>       Advance = <a class="code" href="namespaceclang_1_1format_1_1encoding.html#abd1d99592e136321b8d5f7cbef01acf3" title="Gets the number of bytes in a sequence representing a single codepoint and starting with FirstChar in...">encoding::getCodePointNumBytes</a>(Text[0], Encoding);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>       Chars += <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>           Text.substr(0, Advance), UsedColumns + Chars, TabWidth, <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>);</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> </div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>     <span class="keywordflow">if</span> (Chars > MaxSplit)</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>     <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1format.html#a73a774e5ca1bcf315304bfc2af80b066">IsBlank</a>(Text[0]))</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>       SpaceOffset = SplitPoint;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>     <span class="keywordflow">if</span> (Text[0] == <span class="charliteral">'/'</span>)</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>       SlashOffset = SplitPoint;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>     <span class="keywordflow">if</span> (Advance == 1 && !<a class="code" href="namespaceclang.html#a777e6b2919eb25ba04ef2294f951cfb1" title="Return true if this character is an ASCII letter or digit: [a-zA-Z0-9].">isAlphanumeric</a>(Text[0]))</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       WordStartOffset = SplitPoint;</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>     SplitPoint += Advance;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     Text = Text.substr(Advance);</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> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   <span class="keywordflow">if</span> (SpaceOffset != 0)</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(SpaceOffset + 1, 0);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   <span class="keywordflow">if</span> (SlashOffset != 0)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(SlashOffset + 1, 0);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>   <span class="keywordflow">if</span> (WordStartOffset != 0)</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(WordStartOffset + 1, 0);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="keywordflow">if</span> (SplitPoint != 0)</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(SplitPoint, 0);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a>(StringRef::npos, 0);</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="classclang_1_1format_1_1BreakableSingleLineToken.html#a809d721a68321d529b8f3990e5335d5a">  138</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a809d721a68321d529b8f3990e5335d5a" title="Returns the number of lines in this token in the original code.">BreakableSingleLineToken::getLineCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1; }</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#aeee1aa6ec75cc3dd19b90a36674a9bf4">  140</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#aeee1aa6ec75cc3dd19b90a36674a9bf4" title="Returns the number of columns required to format the piece of line at LineIndex, from byte offset Off...">BreakableSingleLineToken::getLineLengthAfterSplit</a>(</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     <span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, StringRef::size_type Length)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a> + <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size() + <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>.size() +</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>          <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(<a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a9497298ceeb78daa90a622d6a0facf33">Line</a>.substr(Offset, Length),</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>                                        <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a> + <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size(),</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>                                        <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>);</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"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ade3cecc17c884675e17c9df31c7c8ad2">  148</a></span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ade3cecc17c884675e17c9df31c7c8ad2">BreakableSingleLineToken::BreakableSingleLineToken</a>(</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &Tok, <span class="keywordtype">unsigned</span> IndentLevel, <span class="keywordtype">unsigned</span> StartColumn,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>     StringRef Prefix, StringRef Postfix, <span class="keywordtype">bool</span> InPPDirective,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>     <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     : <a class="code" href="classclang_1_1format_1_1BreakableToken.html" title="Base class for strategies on how to break tokens.">BreakableToken</a>(Tok, IndentLevel, InPPDirective, Encoding, Style),</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>       StartColumn(StartColumn), Prefix(Prefix), Postfix(Postfix) {</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   assert(Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.startswith(Prefix) && Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.endswith(Postfix));</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>   <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a9497298ceeb78daa90a622d6a0facf33">Line</a> = Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.substr(</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>       Prefix.size(), Tok.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.size() - Prefix.size() - Postfix.size());</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"><a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#aabbd4a2710338ef528fc656fe052533d">  159</a></span> <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#aabbd4a2710338ef528fc656fe052533d" title="Creates a breakable token for a single line string literal.">BreakableStringLiteral::BreakableStringLiteral</a>(</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &Tok, <span class="keywordtype">unsigned</span> IndentLevel, <span class="keywordtype">unsigned</span> StartColumn,</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     StringRef Prefix, StringRef Postfix, <span class="keywordtype">bool</span> InPPDirective,</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>     : <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html" title="Base class for single line tokens that can be broken.">BreakableSingleLineToken</a>(Tok, IndentLevel, StartColumn, Prefix, Postfix,</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>                                InPPDirective, Encoding, Style) {}</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> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a></div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#ad89a422f027a7f37a562da567ed3ae62">  167</a></span> <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#ad89a422f027a7f37a562da567ed3ae62" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">BreakableStringLiteral::getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>                                  <span class="keywordtype">unsigned</span> ColumnLimit)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1format.html#a9788e485bda7513ea5602e1ea2fca23f">getStringSplit</a>(<a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a9497298ceeb78daa90a622d6a0facf33">Line</a>.substr(TailOffset),</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                         <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a> + <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size() + <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>.size(),</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                         ColumnLimit, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> }</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#aee0f4992772782234d0093d696ddda1d">  174</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#aee0f4992772782234d0093d696ddda1d" title="Emits the previously retrieved Split via Whitespaces.">BreakableStringLiteral::insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>                                          <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>                                          <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size() + TailOffset + Split.first, Split.second, <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>,</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>       <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>, 1, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>, <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a>);</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"><a class="code" href="namespaceclang_1_1format.html#aa51b9eedce4106e8387fad8a4a5c3158">  182</a></span> <span class="keyword">static</span> StringRef <a class="code" href="namespaceclang_1_1format.html#aa51b9eedce4106e8387fad8a4a5c3158">getLineCommentPrefix</a>(StringRef Comment) {</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> KnownPrefixes[] = { <span class="stringliteral">"/// "</span>, <span class="stringliteral">"///"</span>, <span class="stringliteral">"// "</span>, <span class="stringliteral">"//"</span> };</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, e = llvm::array_lengthof(KnownPrefixes); i != e; ++i)</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     <span class="keywordflow">if</span> (Comment.startswith(KnownPrefixes[i]))</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>       <span class="keywordflow">return</span> KnownPrefixes[i];</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</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> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a294206cd03e3833c4ff1f07ed83deaa9">  190</a></span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a294206cd03e3833c4ff1f07ed83deaa9" title="Creates a breakable token for a line comment.">BreakableLineComment::BreakableLineComment</a>(</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1Token.html">Token</a>, <span class="keywordtype">unsigned</span> IndentLevel, <span class="keywordtype">unsigned</span> StartColumn,</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <span class="keywordtype">bool</span> InPPDirective, <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>     : <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html" title="Base class for single line tokens that can be broken.">BreakableSingleLineToken</a>(Token, IndentLevel, StartColumn,</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>                                <a class="code" href="namespaceclang_1_1format.html#aa51b9eedce4106e8387fad8a4a5c3158">getLineCommentPrefix</a>(Token.TokenText), <span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>                                InPPDirective, Encoding, Style) {</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   OriginalPrefix = <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   <span class="keywordflow">if</span> (Token.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.size() > <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size() &&</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>       <a class="code" href="namespaceclang.html#a777e6b2919eb25ba04ef2294f951cfb1" title="Return true if this character is an ASCII letter or digit: [a-zA-Z0-9].">isAlphanumeric</a>(Token.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>[<a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size()])) {</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a> == <span class="stringliteral">"//"</span>)</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>       <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a> = <span class="stringliteral">"// "</span>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a> == <span class="stringliteral">"///"</span>)</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>       <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a> = <span class="stringliteral">"/// "</span>;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   }</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> }</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a></div>
+<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#abab63dfe5508b5579091b0cef3f7e27e">  207</a></span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#abab63dfe5508b5579091b0cef3f7e27e" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">BreakableLineComment::getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>                                <span class="keywordtype">unsigned</span> ColumnLimit)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1format.html#ae9673da9a03fc04b68817022e5a66c4f">getCommentSplit</a>(<a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a9497298ceeb78daa90a622d6a0facf33">Line</a>.substr(TailOffset), <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a> + <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>.size(),</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>                          ColumnLimit, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>);</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"><a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a657ed04ba41dbff122c720354d7af99d">  213</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a657ed04ba41dbff122c720354d7af99d" title="Emits the previously retrieved Split via Whitespaces.">BreakableLineComment::insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>                                        <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>                                        <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, OriginalPrefix.size() + TailOffset + Split.first, Split.second,</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>       <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>, <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>, <span class="comment">/*Newlines=*/</span>1, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>, <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a>);</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> </div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a952550ba2966ea7a1d48a155d093a24f">  221</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a952550ba2966ea7a1d48a155d093a24f" title="Replaces the whitespace range described by Split with a single space.">BreakableLineComment::replaceWhitespace</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>                                              <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>                                              <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, OriginalPrefix.size() + TailOffset + Split.first, Split.second, <span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>       <span class="stringliteral">""</span>, <span class="comment">/*InPPDirective=*/</span><span class="keyword">false</span>, <span class="comment">/*Newlines=*/</span>0, <span class="comment">/*IndentLevel=*/</span>0,</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>       <span class="comment">/*Spaces=*/</span>1);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> }</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#ae7a36245103e0f198bec70652501c233">  231</a></span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#ae7a36245103e0f198bec70652501c233" title="Replaces the whitespace between LineIndex-1 and LineIndex.">BreakableLineComment::replaceWhitespaceBefore</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>                                               <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <span class="keywordflow">if</span> (OriginalPrefix != <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>     Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(<a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, OriginalPrefix.size(), 0, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>,</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>                                          <span class="comment">/*InPPDirective=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>                                          <span class="comment">/*Newlines=*/</span>0, <span class="comment">/*IndentLevel=*/</span>0,</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>                                          <span class="comment">/*Spaces=*/</span>1);</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> }</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#aef2e9587e78062064fd1a46cf840914f">  241</a></span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#aef2e9587e78062064fd1a46cf840914f" title="Creates a breakable token for a block comment.">BreakableBlockComment::BreakableBlockComment</a>(</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1Token.html">Token</a>, <span class="keywordtype">unsigned</span> IndentLevel, <span class="keywordtype">unsigned</span> StartColumn,</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     <span class="keywordtype">unsigned</span> OriginalStartColumn, <span class="keywordtype">bool</span> FirstInLine, <span class="keywordtype">bool</span> InPPDirective,</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>     <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="Format_8cpp.html#abc577d80f3639e98f6457dd375101eab">Style</a>)</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>     : <a class="code" href="classclang_1_1format_1_1BreakableToken.html" title="Base class for strategies on how to break tokens.">BreakableToken</a>(Token, IndentLevel, InPPDirective, Encoding, Style) {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>   StringRef TokenText(Token.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   assert(TokenText.startswith(<span class="stringliteral">"/*"</span>) && TokenText.endswith(<span class="stringliteral">"*/"</span>));</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   TokenText.substr(2, TokenText.size() - 4).split(Lines, <span class="stringliteral">"\n"</span>);</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>   <span class="keywordtype">int</span> IndentDelta = StartColumn - OriginalStartColumn;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   LeadingWhitespace.resize(Lines.size());</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>   StartOfLineColumn.resize(Lines.size());</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   StartOfLineColumn[0] = StartColumn + 2;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i < Lines.size(); ++i)</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>     adjustWhitespace(i, IndentDelta);</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>   Decoration = <span class="stringliteral">"* "</span>;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   <span class="keywordflow">if</span> (Lines.size() == 1 && !FirstInLine) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     <span class="comment">// Comments for which FirstInLine is false can start on arbitrary column,</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <span class="comment">// and available horizontal space can be too small to align consecutive</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     <span class="comment">// lines with the first one.</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>     <span class="comment">// FIXME: We could, probably, align them to current indentation level, but</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>     <span class="comment">// now we just wrap them without stars.</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     Decoration = <span class="stringliteral">""</span>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>   }</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1, e = Lines.size(); i < e && !Decoration.empty(); ++i) {</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>     <span class="comment">// If the last line is empty, the closing "*/" will have a star.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>     <span class="keywordflow">if</span> (i + 1 == e && Lines[i].empty())</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>     <span class="keywordflow">while</span> (!Lines[i].startswith(Decoration))</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>       Decoration = Decoration.substr(0, Decoration.size() - 1);</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> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>   LastLineNeedsDecoration = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>   IndentAtLineBreak = StartOfLineColumn[0] + 1;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i < Lines.size(); ++i) {</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>     <span class="keywordflow">if</span> (Lines[i].empty()) {</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>       <span class="keywordflow">if</span> (i + 1 == Lines.size()) {</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>         <span class="comment">// Empty last line means that we already have a star as a part of the</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>         <span class="comment">// trailing */. We also need to preserve whitespace, so that */ is</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>         <span class="comment">// correctly indented.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>         LastLineNeedsDecoration = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Decoration.empty()) {</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>         <span class="comment">// For all other lines, set the start column to 0 if they're empty, so</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>         <span class="comment">// we do not insert trailing whitespace anywhere.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>         StartOfLineColumn[i] = 0;</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">continue</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>     <span class="comment">// The first line already excludes the star.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>     <span class="comment">// For all other lines, adjust the line to exclude the star and</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     <span class="comment">// (optionally) the first whitespace.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     StartOfLineColumn[i] += Decoration.size();</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     Lines[i] = Lines[i].substr(Decoration.size());</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     LeadingWhitespace[i] += Decoration.size();</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>     IndentAtLineBreak = std::min<int>(IndentAtLineBreak, StartOfLineColumn[i]);</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>   IndentAtLineBreak = std::max<unsigned>(IndentAtLineBreak, Decoration.size());</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   DEBUG({</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>     llvm::dbgs() << <span class="stringliteral">"IndentAtLineBreak "</span> << IndentAtLineBreak << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < Lines.size(); ++i) {</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>       llvm::dbgs() << i << <span class="stringliteral">" |"</span> << Lines[i] << <span class="stringliteral">"| "</span> << LeadingWhitespace[i]</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>                    << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>     }</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   });</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> }</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> <span class="keywordtype">void</span> BreakableBlockComment::adjustWhitespace(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>                                              <span class="keywordtype">int</span> IndentDelta) {</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>   <span class="comment">// When in a preprocessor directive, the trailing backslash in a block comment</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>   <span class="comment">// is not needed, but can serve a purpose of uniformity with necessary escaped</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   <span class="comment">// newlines outside the comment. In this case we remove it here before</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   <span class="comment">// trimming the trailing whitespace. The backslash will be re-added later when</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="comment">// inserting a line break.</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>   <span class="keywordtype">size_t</span> EndOfPreviousLine = Lines[LineIndex - 1].size();</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a> && Lines[LineIndex - 1].endswith(<span class="stringliteral">"\\"</span>))</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>     --EndOfPreviousLine;</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">// Calculate the end of the non-whitespace text in the previous line.</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   EndOfPreviousLine =</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>       Lines[LineIndex - 1].find_last_not_of(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>, EndOfPreviousLine);</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="keywordflow">if</span> (EndOfPreviousLine == StringRef::npos)</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>     EndOfPreviousLine = 0;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>     ++EndOfPreviousLine;</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   <span class="comment">// Calculate the start of the non-whitespace text in the current line.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <span class="keywordtype">size_t</span> StartOfLine = Lines[LineIndex].find_first_not_of(<a class="code" href="namespaceclang_1_1format.html#a9baebf2f891606f309c11d8042adef20">Blanks</a>);</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>   <span class="keywordflow">if</span> (StartOfLine == StringRef::npos)</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>     StartOfLine = Lines[LineIndex].size();</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>   StringRef Whitespace = Lines[LineIndex].substr(0, StartOfLine);</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="comment">// Adjust Lines to only contain relevant text.</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   Lines[LineIndex - 1] = Lines[LineIndex - 1].substr(0, EndOfPreviousLine);</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>   Lines[LineIndex] = Lines[LineIndex].substr(StartOfLine);</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>   <span class="comment">// Adjust LeadingWhitespace to account all whitespace between the lines</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="comment">// to the current line.</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   LeadingWhitespace[LineIndex] =</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>       Lines[LineIndex].begin() - Lines[LineIndex - 1].end();</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">// Adjust the start column uniformly accross all lines.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   StartOfLineColumn[LineIndex] = std::max<int>(</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>       0,</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>       <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(Whitespace, 0, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>) +</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>           IndentDelta);</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_1format_1_1BreakableBlockComment.html#a46bc5c5e5e60bb20398b0481695e6aa5">  347</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a46bc5c5e5e60bb20398b0481695e6aa5" title="Returns the number of lines in this token in the original code.">BreakableBlockComment::getLineCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Lines.size(); }</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> </div>
+<div class="line"><a name="l00349"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a8816db4419e3d886435e78f0589c58e9">  349</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a8816db4419e3d886435e78f0589c58e9" title="Returns the number of columns required to format the piece of line at LineIndex, from byte offset Off...">BreakableBlockComment::getLineLengthAfterSplit</a>(</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>     <span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, StringRef::size_type Length)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   <span class="keywordtype">unsigned</span> ContentStartColumn = getContentStartColumn(LineIndex, Offset);</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>   <span class="keywordflow">return</span> ContentStartColumn +</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>          <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a0e8dd3ec79f02a46e9df91741729c006" title="Returns the number of columns required to display the Text, starting from the StartColumn on a termin...">encoding::columnWidthWithTabs</a>(Lines[LineIndex].substr(Offset, Length),</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>                                        ContentStartColumn, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>,</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>                                        <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>) +</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>          <span class="comment">// The last line gets a "*/" postfix.</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>          (LineIndex + 1 == Lines.size() ? 2 : 0);</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> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">BreakableToken::Split</a></div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#af7b68d5733a1282599c71f6878b229ae">  361</a></span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#af7b68d5733a1282599c71f6878b229ae" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">BreakableBlockComment::getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>                                 <span class="keywordtype">unsigned</span> ColumnLimit)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>   <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1format.html#ae9673da9a03fc04b68817022e5a66c4f">getCommentSplit</a>(Lines[LineIndex].substr(TailOffset),</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>                          getContentStartColumn(LineIndex, TailOffset),</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>                          ColumnLimit, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>.<a class="code" href="structclang_1_1format_1_1FormatStyle.html#a488265e26e22037ba7fed6489a21028e" title="The number of columns used for tab stops.">TabWidth</a>, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</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"><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#ac23406f1d24891a40122c96cb223ccb3">  368</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#ac23406f1d24891a40122c96cb223ccb3" title="Emits the previously retrieved Split via Whitespaces.">BreakableBlockComment::insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>                                         <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>                                         <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>   StringRef Text = Lines[LineIndex].substr(TailOffset);</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   StringRef Prefix = Decoration;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="keywordflow">if</span> (LineIndex + 1 == Lines.size() &&</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>       Text.size() == Split.first + Split.second) {</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>     <span class="comment">// For the last line we need to break before "*/", but not to add "* ".</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>     Prefix = <span class="stringliteral">""</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="keywordtype">unsigned</span> BreakOffsetInToken =</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>       Text.data() - <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.data() + Split.first;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="keywordtype">unsigned</span> CharsToRemove = Split.second;</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>   assert(IndentAtLineBreak >= Decoration.size());</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, BreakOffsetInToken, CharsToRemove, <span class="stringliteral">""</span>, Prefix, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>, 1,</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>, IndentAtLineBreak - Decoration.size());</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> }</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a7d9bf5fbf38c02d5c45a50a28ec17d51">  388</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a7d9bf5fbf38c02d5c45a50a28ec17d51" title="Replaces the whitespace range described by Split with a single space.">BreakableBlockComment::replaceWhitespace</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>                                               <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>                                               <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   StringRef Text = Lines[LineIndex].substr(TailOffset);</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="keywordtype">unsigned</span> BreakOffsetInToken =</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>       Text.data() - <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.data() + Split.first;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="keywordtype">unsigned</span> CharsToRemove = Split.second;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>   Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, BreakOffsetInToken, CharsToRemove, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, <span class="comment">/*InPPDirective=*/</span><span class="keyword">false</span>,</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>       <span class="comment">/*Newlines=*/</span>0, <span class="comment">/*IndentLevel=*/</span>0, <span class="comment">/*Spaces=*/</span>1);</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> }</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a647b96d41c27ce6dfad6f85bb874d337">  401</a></span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a647b96d41c27ce6dfad6f85bb874d337" title="Replaces the whitespace between LineIndex-1 and LineIndex.">BreakableBlockComment::replaceWhitespaceBefore</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>                                                <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>   <span class="keywordflow">if</span> (LineIndex == 0)</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>   StringRef Prefix = Decoration;</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>   <span class="keywordflow">if</span> (Lines[LineIndex].empty()) {</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     <span class="keywordflow">if</span> (LineIndex + 1 == Lines.size()) {</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>       <span class="keywordflow">if</span> (!LastLineNeedsDecoration) {</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>         <span class="comment">// If the last line was empty, we don't need a prefix, as the */ will</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>         <span class="comment">// line up with the decoration (if it exists).</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>         Prefix = <span class="stringliteral">""</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="keywordflow">else</span> <span class="keywordflow">if</span> (!Decoration.empty()) {</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>       <span class="comment">// For other empty lines, if we do have a decoration, adapt it to not</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>       <span class="comment">// contain a trailing whitespace.</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>       Prefix = Prefix.substr(0, 1);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     }</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>     <span class="keywordflow">if</span> (StartOfLineColumn[LineIndex] == 1) {</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>       <span class="comment">// This line starts immediately after the decorating *.</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       Prefix = Prefix.substr(0, 1);</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>   }</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   <span class="keywordtype">unsigned</span> WhitespaceOffsetInToken = Lines[LineIndex].data() -</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>                                      <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>.<a class="code" href="structclang_1_1format_1_1FormatToken.html#a3cc91cf32fe4b5428465da8d57a0234b" title="The raw text of the token.">TokenText</a>.data() -</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>                                      LeadingWhitespace[LineIndex];</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   assert(StartOfLineColumn[LineIndex] >= Prefix.size());</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   Whitespaces.<a class="code" href="classclang_1_1format_1_1WhitespaceManager.html#a1f6471bc915e7d3fc5d31c3b084894ae" title="Inserts or replaces whitespace in the middle of a token.">replaceWhitespaceInToken</a>(</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, WhitespaceOffsetInToken, LeadingWhitespace[LineIndex], <span class="stringliteral">""</span>, Prefix,</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>       <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>, 1, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>,</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>       StartOfLineColumn[LineIndex] - Prefix.size());</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> }</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> <span class="keywordtype">unsigned</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> BreakableBlockComment::getContentStartColumn(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>                                              <span class="keywordtype">unsigned</span> TailOffset)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="comment">// If we break, we always break at the predefined indent.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   <span class="keywordflow">if</span> (TailOffset != 0)</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>     <span class="keywordflow">return</span> IndentAtLineBreak;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>   <span class="keywordflow">return</span> StartOfLineColumn[LineIndex];</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> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> } <span class="comment">// namespace format</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> } <span class="comment">// namespace clang</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,337 @@
+<!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: BreakableToken.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_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li><li class="navelem"><a class="el" href="dir_44489bf775064c0a1fac45ff4ce7e6b1.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">BreakableToken.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="BreakableToken_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/Format/Release+Asserts/BreakableToken.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/Format/Release+Asserts/BreakableToken.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  BreakableToken.cpp BreakableToken.h <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.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/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/ConvertUTF.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/Unicode.h TokenAnnotator.h \
+ UnwrappedLineParser.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../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="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../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="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendOptions.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/CommandLineSourceLoc.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Refactoring.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/Tooling.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Driver/Util.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/ArgumentsAdjusters.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Tooling/CompilationDatabase.h \
+ FormatToken.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OperatorPrecedence.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/TemplateKinds.h \
+ WhitespaceManager.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/include/llvm/Support/Debug.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> BreakableToken.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> <a class="code" href="Format_8cpp.html#a432f0ba7405248d8ed58e1ef357eb5cc">Encoding</a>.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/Format/../../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/Support/ConvertUTF.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/ArrayRef.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/SmallVector.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/Support/AlignOf.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/Compiler.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/Config/llvm-config.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/Support/MathExtras.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/SwapByteOrder.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/ADT/StringRef.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/Support/Unicode.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> TokenAnnotator.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> UnwrappedLineParser.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/tools/clang/lib/Format/../../include/clang/Basic/IdentifierTable.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/Format/../../include/clang/Basic/OperatorKinds.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/Format/../../include/clang/Basic/OperatorKinds.def:</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/Format/../../include/clang/Basic/TokenKinds.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/Format/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Format/Format.h:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Frontend/FrontendAction.h:</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/CommentOptions.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/Format/../../include/clang/Basic/ObjCRuntime.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/Format/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/Triple.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/ADT/Twine.h:</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.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/Format/../../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="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/Format/../../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="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/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/OpenCLExtensions.def:</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/Format/../../include/clang/Frontend/FrontendOptions.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/Format/../../include/clang/Frontend/CommandLineSourceLoc.h:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="JSONCompilationDatabase_8cpp.html#aff1eaf11bcfc05c142268512eeb4e134">CommandLine</a>.h:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/OwningPtr.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/Support/TimeValue.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/system_error.h:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Sema/<a class="code" href="classCodeCompleteOptions.html" title="Options controlling the behavior of code completion.">CodeCompleteOptions</a>.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/Format/../../include/clang/Tooling/Refactoring.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/Format/../../include/clang/Basic/SourceLocation.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/Format/../../include/clang/Tooling/Tooling.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/DiagnosticIDs.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/Format/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/Format/../../include/clang/Basic/DiagnosticOptions.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/Format/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.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/Format/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/FileSystemOptions.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/Format/../../include/clang/Driver/Util.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/Format/../../include/clang/Tooling/ArgumentsAdjusters.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/Format/../../include/clang/Tooling/CompilationDatabase.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> FormatToken.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/Format/../../include/clang/Basic/OperatorPrecedence.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/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/Lexer.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/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/PreprocessorLexer.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/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/MultipleIncludeOpt.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/Format/../../include/clang/<a class="code" href="Format_8cpp.html#af225acf665df209626523284f00162d4">Lex</a>/<a class="code" href="UnwrappedLineParser_8cpp.html#ac39165965ffcb0218343355d1f482d64">Token</a>.h:</div>
+<div class="line"><a name="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/Format/../../include/clang/Basic/TemplateKinds.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> WhitespaceManager.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/tools/clang/lib/Format/../../include/clang/Basic/SourceManager.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/DenseSet.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/PointerIntPair.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/PointerUnion.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/include/llvm/Support/MemoryBuffer.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/include/llvm/Support/CBindingWrapping.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-c/Core.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/Format/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/include/llvm/Support/Debug.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BreakableToken_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,324 @@
+<!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: BreakableToken.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_ffab4b0006501d4be8b843d944947a1c.html">Format</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">BreakableToken.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="BreakableToken_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">//===--- BreakableToken.h - Format C++ code -------------------------------===//</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><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">/// \file</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">/// \brief Declares BreakableToken, BreakableStringLiteral, and</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">/// BreakableBlockComment classes, that contain token type-specific logic to</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">/// break long lines in tokens.</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><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> <span class="preprocessor">#ifndef LLVM_CLANG_FORMAT_BREAKABLETOKEN_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_FORMAT_BREAKABLETOKEN_H</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="Encoding_8h.html" title="Contains functions for text encoding manipulation. Supports UTF-8, 8-bit encodings and escape sequenc...">Encoding.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="TokenAnnotator_8h.html" title="This file implements a token annotator, i.e. creates AnnotatedTokens out of FormatTokens with require...">TokenAnnotator.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="WhitespaceManager_8h.html" title="WhitespaceManager class manages whitespace around tokens and their replacements.">WhitespaceManager.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include <utility></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>clang {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">namespace </span>format {</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">struct </span>FormatStyle;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment"></span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">/// \brief Base class for strategies on how to break tokens.</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">/// FIXME: The interface seems set in stone, so we might want to just pull the</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// strategy into the class, instead of controlling it from the outside.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html">   34</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1BreakableToken.html" title="Base class for strategies on how to break tokens.">BreakableToken</a> {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">  /// \brief Contains starting character index and length of split.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1">   37</a></span> <span class="comment"></span>  <span class="keyword">typedef</span> std::pair<StringRef::size_type, unsigned> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#a0f15028dbe19faa3439266287c224622">   39</a></span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a0f15028dbe19faa3439266287c224622">~BreakableToken</a>() {}</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment"></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">  /// \brief Returns the number of lines in this token in the original code.</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aa4bfb8ad89e85471e41cc137ef25458f" title="Returns the number of lines in this token in the original code.">getLineCount</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment"></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">  /// \brief Returns the number of columns required to format the piece of line</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">  /// at \p LineIndex, from byte offset \p Offset with length \p Length.</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">  /// Note that previous breaks are not taken into account. \p Offset is always</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">  /// specified from the start of the (original) line.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">  /// \p Length can be set to StringRef::npos, which means "to the end of line".</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a7deff8d1e1921865d1a7e8b7354d19f6" title="Returns the number of columns required to format the piece of line at LineIndex, from byte offset Off...">getLineLengthAfterSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>,</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>                           StringRef::size_type Length) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// \brief Returns a range (offset, length) at which to break the line at</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">  /// \p LineIndex, if previously broken at \p TailOffset. If possible, do not</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">  /// violate \p ColumnLimit.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a3f6269d0b67a0e3354fbf9623783b71a" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>                          <span class="keywordtype">unsigned</span> ColumnLimit) <span class="keyword">const</span> = 0;</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">  /// \brief Emits the previously retrieved \p Split via \p Whitespaces.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ad188604939569479ebbb391041ca7aa9" title="Emits the previously retrieved Split via Whitespaces.">insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>                            <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) = 0;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment"></span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">  /// \brief Replaces the whitespace range described by \p Split with a single</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">  /// space.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a88d725a883dc88d887b98092284db6ca" title="Replaces the whitespace range described by Split with a single space.">replaceWhitespace</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>                                  <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>                                  <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) = 0;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="comment"></span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment">  /// \brief Replaces the whitespace between \p LineIndex-1 and \p LineIndex.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#a5d0e8e0e26ee5a2d3da9ae1919d47a5e">   71</a></span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a5d0e8e0e26ee5a2d3da9ae1919d47a5e" title="Replaces the whitespace between LineIndex-1 and LineIndex.">replaceWhitespaceBefore</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>                                        <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>) {}</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#a877ef1bc4fdd12d9b41a32d71ae5aa58">   75</a></span>   <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a877ef1bc4fdd12d9b41a32d71ae5aa58">BreakableToken</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>                  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>, <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>                  <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>       : Tok(Tok), IndentLevel(IndentLevel), InPPDirective(InPPDirective),</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>         Encoding(Encoding), Style(Style) {}</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">   81</a></span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">   82</a></span>   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">   83</a></span>   <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">   84</a></span>   <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">   85</a></span>   <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> };</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment"></span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">/// \brief Base class for single line tokens that can be broken.</span></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">/// \c getSplit() needs to be implemented by child classes.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html">   91</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html" title="Base class for single line tokens that can be broken.">BreakableSingleLineToken</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html" title="Base class for strategies on how to break tokens.">BreakableToken</a> {</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a809d721a68321d529b8f3990e5335d5a" title="Returns the number of lines in this token in the original code.">getLineCount</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#aeee1aa6ec75cc3dd19b90a36674a9bf4" title="Returns the number of columns required to format the piece of line at LineIndex, from byte offset Off...">getLineLengthAfterSplit</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>                                            <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>                                            StringRef::size_type Length) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ade3cecc17c884675e17c9df31c7c8ad2">BreakableSingleLineToken</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>,</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>                            <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a>, StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>                            StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>, <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>                            <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>                            <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="comment">// The column in which the token starts.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">  106</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   <span class="comment">// The prefix a line needs after a break in the token.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">  108</a></span>   StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>   <span class="comment">// The postfix a line needs before introducing a break.</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">  110</a></span>   StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   <span class="comment">// The token text excluding the prefix and postfix.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a9497298ceeb78daa90a622d6a0facf33">  112</a></span>   StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a9497298ceeb78daa90a622d6a0facf33">Line</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">  114</span> </div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html">  115</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html">BreakableStringLiteral</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html" title="Base class for single line tokens that can be broken.">BreakableSingleLineToken</a> {</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment">  /// \brief Creates a breakable token for a single line string literal.</span></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">  /// \p StartColumn specifies the column in which the token will start</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  /// after formatting.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment"></span>  <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#aabbd4a2710338ef528fc656fe052533d" title="Creates a breakable token for a single line string literal.">BreakableStringLiteral</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#aeb62eda95ea0843cb5912b6bb4b2d4fb">Tok</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>                          <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a>, StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#a6f0a3743b80dee7077532b29cd041850">Prefix</a>,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>                          StringRef <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ac2c2097451cffc87e371471f7756a0f1">Postfix</a>, <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>                          <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#ad89a422f027a7f37a562da567ed3ae62" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>                          <span class="keywordtype">unsigned</span> ColumnLimit) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#aee0f4992772782234d0093d696ddda1d" title="Emits the previously retrieved Split via Whitespaces.">insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>                            <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>);</div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#a59b90dea7b99dc04df036f31d558b578">  130</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableStringLiteral.html#a59b90dea7b99dc04df036f31d558b578" title="Replaces the whitespace range described by Split with a single space.">replaceWhitespace</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>                                  Split Split,</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>                                  <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces) {}</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="classclang_1_1format_1_1BreakableLineComment.html">  135</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1BreakableLineComment.html">BreakableLineComment</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html" title="Base class for single line tokens that can be broken.">BreakableSingleLineToken</a> {</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment">  /// \brief Creates a breakable token for a line comment.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">  /// \p StartColumn specifies the column in which the comment will start</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">  /// after formatting.</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment"></span>  <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a294206cd03e3833c4ff1f07ed83deaa9" title="Creates a breakable token for a line comment.">BreakableLineComment</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1Token.html">Token</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>,</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>                        <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableSingleLineToken.html#ace634e7d5f7f109c466ec535b7ca6038">StartColumn</a>, <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>,</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>                        <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#abab63dfe5508b5579091b0cef3f7e27e" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>                          <span class="keywordtype">unsigned</span> ColumnLimit) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a657ed04ba41dbff122c720354d7af99d" title="Emits the previously retrieved Split via Whitespaces.">insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>                            <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#a952550ba2966ea7a1d48a155d093a24f" title="Replaces the whitespace range described by Split with a single space.">replaceWhitespace</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>                                  Split Split,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>                                  <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableLineComment.html#ae7a36245103e0f198bec70652501c233" title="Replaces the whitespace between LineIndex-1 and LineIndex.">replaceWhitespaceBefore</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                                        <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>   <span class="comment">// The prefix without an additional space if one was added.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>   StringRef OriginalPrefix;</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="classclang_1_1format_1_1BreakableBlockComment.html">  160</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html">BreakableBlockComment</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html" title="Base class for strategies on how to break tokens.">BreakableToken</a> {</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment">  /// \brief Creates a breakable token for a block comment.</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">  /// \p StartColumn specifies the column in which the comment will start</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">  /// after formatting, while \p OriginalStartColumn specifies in which</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment">  /// column the comment started before formatting.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">  /// If the comment starts a line after formatting, set \p FirstInLine to true.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment"></span>  <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#aef2e9587e78062064fd1a46cf840914f" title="Creates a breakable token for a block comment.">BreakableBlockComment</a>(<span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatToken.html" title="A wrapper around a Token storing information about the whitespace characters preceeding it...">FormatToken</a> &<a class="code" href="classclang_1_1Token.html">Token</a>, <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#aae53416ee40d89e6109f51d237cac009">IndentLevel</a>,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>                         <span class="keywordtype">unsigned</span> StartColumn, <span class="keywordtype">unsigned</span> OriginaStartColumn,</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>                         <span class="keywordtype">bool</span> FirstInLine, <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#ae8961bc84bdae9c8ac9f6d0819b8d077">InPPDirective</a>,</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                         <a class="code" href="namespaceclang_1_1format_1_1encoding.html#a7e8496e9d93edf497ca8100b48b12492">encoding::Encoding</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#afabce1ac8ca935dfb9e4c9b7498114ac">Encoding</a>, <span class="keyword">const</span> <a class="code" href="structclang_1_1format_1_1FormatStyle.html" title="The FormatStyle is used to configure the formatting to follow specific guidelines.">FormatStyle</a> &<a class="code" href="classclang_1_1format_1_1BreakableToken.html#a74e297b3eac69131bc47602e9727526f">Style</a>);</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>   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a46bc5c5e5e60bb20398b0481695e6aa5" title="Returns the number of lines in this token in the original code.">getLineCount</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a8816db4419e3d886435e78f0589c58e9" title="Returns the number of columns required to format the piece of line at LineIndex, from byte offset Off...">getLineLengthAfterSplit</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>                                            <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>                                            StringRef::size_type Length) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#af7b68d5733a1282599c71f6878b229ae" title="Returns a range (offset, length) at which to break the line at LineIndex, if previously broken at Tai...">getSplit</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>                          <span class="keywordtype">unsigned</span> ColumnLimit) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#ac23406f1d24891a40122c96cb223ccb3" title="Emits the previously retrieved Split via Whitespaces.">insertBreak</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset, <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a> <a class="code" href="classclang_1_1format_1_1BreakableToken.html#a6bc131923d4e059aa84c82b53a70c3a1" title="Contains starting character index and length of split.">Split</a>,</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>                            <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &<a class="code" href="Format_8cpp.html#a77db8d977d9e21f32232fbd080d0637d">Whitespaces</a>);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a7d9bf5fbf38c02d5c45a50a28ec17d51" title="Replaces the whitespace range described by Split with a single space.">replaceWhitespace</a>(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset,</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>                                  Split Split,</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>                                  <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces);</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1format_1_1BreakableBlockComment.html#a647b96d41c27ce6dfad6f85bb874d337" title="Replaces the whitespace between LineIndex-1 and LineIndex.">replaceWhitespaceBefore</a>(<span class="keywordtype">unsigned</span> LineIndex,</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>                                        <a class="code" href="classclang_1_1format_1_1WhitespaceManager.html" title="Manages the whitespaces around tokens and their replacements.">WhitespaceManager</a> &Whitespaces);</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="keyword">private</span>:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   <span class="comment">// Rearranges the whitespace between Lines[LineIndex-1] and Lines[LineIndex],</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <span class="comment">// so that all whitespace between the lines is accounted to Lines[LineIndex]</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>   <span class="comment">// as leading whitespace:</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   <span class="comment">// - Lines[LineIndex] points to the text after that whitespace</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   <span class="comment">// - Lines[LineIndex-1] shrinks by its trailing whitespace</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   <span class="comment">// - LeadingWhitespace[LineIndex] is updated with the complete whitespace</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>   <span class="comment">//   between the end of the text of Lines[LineIndex-1] and Lines[LineIndex]</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>   <span class="comment">// Sets StartOfLineColumn to the intended column in which the text at</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>   <span class="comment">// Lines[LineIndex] starts (note that the decoration, if present, is not</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>   <span class="comment">// considered part of the text).</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>   <span class="keywordtype">void</span> adjustWhitespace(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">int</span> IndentDelta);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>   <span class="comment">// Returns the column at which the text in line LineIndex starts, when broken</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>   <span class="comment">// at TailOffset. Note that the decoration (if present) is not considered part</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>   <span class="comment">// of the text.</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   <span class="keywordtype">unsigned</span> getContentStartColumn(<span class="keywordtype">unsigned</span> LineIndex, <span class="keywordtype">unsigned</span> TailOffset) <span class="keyword">const</span>;</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>   <span class="comment">// Contains the text of the lines of the block comment, excluding the leading</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   <span class="comment">// /* in the first line and trailing */ in the last line, and excluding all</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   <span class="comment">// trailing whitespace between the lines. Note that the decoration (if</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <span class="comment">// present) is also not considered part of the text.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<StringRef, 16></a> Lines;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="comment">// LeadingWhitespace[i] is the number of characters regarded as whitespace in</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="comment">// front of Lines[i]. Note that this can include "* " sequences, which we</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   <span class="comment">// regard as whitespace when all lines have a "*" prefix.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<unsigned, 16></a> LeadingWhitespace;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <span class="comment">// StartOfLineColumn[i] is the target column at which Line[i] should be.</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <span class="comment">// Note that this excludes a leading "* " or "*" in case all lines have</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <span class="comment">// a "*" prefix.</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<unsigned, 16></a> StartOfLineColumn;</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="comment">// The column at which the text of a broken line should start.</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   <span class="comment">// Note that an optional decoration would go before that column.</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="comment">// IndentAtLineBreak is a uniform position for all lines in a block comment,</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="comment">// regardless of their relative position.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="comment">// FIXME: Revisit the decision to do this; the main reason was to support</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <span class="comment">// patterns like</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <span class="comment">// /**************//**</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>   <span class="comment">//  * Comment</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="comment">// We could also support such patterns by special casing the first line</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   <span class="comment">// instead.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>   <span class="keywordtype">unsigned</span> IndentAtLineBreak;</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>   <span class="comment">// This is to distinguish between the case when the last line was empty and</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>   <span class="comment">// the case when it started with a decoration ("*" or "* ").</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <span class="keywordtype">bool</span> LastLineNeedsDecoration;</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>   <span class="comment">// Either "* " if all lines begin with a "*", or empty.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   StringRef Decoration;</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> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> } <span class="comment">// namespace format</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> } <span class="comment">// namespace clang</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> <span class="preprocessor">#endif // LLVM_CLANG_FORMAT_BREAKABLETOKEN_H</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitor_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitor_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitor_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitor_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,446 @@
+<!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: BugReporterVisitor.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_2ba7a218f06aeb0c1cc9ef1662abecef.html">BugReporter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">BugReporterVisitor.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="BugReporterVisitor_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">//===---  BugReporterVisitor.h - Generate PathDiagnostics -------*- 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 declares BugReporterVisitors, which are used to generate enhanced</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  diagnostic traces.</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_GR_BUGREPORTERVISITOR</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_GR_BUGREPORTERVISITOR</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="SVals_8h.html">clang/StaticAnalyzer/Core/PathSensitive/SVals.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "llvm/ADT/FoldingSet.h"</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">   23</span> <span class="keyword">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">class </span>BugReport;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">class </span>BugReporterContext;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">class </span>ExplodedNode;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">class </span>MemRegion;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">class </span>PathDiagnosticPiece;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment"></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">/// \brief BugReporterVisitors are used to add custom diagnostics along a path.</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">/// Custom visitors should subclass the BugReporterVisitorImpl class for a</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// default implementation of the clone() method.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// (Warning: if you have a deep subclass of BugReporterVisitorImpl, the</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">/// default implementation of clone() will NOT do the right thing, and you</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">/// will have to provide your own implementation.)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html">   38</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html" title="BugReporterVisitors are used to add custom diagnostics along a path.">BugReporterVisitor</a> : <span class="keyword">public</span> llvm::FoldingSetNode {</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">   40</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a69d85c9d2eb109332665520fdd02df3c">~BugReporterVisitor</a>();</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment"></span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">  /// \brief Returns a copy of this BugReporter.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">  /// Custom BugReporterVisitors should not override this method directly.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">  /// Instead, they should inherit from BugReporterVisitorImpl and provide</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment">  /// a protected or public copy constructor.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">  /// (Warning: if you have a deep subclass of BugReporterVisitorImpl, the</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">  /// default implementation of clone() will NOT do the right thing, and you</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">  /// will have to provide your own implementation.)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html" title="BugReporterVisitors are used to add custom diagnostics along a path.">BugReporterVisitor</a> *<a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a1ab5d0672218dc9d677b885708df80e4" title="Returns a copy of this BugReporter.">clone</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment"></span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">  /// \brief Return a diagnostic piece which should be associated with the</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// given node.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">  /// The last parameter can be used to register a new visitor with the given</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">  /// BugReport while processing a node.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#aad12ff105edf685f1ed050f5cb380773" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ,</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>                                          <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>                                          <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) = 0;</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">  /// \brief Provide custom definition for the final diagnostic piece on the</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">  /// path - the piece, which is displayed before the path is expanded.</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">  /// If returns NULL the default implementation will be used.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment">  /// Also note that at most one visitor of a BugReport should generate a</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">  /// non-NULL end of path diagnostic piece.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a0403b40360dc87bc0ca21a9a823550f0" title="Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed ...">getEndPath</a>(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>                                           <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>                                           <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a00f72c1f1d6286dd5007a37a9a19c8ef">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> = 0;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="comment">  /// \brief Generates the default final diagnostic piece.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a7c809403d7cb3b00639b59be8c0a9049" title="Generates the default final diagnostic piece.">getDefaultEndPath</a>(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                                                 <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> };</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment"></span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment">/// This class provides a convenience implementation for clone() using the</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">/// Curiously-Recurring Template Pattern. If you are implementing a custom</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment">/// BugReporterVisitor, subclass BugReporterVisitorImpl and provide a public</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">/// or protected copy constructor.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">/// (Warning: if you have a deep subclass of BugReporterVisitorImpl, the</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment">/// default implementation of clone() will NOT do the right thing, and you</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">/// will have to provide your own implementation.)</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">class</span> DERIVED></div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">   91</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html" title="BugReporterVisitors are used to add custom diagnostics along a path.">BugReporterVisitor</a> {</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html" title="BugReporterVisitors are used to add custom diagnostics along a path.">BugReporterVisitor</a> *clone()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> DERIVED(*static_cast<const DERIVED *>(<span class="keyword">this</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> };</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html">   97</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html">FindLastStoreBRVisitor</a></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><FindLastStoreBRVisitor></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">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="l00101"></a><span class="lineno">  101</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="keywordtype">bool</span> Satisfied;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment">  /// If the visitor is tracking the value directly responsible for the</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment">  /// bug, we are going to employ false positive suppression.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment"></span>  <span class="keywordtype">bool</span> EnableNullFPSuppression;</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">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment">  /// Creates a visitor for every VarDecl inside a Stmt and registers it with</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment">  /// the BugReport.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#af95d345b5ff8f0057908134bf04130b9">registerStatementVarDecls</a>(<a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR, <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="l00112"></a><span class="lineno">  112</span>                                         <span class="keywordtype">bool</span> EnableNullFPSuppression);</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_1FindLastStoreBRVisitor.html#a31c9999a1d3c8514422342e8f8dd7e1f">  114</a></span>   <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#a31c9999a1d3c8514422342e8f8dd7e1f">FindLastStoreBRVisitor</a>(<a class="code" href="classclang_1_1ento_1_1KnownSVal.html" title="Represents an SVal that is guaranteed to not be UnknownVal.">KnownSVal</a> V, <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="l00115"></a><span class="lineno">  115</span>                          <span class="keywordtype">bool</span> InEnableNullFPSuppression)</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   : R(R),</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     V(V),</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>     Satisfied(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>     EnableNullFPSuppression(InEnableNullFPSuppression) {}</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#ae503b11cb15b8e2c246065faae8c8a01">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="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#a83c057b3e53b3470926434a5f987bc23" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</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> </div>
+<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html">  129</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html">TrackConstraintBRVisitor</a></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><TrackConstraintBRVisitor></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>   <a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> Constraint;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="keywordtype">bool</span> Assumption;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   <span class="keywordtype">bool</span> IsSatisfied;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>   <span class="keywordtype">bool</span> IsZeroCheck;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment"></span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment">  /// We should start tracking from the last node along the path in which the</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment">  /// value is constrained.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment"></span>  <span class="keywordtype">bool</span> IsTrackingTurnedOn;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#aceb23e536f51e7af76670d5739e2acc9">  142</a></span>   <a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#aceb23e536f51e7af76670d5739e2acc9">TrackConstraintBRVisitor</a>(<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> constraint, <span class="keywordtype">bool</span> assumption)</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>   : Constraint(constraint), Assumption(assumption), IsSatisfied(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>),</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     IsZeroCheck(!Assumption && Constraint.getAs<<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>>()),</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     IsTrackingTurnedOn(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {}</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="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#ad131865100fa44b5798e766d194894ba">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="l00148"></a><span class="lineno">  148</span> <span class="comment"></span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> <span class="comment">  /// Return the tag associated with this visitor.  This tag will be used</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment">  /// to make all PathDiagnosticPieces created by this visitor.</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a19181dae7805f0aa16ea634986c0f8a0">getTag</a>();</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a5a4804167bb831452385161b551b19b0" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</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> <span class="keyword">private</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment">  /// Checks if the constraint is valid in the current state.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment"></span>  <span class="keywordtype">bool</span> isUnderconstrained(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</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> <span class="comment"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">/// \class NilReceiverBRVisitor</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">/// \brief Prints path notes when a message is sent to a nil receiver.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html">  166</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html" title="Prints path notes when a message is sent to a nil receiver.">NilReceiverBRVisitor</a></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><NilReceiverBRVisitor> {</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="keyword">public</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"><a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#a78f6451106bf79e8e251def6b278394b">  170</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#a78f6451106bf79e8e251def6b278394b">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="l00171"></a><span class="lineno">  171</span>     <span class="keyword">static</span> <span class="keywordtype">int</span> x = 0;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     ID.AddPointer(&x);</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> </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#a114a2aaba9131be3c173d8ccdc743e54" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</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">  /// If the statement is a message send expression with nil receiver, returns</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span> <span class="comment">  /// the receiver expression. Returns NULL otherwise.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#aff14cd246ebf6362d063a3c4ea7fee55">getNilReceiver</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_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> };</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment"></span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment">/// Visitor that tries to report interesting diagnostics from conditions.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html">  186</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html" title="Visitor that tries to report interesting diagnostics from conditions.">ConditionBRVisitor</a> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><ConditionBRVisitor> {</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00188"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#ac2f1dafae73b49478d944889c6c4b592">  188</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#ac2f1dafae73b49478d944889c6c4b592">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="l00189"></a><span class="lineno">  189</span>     <span class="keyword">static</span> <span class="keywordtype">int</span> x = 0;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     ID.AddPointer(&x);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   }</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> <span class="comment"></span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> <span class="comment">  /// Return the tag associated with this visitor.  This tag will be used</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> <span class="comment">  /// to make all PathDiagnosticPieces created by this visitor.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9bf90dbf062e970f54562539df75f90a">getTag</a>();</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="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a76f74c33199facfa5b5e301ef1cb41ee" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Prev,</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>                                          <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>                                          <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a150db00bff65ec79477250686e71f5e8">VisitNodeImpl</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Prev,</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9fd791fbb53eeff9fc9e86cf7c6e3446">VisitTerminator</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Term,</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *srcBlk,</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dstBlk,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>                                        <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>                                        <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC);</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond,</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>                                      <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond,</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</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,</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>                                      <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond,</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</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> *BExpr,</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>                                      <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>                                      <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</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>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a53ff0a91bcb85a2b3969e8878240e401">VisitConditionVariable</a>(StringRef LhsString,</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>                                               <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *CondVarExpr,</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>                                               <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>                                               <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>                                               <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>                                               <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</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="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#aa2c98f4531fb1994562af00a09328376">patternMatch</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Ex,</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>                     raw_ostream &Out,</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>                     <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>                     <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>                     <a class="code" href="classllvm_1_1Optional.html">Optional<bool></a> &prunable);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> };</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> <span class="comment"></span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> <span class="comment">/// \brief Suppress reports that might lead to known false positives.</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">/// Currently this suppresses reports based on locations of bugs.</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html">  252</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html" title="Suppress reports that might lead to known false positives.">LikelyFalsePositiveSuppressionBRVisitor</a></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><LikelyFalsePositiveSuppressionBRVisitor> {</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">  255</a></span>   <span class="keyword">static</span> <span class="keywordtype">void</span> *<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">getTag</a>() {</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>     <span class="keyword">static</span> <span class="keywordtype">int</span> Tag = 0;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">void</span> *<span class="keyword">></span>(&Tag);</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> </div>
+<div class="line"><a name="l00260"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#a4b78f5685a52dc80bcc63af0e94db500">  260</a></span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#a4b78f5685a52dc80bcc63af0e94db500">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="l00261"></a><span class="lineno">  261</span>     ID.AddPointer(<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">getTag</a>());</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   }</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac676814e36cbd46d1f8ed0eef707d88d">  264</a></span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac676814e36cbd46d1f8ed0eef707d88d" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Prev,</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>                                          <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>                                          <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>     <span class="keywordflow">return</span> 0;</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> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#a65f35eb6dcee66be83dfa7bd796a8329" title="Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed ...">getEndPath</a>(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>                                           <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>                                           <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> };</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> <span class="comment"></span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> <span class="comment">/// \brief When a region containing undefined value or '0' value is passed </span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> <span class="comment">/// as an argument in a call, marks the call as interesting.</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">/// As a result, BugReporter will not prune the path through the function even</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> <span class="comment">/// if the region's contents are not modified/accessed by the call.</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html">  281</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html" title="When a region containing undefined value or '0' value is passed as an argument in a call...">UndefOrNullArgVisitor</a></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>   : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><UndefOrNullArgVisitor> {</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment"></span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> <span class="comment">  /// The interesting memory region this visitor is tracking.</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *R;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#ac58e6350672b47b5e7e3995e208b26a4">  288</a></span>   <a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#ac58e6350672b47b5e7e3995e208b26a4">UndefOrNullArgVisitor</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> *InR) : R(InR) {}</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#a3314e3079130defa4b58eb5c13a3acc5">  290</a></span>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#a3314e3079130defa4b58eb5c13a3acc5">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="l00291"></a><span class="lineno">  291</span>     <span class="keyword">static</span> <span class="keywordtype">int</span> Tag = 0;</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>     ID.AddPointer(&Tag);</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>     ID.AddPointer(R);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>   }</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#af9ae00c2c477565a0ce5c97b41f41053" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</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"><a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html">  302</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html">SuppressInlineDefensiveChecksVisitor</a></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><SuppressInlineDefensiveChecksVisitor></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> {<span class="comment"></span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> <span class="comment">  /// The symbolic value for which we are tracking constraints.</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> <span class="comment">  /// This value is constrained to null in the end of path.</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> <span class="comment"></span>  <a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> V;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> <span class="comment"></span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> <span class="comment">  /// Track if we found the node where the constraint was first added.</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="comment"></span>  <span class="keywordtype">bool</span> IsSatisfied;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> <span class="comment"></span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> <span class="comment">  /// Since the visitors can be registered on nodes previous to the last</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> <span class="comment">  /// node in the BugReport, but the path traversal always starts with the last</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> <span class="comment">  /// node, the visitor invariant (that we start with a node in which V is null)</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> <span class="comment">  /// might not hold when node visitation starts. We are going to start tracking</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> <span class="comment">  /// from the last node in which the value is null.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> <span class="comment"></span>  <span class="keywordtype">bool</span> IsTrackingTurnedOn;</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="keyword">public</span>:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#abc6d2aeafbeca28e76a2d5f8177b65e4">SuppressInlineDefensiveChecksVisitor</a>(<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> Val, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#a3d3eefbdfd28ac1058dd025040c7853c">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="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">  /// Return the tag associated with this visitor.  This tag will be used</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> <span class="comment">  /// to make all PathDiagnosticPieces created by this visitor.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#ac11b811c2a6d90f42d33d38586ba32cb">getTag</a>();</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#a2d3c80fed598eb1029d3e91084ffc18a" title="Return a diagnostic piece which should be associated with the given node.">VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ,</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR);</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> };</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html">  334</a></span> <span class="keyword">namespace </span>bugreporter {</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> <span class="comment"></span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> <span class="comment">/// Attempts to add visitors to trace a null or undefined value back to its</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> <span class="comment">/// point of origin, whether it is a symbol constrained to null or an explicit</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> <span class="comment">/// assignment.</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> <span class="comment">/// \param N A node "downstream" from the evaluation of the statement.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="comment">/// \param S The statement whose value is null or undefined.</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="comment">/// \param R The bug report to which visitors should be attached.</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> <span class="comment">/// \param IsArg Whether the statement is an argument to an inlined function.</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> <span class="comment">///              If this is the case, \p N \em must be the CallEnter node for</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> <span class="comment">///              the function.</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> <span class="comment">/// \param EnableNullFPSuppression Whether we should employ false positive</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> <span class="comment">///         suppression (inlined defensive checks, returned null).</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> <span class="comment">/// \return Whether or not the function was able to add visitors for this</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> <span class="comment">///         statement. Note that returning \c true does not actually imply</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> <span class="comment">///         that any visitors were added.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">trackNullOrUndefValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N, <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_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>                            <span class="keywordtype">bool</span> IsArg = <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>                            <span class="keywordtype">bool</span> EnableNullFPSuppression = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a71c8ae94d739523a7f4684109e23ea61">getDerefExpr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S);</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#af8a2442920ddafb4f403d7c2b2f08935">GetDenomExpr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a85d996b180e61f6d5e5678b886f84044">GetRetValExpr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N);</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#aa30a1b17f827c48f445bac81855491e4">isDeclRefExprToReference</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E);</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> } <span class="comment">// end namespace ento</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> } <span class="comment">// end namespace bugreporter</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> <span class="preprocessor">#endif //LLVM_CLANG_GR__BUGREPORTERVISITOR</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:20 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitors_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitors_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitors_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/BugReporterVisitors_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1725 @@
+<!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: BugReporterVisitors.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">BugReporterVisitors.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="BugReporterVisitors_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">// BugReporterVisitors.cpp - Helpers for reporting bugs -----------*- 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 a set of BugReporter "visitors" which can be used to</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//  enhance the diagnostics reported for a bug.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="BugReporterVisitor_8h.html">clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="Expr_8h.html">clang/AST/Expr.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="ExprObjC_8h.html">clang/AST/ExprObjC.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="BugReporter_8h.html">clang/StaticAnalyzer/Core/BugReporter/BugReporter.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="PathDiagnostic_8h.html">clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</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="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="ExplodedGraph_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="ExprEngine_8h.html">clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</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="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "llvm/ADT/SmallString.h"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/StringExtras.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="keyword">using namespace </span>ento;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">using</span> llvm::FoldingSetNodeID;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">// Utility functions.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#aa30a1b17f827c48f445bac81855491e4">   36</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#aa30a1b17f827c48f445bac81855491e4">bugreporter::isDeclRefExprToReference</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E) {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</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> *DRE = dyn_cast<DeclRefExpr>(E)) {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     <span class="keywordflow">return</span> DRE->getDecl()->getType()->isReferenceType();</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="keywordflow">return</span> <span class="keyword">false</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> </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a71c8ae94d739523a7f4684109e23ea61">   43</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a71c8ae94d739523a7f4684109e23ea61">bugreporter::getDerefExpr</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="l00044"></a><span class="lineno">   44</span>   <span class="comment">// Pattern match for a few useful cases:</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <span class="comment">//   a[0], p->f, *p</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = dyn_cast<<a class="code" href="classclang_1_1Expr.html">Expr</a>>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   <span class="keywordflow">if</span> (!E)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   E = E-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a> *B = dyn_cast<BinaryOperator>(E)) {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>       assert(B->isAssignmentOp());</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>       E = B->getLHS()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>       <span class="keywordflow">continue</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">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *U = dyn_cast<UnaryOperator>(E)) {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>       <span class="keywordflow">if</span> (U->getOpcode() == <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffa7fa8b49244d53a4c50b7d8e63257449e">UO_Deref</a>)</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>         <span class="keywordflow">return</span> U->getSubExpr()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>     }</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberExpr.html">MemberExpr</a> *ME = dyn_cast<MemberExpr>(E)) {</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>       <span class="keywordflow">if</span> (ME->isArrow() || <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#aa30a1b17f827c48f445bac81855491e4">isDeclRefExprToReference</a>(ME->getBase())) {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>         <span class="keywordflow">return</span> ME->getBase()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>         <span class="comment">// If we have a member expr with a dot, the base must have been</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>         <span class="comment">// dereferenced.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>         <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a71c8ae94d739523a7f4684109e23ea61">getDerefExpr</a>(ME->getBase());</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">   70</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCIvarRefExpr.html" title="ObjCIvarRefExpr - A reference to an ObjC instance variable.">ObjCIvarRefExpr</a> *IvarRef = dyn_cast<ObjCIvarRefExpr>(E)) {</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>       <span class="keywordflow">return</span> IvarRef->getBase()-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>     }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ArraySubscriptExpr.html" title="ArraySubscriptExpr - [C99 6.5.2.1] Array Subscripting.">ArraySubscriptExpr</a> *AE = dyn_cast<ArraySubscriptExpr>(E)) {</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>       <span class="keywordflow">return</span> AE->getBase();</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="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#aa30a1b17f827c48f445bac81855491e4">isDeclRefExprToReference</a>(E)) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>       <span class="keywordflow">return</span> E;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>     }</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   }</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</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> </div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#af8a2442920ddafb4f403d7c2b2f08935">   85</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#af8a2442920ddafb4f403d7c2b2f08935">bugreporter::GetDenomExpr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PreStmt.html">PreStmt</a>>()->getStmt();</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a> *BE = dyn_cast<BinaryOperator>(S))</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>     <span class="keywordflow">return</span> BE->getRHS();</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</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> </div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a85d996b180e61f6d5e5678b886f84044">   92</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a85d996b180e61f6d5e5678b886f84044">bugreporter::GetRetValExpr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a> = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>()->getStmt();</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ReturnStmt.html">ReturnStmt</a> *RS = dyn_cast<ReturnStmt>(S))</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>     <span class="keywordflow">return</span> RS->getRetValue();</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</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> </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">// Definitions for bug reporter visitors.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> </div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a>*</div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a0403b40360dc87bc0ca21a9a823550f0">  104</a></span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a0403b40360dc87bc0ca21a9a823550f0" title="Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed ...">BugReporterVisitor::getEndPath</a>(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *EndPathNode,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>                                <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> }</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a>*</div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a7c809403d7cb3b00639b59be8c0a9049">  111</a></span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html#a7c809403d7cb3b00639b59be8c0a9049" title="Generates the default final diagnostic piece.">BugReporterVisitor::getDefaultEndPath</a>(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *EndPathNode,</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>                                       <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> L =</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>     <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#aa13cbc24e9caf4040e7925b617645069">PathDiagnosticLocation::createEndOfPath</a>(EndPathNode,BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>());</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="classclang_1_1SourceRange.html" title="A trival tuple used to represent a source range.">BugReport::ranges_iterator</a> Beg, End;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   llvm::tie(Beg, End) = BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a645288c2e822b0fe9f8d01d9556953bb" title="Get the SourceRanges associated with the report.">getRanges</a>();</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="comment">// Only add the statement itself as a range if we didn't specify any</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <span class="comment">// special ranges for this report.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a>(L,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a7a4a8729157787576af47bc066a06922">getDescription</a>(),</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>       Beg == End);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   <span class="keywordflow">for</span> (; Beg != End; ++Beg)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>     P-><a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html#a1443e3594b9b1e313030b764c980f948">addRange</a>(*Beg);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   <span class="keywordflow">return</span> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> }</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> </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> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment">/// Emits an extra note at the return statement of an interesting stack frame.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">/// The returned value is marked as an interesting value, and if it's null,</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">/// adds a visitor to track where it became null.</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">/// This visitor is intended to be used when another visitor discovers that an</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">/// interesting value comes from an inlined function call.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment"></span><span class="keyword">class </span>ReturnVisitor : <span class="keyword">public</span> <a class="code" href="classclang_1_1ento_1_1BugReporterVisitorImpl.html">BugReporterVisitorImpl</a><ReturnVisitor> {</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *StackFrame;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <span class="keyword">enum</span> {</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>     Initial,</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>     MaybeUnsuppress,</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     Satisfied</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   } Mode;</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="keywordtype">bool</span> EnableNullFPSuppression;</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">public</span>:</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   ReturnVisitor(<span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *Frame, <span class="keywordtype">bool</span> Suppressed)</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     : StackFrame(Frame), Mode(Initial), EnableNullFPSuppression(Suppressed) {}</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>   <span class="keyword">static</span> <span class="keywordtype">void</span> *getTag() {</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <span class="keyword">static</span> <span class="keywordtype">int</span> Tag = 0;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">void</span> *<span class="keyword">></span>(&Tag);</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="keyword">virtual</span> <span class="keywordtype">void</span> Profile(llvm::FoldingSetNodeID &<a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     ID.AddPointer(ReturnVisitor::getTag());</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>     ID.AddPointer(StackFrame);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     ID.AddBoolean(EnableNullFPSuppression);</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="comment"></span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">  /// Adds a ReturnVisitor if the given statement represents a call that was</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment">  /// inlined.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment">  /// This will search back through the ExplodedGraph, starting from the given</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> <span class="comment">  /// node, looking for when the given statement was processed. If it turns out</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment">  /// the statement is a call that was inlined, we add the visitor to the</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> <span class="comment">  /// bug report, so it can print a note later.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> addVisitorIfNecessary(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *<a class="code" href="ASTMatchFinder_8cpp.html#a1dfddff6f4d91f415ffe4b9a6da5f489">Node</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="l00173"></a><span class="lineno">  173</span>                                     <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR,</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                                     <span class="keywordtype">bool</span> InEnableNullFPSuppression) {</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     <span class="keywordflow">if</span> (!<a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1c9242d792ffa6c483abd803b0974c91" title="Returns true if this is a statement is a function or method call of some kind.">CallEvent::isCallStmt</a>(S))</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>       <span class="keywordflow">return</span>;</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>     <span class="comment">// First, find when we processed the statement.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<CallExitEnd></a> CEE = Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a>>())</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>         <span class="keywordflow">if</span> (CEE->getCalleeContext()->getCallSite() == <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<StmtPoint></a> SP = Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>>())</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>         <span class="keywordflow">if</span> (SP->getStmt() == <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>           <span class="keywordflow">break</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>       Node = Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a003d62d3ec7257e7a547a6348a5c1d70">getFirstPred</a>();</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     } <span class="keywordflow">while</span> (Node);</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">// Next, step over any post-statement checks.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     <span class="keywordflow">while</span> (Node && Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</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><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>())</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>       Node = Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a003d62d3ec7257e7a547a6348a5c1d70">getFirstPred</a>();</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>     <span class="keywordflow">if</span> (!Node)</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <span class="comment">// Finally, see if we inlined the call.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>     <a class="code" href="classllvm_1_1Optional.html">Optional<CallExitEnd></a> CEE = Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a>>();</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     <span class="keywordflow">if</span> (!CEE)</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>       <span class="keywordflow">return</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">  201</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1StackFrameContext.html">StackFrameContext</a> *CalleeContext = CEE->getCalleeContext();</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>     <span class="keywordflow">if</span> (CalleeContext-><a class="code" href="classclang_1_1StackFrameContext.html#a24b791c6edeb80a10657fcbe2eff8b3e">getCallSite</a>() != <a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>)</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>       <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>     </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>     <span class="comment">// Check the return value.</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a> = Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</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> RetVal = State->getSVal(S, Node-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</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>     <span class="comment">// Handle cases where a reference is returned and then immediately used.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>     <span class="keywordflow">if</span> (cast<Expr>(S)->isGLValue())</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<Loc></a> LValue = RetVal.<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="l00212"></a><span class="lineno">  212</span>         RetVal = State->getSVal(*LValue);</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>     <span class="comment">// See if the return value is NULL. If so, suppress the report.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>     <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *Eng = State->getStateManager().getOwningEngine();</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>     assert(Eng && <span class="stringliteral">"Cannot file a bug report without an owning engine"</span>);</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>     <a class="code" href="classclang_1_1AnalyzerOptions.html">AnalyzerOptions</a> &Options = Eng-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#aaacf5094d0ee0538d96e66d58563d1b5">getAnalysisManager</a>().<a class="code" href="classclang_1_1ento_1_1AnalysisManager.html#abf4a2be69b20fa3b0f10b8379927ec9c">options</a>;</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="keywordtype">bool</span> EnableNullFPSuppression = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>     <span class="keywordflow">if</span> (InEnableNullFPSuppression && Options.<a class="code" href="classclang_1_1AnalyzerOptions.html#a405088c2b82e1b8862ee9a1fe475f704">shouldSuppressNullReturnPaths</a>())</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<Loc></a> RetLoc = RetVal.<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="l00222"></a><span class="lineno">  222</span>         EnableNullFPSuppression = State->isNull(*RetLoc).isConstrainedTrue();</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>     BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(CalleeContext);</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>     BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> ReturnVisitor(CalleeContext, EnableNullFPSuppression));</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   }</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> <span class="comment"></span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> <span class="comment">  /// Returns true if any counter-suppression heuristics are enabled for</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> <span class="comment">  /// ReturnVisitor.</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> hasCounterSuppression(<a class="code" href="classclang_1_1AnalyzerOptions.html">AnalyzerOptions</a> &Options) {</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>     <span class="keywordflow">return</span> Options.<a class="code" href="classclang_1_1AnalyzerOptions.html#aa89db1096cecf969334f19a8e2040d00">shouldAvoidSuppressingNullArgumentPaths</a>();</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>   }</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *visitNodeInitial(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>                                         <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>                                         <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>     <span class="comment">// Only print a message at the interesting return statement.</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>     <span class="keywordflow">if</span> (N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>() != StackFrame)</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>       <span class="keywordflow">return</span> 0;</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>     <a class="code" href="classllvm_1_1Optional.html">Optional<StmtPoint></a> SP = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>>();</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     <span class="keywordflow">if</span> (!SP)</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>       <span class="keywordflow">return</span> 0;</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>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ReturnStmt.html">ReturnStmt</a> *Ret = dyn_cast<<a class="code" href="classclang_1_1ReturnStmt.html">ReturnStmt</a>>(SP->getStmt());</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>     <span class="keywordflow">if</span> (!Ret)</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>       <span class="keywordflow">return</span> 0;</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>     <span class="comment">// Okay, we're at the right return statement, but do we have the return</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     <span class="comment">// value available?</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</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 = State->getSVal(Ret, StackFrame);</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a593bdea7f57714567c8d92a592ea0e0e">isUnknownOrUndef</a>())</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>     <span class="comment">// Don't print any more notes after this one.</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     Mode = Satisfied;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *RetE = Ret-><a class="code" href="classclang_1_1ReturnStmt.html#a7de01dadd6eeb10fae138e97d7a8edc7">getRetValue</a>();</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>     assert(RetE && <span class="stringliteral">"Tracking a return value for a void function"</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">  263</span>     <span class="comment">// Handle cases where a reference is returned and then immediately used.</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     <a class="code" href="classllvm_1_1Optional.html">Optional<Loc></a> LValue;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="keywordflow">if</span> (RetE-><a class="code" href="classclang_1_1Expr.html#ae5788e69a4c1d2d1b1e5ddaa4d525e22">isGLValue</a>()) {</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>       <span class="keywordflow">if</span> ((LValue = 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="l00267"></a><span class="lineno">  267</span>         <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> RValue = State->getRawSVal(*LValue, RetE-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>());</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>         <span class="keywordflow">if</span> (RValue.<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_1DefinedSVal.html">DefinedSVal</a>>())</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>           V = RValue;</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>     }</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>     <span class="comment">// Ignore aggregate rvalues.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</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_1nonloc_1_1LazyCompoundVal.html">nonloc::LazyCompoundVal</a>>() ||</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>         V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1CompoundVal.html">nonloc::CompoundVal</a>>())</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>       <span class="keywordflow">return</span> 0;</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>     RetE = RetE-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</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="comment">// If we can't prove the return value is 0, just mark it interesting, and</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     <span class="comment">// make sure to track it into any further inner functions.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>     <span class="keywordflow">if</span> (!State->isNull(V).isConstrainedTrue()) {</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>       BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(V);</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>       ReturnVisitor::addVisitorIfNecessary(N, RetE, BR,</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>                                            EnableNullFPSuppression);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>       <span class="keywordflow">return</span> 0;</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>       </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <span class="comment">// If we're returning 0, we should track where that 0 came from.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>     <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, RetE, BR, <span class="comment">/*IsArg*/</span> <span class="keyword">false</span>,</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>                                        EnableNullFPSuppression);</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>     <span class="comment">// Build an appropriate message based on the return value.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<64></a> Msg;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>     llvm::raw_svector_ostream Out(Msg);</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>     <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="l00298"></a><span class="lineno">  298</span>       <span class="comment">// If we have counter-suppression enabled, make sure we keep visiting</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>       <span class="comment">// future nodes. We want to emit a path note as well, in case</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>       <span class="comment">// the report is resurrected as valid later on.</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>       <a class="code" href="classclang_1_1ento_1_1ExprEngine.html">ExprEngine</a> &Eng = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a681ee2cf1bc1398f74d36954b32caeff">getBugReporter</a>().<a class="code" href="classclang_1_1ento_1_1GRBugReporter.html#a5250b2178becd1351d48965f746245ca">getEngine</a>();</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>       <a class="code" href="classclang_1_1AnalyzerOptions.html">AnalyzerOptions</a> &Options = Eng.<a class="code" href="classclang_1_1ento_1_1ExprEngine.html#aec6be9ca26391b6b5541dfc96914fc2e">getAnalysisManager</a>().<a class="code" href="classclang_1_1ento_1_1AnalysisManager.html#abf4a2be69b20fa3b0f10b8379927ec9c">options</a>;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>       <span class="keywordflow">if</span> (EnableNullFPSuppression && hasCounterSuppression(Options))</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>         Mode = MaybeUnsuppress;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>       <span class="keywordflow">if</span> (RetE-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>())</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>         Out << <span class="stringliteral">"Returning nil"</span>;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>         Out << <span class="stringliteral">"Returning null pointer"</span>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>       Out << <span class="stringliteral">"Returning zero"</span>;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>     }</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     <span class="keywordflow">if</span> (LValue) {</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *MR = LValue->getAsRegion()) {</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>         <span class="keywordflow">if</span> (MR->canPrintPretty()) {</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>           Out << <span class="stringliteral">" (reference to "</span>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>           MR->printPretty(Out);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>           Out << <span class="stringliteral">")"</span>;</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>       }</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>       <span class="comment">// FIXME: We should have a more generalized location printing mechanism.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</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>(RetE))</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1DeclaratorDecl.html" title="Represents a ValueDecl that came out of a declarator. Contains type source information through TypeSo...">DeclaratorDecl</a> *DD = dyn_cast<DeclaratorDecl>(DR->getDecl()))</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>           Out << <span class="stringliteral">" (loaded from '"</span> << *DD << <span class="stringliteral">"')"</span>;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>     }</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>     <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> L(Ret, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>(), StackFrame);</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>     <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a>(L, Out.str());</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">  333</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *visitNodeMaybeUnsuppress(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>                                                 <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>                                                 <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> <span class="preprocessor">#ifndef NDEBUG</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> <span class="preprocessor"></span>    <a class="code" href="classclang_1_1ento_1_1ExprEngine.html">ExprEngine</a> &Eng = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a681ee2cf1bc1398f74d36954b32caeff">getBugReporter</a>().<a class="code" href="classclang_1_1ento_1_1GRBugReporter.html#a5250b2178becd1351d48965f746245ca">getEngine</a>();</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>     <a class="code" href="classclang_1_1AnalyzerOptions.html">AnalyzerOptions</a> &Options = Eng.<a class="code" href="classclang_1_1ento_1_1ExprEngine.html#aec6be9ca26391b6b5541dfc96914fc2e">getAnalysisManager</a>().<a class="code" href="classclang_1_1ento_1_1AnalysisManager.html#abf4a2be69b20fa3b0f10b8379927ec9c">options</a>;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>     assert(hasCounterSuppression(Options));</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>     <span class="comment">// Are we at the entry node for this call?</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>     <a class="code" href="classllvm_1_1Optional.html">Optional<CallEnter></a> CE = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>();</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <span class="keywordflow">if</span> (!CE)</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>     <span class="keywordflow">if</span> (CE->getCalleeContext() != StackFrame)</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>       <span class="keywordflow">return</span> 0;</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>     Mode = Satisfied;</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">// Don't automatically suppress a report if one of the arguments is</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>     <span class="comment">// known to be a null pointer. Instead, start tracking /that/ null</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     <span class="comment">// value back to its origin.</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>     <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &StateMgr = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a8108eef72f3f45ae744baa5621a10e75">getStateManager</a>();</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>     <a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a> &CallMgr = StateMgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a3f893d79f046e245f759c19bc18b3411">getCallEventManager</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>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>     <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<></a> Call = CallMgr.<a class="code" href="classclang_1_1CallEventManager.html#afd14cd71933faf35a1386e1adea976c3">getCaller</a>(StackFrame, State);</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 0, E = Call->getNumArgs(); I != E; ++I) {</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>       <a class="code" href="classllvm_1_1Optional.html">Optional<Loc></a> ArgV = Call->getArgSVal(I).getAs<<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>>();</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>       <span class="keywordflow">if</span> (!ArgV)</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *ArgE = Call->getArgExpr(I);</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>       <span class="keywordflow">if</span> (!ArgE)</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>       <span class="comment">// Is it possible for this argument to be non-null?</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>       <span class="keywordflow">if</span> (!State->isNull(*ArgV).isConstrainedTrue())</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>         <span class="keywordflow">continue</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="keywordflow">if</span> (<a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, ArgE, BR, <span class="comment">/*IsArg=*/</span><span class="keyword">true</span>,</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>                                              EnableNullFPSuppression))</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>         BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a30578b4dce3707a582c9bbfe07897e8a">removeInvalidation</a>(ReturnVisitor::getTag(), StackFrame);</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>       <span class="comment">// If we /can't/ track the null pointer, we should err on the side of</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>       <span class="comment">// false negatives, and continue towards marking this report invalid.</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>       <span class="comment">// (We will still look at the other arguments, though.)</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> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>     <span class="keywordflow">return</span> 0;</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> </div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *VisitNode(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>                                  <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>     <span class="keywordflow">switch</span> (Mode) {</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>     <span class="keywordflow">case</span> Initial:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>       <span class="keywordflow">return</span> visitNodeInitial(N, PrevN, BRC, BR);</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>     <span class="keywordflow">case</span> MaybeUnsuppress:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>       <span class="keywordflow">return</span> visitNodeMaybeUnsuppress(N, PrevN, BRC, BR);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>     <span class="keywordflow">case</span> Satisfied:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>     }</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     llvm_unreachable(<span class="stringliteral">"Invalid visit mode!"</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">  402</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *getEndPath(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>     <span class="keywordflow">if</span> (EnableNullFPSuppression)</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>       BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#ac9f6d1ef6eb241247f366ac69b8634a5">markInvalid</a>(ReturnVisitor::getTag(), StackFrame);</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>     <span class="keywordflow">return</span> 0;</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="comment">// end anonymous namespace</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#ae503b11cb15b8e2c246065faae8c8a01">  413</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#ae503b11cb15b8e2c246065faae8c8a01">FindLastStoreBRVisitor ::Profile</a>(llvm::FoldingSetNodeID &ID)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <span class="keyword">static</span> <span class="keywordtype">int</span> tag = 0;</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   ID.AddPointer(&tag);</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   ID.AddPointer(R);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>   ID.Add(V);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   ID.AddBoolean(EnableNullFPSuppression);</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> }</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> <span class="comment"></span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> <span class="comment">/// Returns true if \p N represents the DeclStmt declaring and initializing</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> <span class="comment">/// \p VR.</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"><a class="code" href="BugReporterVisitors_8cpp.html#ad7640dbd9f3120496ba251f367ada0b6">  423</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="BugReporterVisitors_8cpp.html#ad7640dbd9f3120496ba251f367ada0b6">isInitializationOfVar</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *VR) {</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<PostStmt></a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>();</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   <span class="keywordflow">if</span> (!P)</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *DS = P->getStmtAs<<a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a>>();</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   <span class="keywordflow">if</span> (!DS)</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>     <span class="keywordflow">return</span> <span class="keyword">false</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="keywordflow">if</span> (DS-><a class="code" href="classclang_1_1DeclStmt.html#a7a3a8ab21cb320cd84c3dce1e678b0b3">getSingleDecl</a>() != VR-><a class="code" href="classclang_1_1ento_1_1VarRegion.html#ab06cf2729ec224250d044facc6c7d47b">getDecl</a>())</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> </div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemSpaceRegion.html">MemSpaceRegion</a> *VarSpace = VR-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a4d2b2de69f0bb1c7254b4d0447bd275c">getMemorySpace</a>();</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1StackSpaceRegion.html">StackSpaceRegion</a> *FrameSpace = dyn_cast<<a class="code" href="classclang_1_1ento_1_1StackSpaceRegion.html">StackSpaceRegion</a>>(VarSpace);</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>   <span class="keywordflow">if</span> (!FrameSpace) {</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>     <span class="comment">// If we ever directly evaluate global DeclStmts, this assertion will be</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>     <span class="comment">// invalid, but this still seems preferable to silently accepting an</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>     <span class="comment">// initialization that may be for a path-sensitive variable.</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>     assert(VR-><a class="code" href="classclang_1_1ento_1_1VarRegion.html#ab06cf2729ec224250d044facc6c7d47b">getDecl</a>()-><a class="code" href="classclang_1_1VarDecl.html#a513c56596b4d12e99dd42a4f3ff646d4">isStaticLocal</a>() && <span class="stringliteral">"non-static stackless VarRegion"</span>);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>   }</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   assert(VR-><a class="code" href="classclang_1_1ento_1_1VarRegion.html#ab06cf2729ec224250d044facc6c7d47b">getDecl</a>()-><a class="code" href="classclang_1_1VarDecl.html#a86bb48bd6ced47b79a59af7df7108184">hasLocalStorage</a>());</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>   <span class="keywordflow">return</span> FrameSpace-><a class="code" href="classclang_1_1ento_1_1StackSpaceRegion.html#a3d380a72e4d0f2277653dfcc1b4e1724">getStackFrame</a>() == LCtx-><a class="code" href="classclang_1_1LocationContext.html#ad4512d946266fda30b7439564a9f831c">getCurrentStackFrame</a>();</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> </div>
+<div class="line"><a name="l00450"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#a83c057b3e53b3470926434a5f987bc23">  450</a></span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#a83c057b3e53b3470926434a5f987bc23" title="Return a diagnostic piece which should be associated with the given node.">FindLastStoreBRVisitor::VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ,</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>                                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>                                                        <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>                                                        <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</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>   <span class="keywordflow">if</span> (Satisfied)</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>     <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *StoreSite = 0;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *InitE = 0;</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>   <span class="keywordtype">bool</span> IsParam = <span class="keyword">false</span>;</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>   <span class="comment">// First see if we reached the declaration of the region.</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *VR = dyn_cast<VarRegion>(R)) {</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>     <span class="keywordflow">if</span> (<a class="code" href="BugReporterVisitors_8cpp.html#ad7640dbd9f3120496ba251f367ada0b6">isInitializationOfVar</a>(Pred, VR)) {</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>       StoreSite = Pred;</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>       InitE = VR->getDecl()->getInit();</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>   }</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>   <span class="comment">// If this is a post initializer expression, initializing the region, we</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   <span class="comment">// should track the initializer expression.</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<PostInitializer></a> PIP = Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PostInitializer.html">PostInitializer</a>>()) {</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</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> *FieldReg = (<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> *)PIP->getLocationValue();</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>     <span class="keywordflow">if</span> (FieldReg && FieldReg == R) {</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>       StoreSite = Pred;</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>       InitE = PIP->getInitializer()->getInit();</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>     }</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   }</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>   <span class="comment">// Otherwise, see if this is the store site:</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="comment">// (1) Succ has this binding and Pred does not, i.e. this is</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   <span class="comment">//     where the binding first occurred.</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>   <span class="comment">// (2) Succ has this binding and is a PostStore node for this region, i.e.</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>   <span class="comment">//     the same binding was re-assigned here.</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   <span class="keywordflow">if</span> (!StoreSite) {</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>     <span class="keywordflow">if</span> (Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->getSVal(R) != V)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>       <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</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> (Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->getSVal(R) == V) {</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>       <a class="code" href="classllvm_1_1Optional.html">Optional<PostStore></a> PS = Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<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="l00491"></a><span class="lineno">  491</span>       <span class="keywordflow">if</span> (!PS || PS->getLocationValue() != R)</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>         <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>     }</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>     StoreSite = Succ;</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>     <span class="comment">// If this is an assignment expression, we can track the value</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     <span class="comment">// being assigned.</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<PostStmt></a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>())</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a> *BO = <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>->getStmtAs<<a class="code" href="classclang_1_1BinaryOperator.html" title="A builtin binary operation expression such as "x + y" or "x <= y".">BinaryOperator</a>>())</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>         <span class="keywordflow">if</span> (BO->isAssignmentOp())</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>           InitE = BO->getRHS();</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>     <span class="comment">// If this is a call entry, the variable should be a parameter.</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>     <span class="comment">// FIXME: Handle CXXThisRegion as well. (This is not a priority because</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>     <span class="comment">// 'this' should never be NULL, but this visitor isn't just for NULL and</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>     <span class="comment">// UndefinedVal.)</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<CallEnter></a> CE = Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>()) {</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *VR = dyn_cast<VarRegion>(R)) {</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *<a class="code" href="SemaOverload_8cpp.html#af465899bf43044df83229078154bc2ed">Param</a> = cast<ParmVarDecl>(VR->getDecl());</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="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &StateMgr = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a8108eef72f3f45ae744baa5621a10e75">getStateManager</a>();</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>         <a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a> &CallMgr = StateMgr.getCallEventManager();</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>         <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<></a> Call = CallMgr.<a class="code" href="classclang_1_1CallEventManager.html#afd14cd71933faf35a1386e1adea976c3">getCaller</a>(CE->getCalleeContext(),</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>                                                 Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>());</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>         InitE = Call->getArgExpr(Param-><a class="code" href="classclang_1_1ParmVarDecl.html#a88baa61855cb81d941ae6a46102e0437" title="Returns the index of this parameter in its prototype or method scope.">getFunctionScopeIndex</a>());</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>         IsParam = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>       }</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>     }</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>     <span class="comment">// If this is a CXXTempObjectRegion, the Expr responsible for its creation</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>     <span class="comment">// is wrapped inside of it.</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1CXXTempObjectRegion.html">CXXTempObjectRegion</a> *TmpR = dyn_cast<CXXTempObjectRegion>(R))</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>       InitE = TmpR->getExpr();</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   }</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span> </div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>   <span class="keywordflow">if</span> (!StoreSite)</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>     <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>   Satisfied = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span> </div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>   <span class="comment">// If we have an expression that provided the value, try to track where it</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   <span class="comment">// came from.</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>   <span class="keywordflow">if</span> (InitE) {</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>     <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>() ||</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</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_1_1ConcreteInt.html">loc::ConcreteInt</a>>() || V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>       <span class="keywordflow">if</span> (!IsParam)</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>         InitE = InitE-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>       <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(StoreSite, InitE, BR, IsParam,</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>                                          EnableNullFPSuppression);</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>       ReturnVisitor::addVisitorIfNecessary(StoreSite, InitE-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>(),</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>                                            BR, EnableNullFPSuppression);</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>     }</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>   }</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> </div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>   <span class="comment">// Okay, we've found the binding. Emit an appropriate message.</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> sbuf;</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>   llvm::raw_svector_ostream os(sbuf);</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<PostStmt></a> PS = StoreSite-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>()) {</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S = PS->getStmt();</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> *action = 0;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a> *DS = dyn_cast<<a class="code" href="classclang_1_1DeclStmt.html">DeclStmt</a>>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *VR = dyn_cast<<a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a>>(R);</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">if</span> (DS) {</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>       action = R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>() ? <span class="stringliteral">"initialized to "</span> :</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>                                      <span class="stringliteral">"Initializing to "</span>;</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isa<BlockExpr>(S)) {</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>       action = R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>() ? <span class="stringliteral">"captured by block as "</span> :</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>                                      <span class="stringliteral">"Captured by block as "</span>;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>       <span class="keywordflow">if</span> (VR) {</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>         <span class="comment">// See if we can get the BlockVarRegion.</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>         <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State = StoreSite-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>         <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = State->getSVal(S, PS->getLocationContext());</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1BlockDataRegion.html">BlockDataRegion</a> *BDR =</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>               dyn_cast_or_null<BlockDataRegion>(V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>())) {</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>           <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *OriginalR = BDR->getOriginalRegion(VR)) {</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>             <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<KnownSVal></a> KV =</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>                 State->getSVal(OriginalR).getAs<<a class="code" href="classclang_1_1ento_1_1KnownSVal.html" title="Represents an SVal that is guaranteed to not be UnknownVal.">KnownSVal</a>>())</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>               BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#a31c9999a1d3c8514422342e8f8dd7e1f">FindLastStoreBRVisitor</a>(*KV, OriginalR,</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>                                                       EnableNullFPSuppression));</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>         }</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>     }</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="keywordflow">if</span> (action) {</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>       <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>()) {</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>         R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a582acbcdf7b8be3b6c2663d8bab580ad" title="Print the region for use in diagnostics.">printPretty</a>(os);</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>         os << <span class="stringliteral">" "</span>;</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>       }</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span> </div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>       <span class="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_1_1ConcreteInt.html">loc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>         <span class="keywordtype">bool</span> b = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</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="l00588"></a><span class="lineno">  588</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="l00589"></a><span class="lineno">  589</span>             <span class="keywordflow">if</span> (TR->getValueType()->isObjCObjectPointerType()) {</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>               os << action << <span class="stringliteral">"nil"</span>;</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>               b = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>             }</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>           }</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="keywordflow">if</span> (!b)</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>           os << action << <span class="stringliteral">"a null pointer value"</span>;</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::ConcreteInt></a> CVal =</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>                      V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>         os << action << CVal->getValue();</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>       }</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (DS) {</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>         <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>           <span class="keywordflow">if</span> (isa<VarRegion>(R)) {</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>             <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> *VD = cast<VarDecl>(DS-><a class="code" href="classclang_1_1DeclStmt.html#a7a3a8ab21cb320cd84c3dce1e678b0b3">getSingleDecl</a>());</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>             <span class="keywordflow">if</span> (VD-><a class="code" href="classclang_1_1VarDecl.html#af6438debfc45cb2ad2d5cb5ce2711e0c">getInit</a>()) {</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>               os << (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>() ? <span class="stringliteral">"initialized"</span> : <span class="stringliteral">"Initializing"</span>)</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>                  << <span class="stringliteral">" to a garbage value"</span>;</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>             } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>               os << (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>() ? <span class="stringliteral">"declared"</span> : <span class="stringliteral">"Declaring"</span>)</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>                  << <span class="stringliteral">" without an initial value"</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>           }</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>         }</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>         <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>           os << (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>() ? <span class="stringliteral">"initialized"</span> : <span class="stringliteral">"Initialized"</span>)</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>              << <span class="stringliteral">" here"</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>     }</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (StoreSite-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</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><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>()) {</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *VR = dyn_cast<VarRegion>(R)) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ParmVarDecl.html" title="ParmVarDecl - Represents a parameter to a function.">ParmVarDecl</a> *<a class="code" href="SemaOverload_8cpp.html#af465899bf43044df83229078154bc2ed">Param</a> = cast<ParmVarDecl>(VR->getDecl());</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>       os << <span class="stringliteral">"Passing "</span>;</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>       <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_1_1ConcreteInt.html">loc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>         <span class="keywordflow">if</span> (Param-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>()-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>())</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>           os << <span class="stringliteral">"nil object reference"</span>;</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>         <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>           os << <span class="stringliteral">"null pointer value"</span>;</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>         os << <span class="stringliteral">"uninitialized value"</span>;</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::ConcreteInt></a> CI =</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>                      V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>         os << <span class="stringliteral">"the value "</span> << CI->getValue();</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>         os << <span class="stringliteral">"value"</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">  641</span>       <span class="comment">// Printed parameter indexes are 1-based, not 0-based.</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>       <span class="keywordtype">unsigned</span> Idx = Param-><a class="code" href="classclang_1_1ParmVarDecl.html#a88baa61855cb81d941ae6a46102e0437" title="Returns the index of this parameter in its prototype or method scope.">getFunctionScopeIndex</a>() + 1;</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>       os << <span class="stringliteral">" via "</span> << Idx << llvm::getOrdinalSuffix(Idx) << <span class="stringliteral">" parameter"</span>;</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>       <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>()) {</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>         os << <span class="stringliteral">" "</span>;</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>         R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a582acbcdf7b8be3b6c2663d8bab580ad" title="Print the region for use in diagnostics.">printPretty</a>(os);</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>     }</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</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>   <span class="keywordflow">if</span> (os.str().empty()) {</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</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_1_1ConcreteInt.html">loc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>       <span class="keywordtype">bool</span> b = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</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="l00655"></a><span class="lineno">  655</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="l00656"></a><span class="lineno">  656</span>           <span class="keywordflow">if</span> (TR->getValueType()->isObjCObjectPointerType()) {</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>             os << <span class="stringliteral">"nil object reference stored"</span>;</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>             b = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>           }</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>         }</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>       }</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>       <span class="keywordflow">if</span> (!b) {</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>         <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>())</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>           os << <span class="stringliteral">"Null pointer value stored"</span>;</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>         <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>           os << <span class="stringliteral">"Storing null pointer value"</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="keywordflow">else</span> <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a422e54c255e385e98842222ca50f2982">isUndef</a>()) {</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>       <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>())</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>         os << <span class="stringliteral">"Uninitialized value stored"</span>;</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>         os << <span class="stringliteral">"Storing uninitialized value"</span>;</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> </div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<nonloc::ConcreteInt></a> CV =</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>                    V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>       <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>())</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>         os << <span class="stringliteral">"The value "</span> << CV->getValue() << <span class="stringliteral">" is assigned"</span>;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>         os << <span class="stringliteral">"Assigning "</span> << CV->getValue();</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span> </div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>       <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>())</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>         os << <span class="stringliteral">"Value assigned"</span>;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>         os << <span class="stringliteral">"Assigning value"</span>;</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>     }</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>     </div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>     <span class="keywordflow">if</span> (R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a380605df6377712a8b4a4a9543ef8d50" title="Returns true if this region can be printed in a user-friendly way.">canPrintPretty</a>()) {</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>       os << <span class="stringliteral">" to "</span>;</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>       R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a582acbcdf7b8be3b6c2663d8bab580ad" title="Print the region for use in diagnostics.">printPretty</a>(os);</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">  694</span> </div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>   <span class="comment">// Construct a new PathDiagnosticPiece.</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = StoreSite-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>();</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> L;</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   <span class="keywordflow">if</span> (P.<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><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>() && InitE)</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>     L = <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a>(InitE, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>(),</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>                                P.<a class="code" href="classclang_1_1ProgramPoint.html#a8cbb6a970892b9289912f1232c8e2589">getLocationContext</a>());</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="keywordflow">if</span> (!L.<a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#a045b76260f569299641fb42108b28a9a">isValid</a>() || !L.<a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#a100f90d8dc7a4ff2ac18d5e4565c4bab">asLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>())</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     L = <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#ad5e9747a36878bcaaf1c734e417f7fd6" title="Create a location corresponding to the given declaration.">PathDiagnosticLocation::create</a>(P, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>());</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> </div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>   <span class="keywordflow">if</span> (!L.<a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#a045b76260f569299641fb42108b28a9a">isValid</a>() || !L.<a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#a100f90d8dc7a4ff2ac18d5e4565c4bab">asLocation</a>().<a class="code" href="classclang_1_1SourceLocation.html#ad504978d83973770506b6ddb1d7b48f9" title="Return true if this is a valid SourceLocation object.">isValid</a>())</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>     <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span> </div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a>(L, os.str());</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> </div>
+<div class="line"><a name="l00711"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#ad131865100fa44b5798e766d194894ba">  711</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#ad131865100fa44b5798e766d194894ba">TrackConstraintBRVisitor::Profile</a>(llvm::FoldingSetNodeID &ID)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   <span class="keyword">static</span> <span class="keywordtype">int</span> tag = 0;</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>   ID.AddPointer(&tag);</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>   ID.AddBoolean(Assumption);</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>   ID.Add(Constraint);</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="comment"></span></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span> <span class="comment">/// Return the tag associated with this visitor.  This tag will be used</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span> <span class="comment">/// to make all PathDiagnosticPieces created by this visitor.</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a19181dae7805f0aa16ea634986c0f8a0">  720</a></span> <span class="comment"></span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a19181dae7805f0aa16ea634986c0f8a0">TrackConstraintBRVisitor::getTag</a>() {</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>   <span class="keywordflow">return</span> <span class="stringliteral">"TrackConstraintBRVisitor"</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">  723</span> </div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> <span class="keywordtype">bool</span> TrackConstraintBRVisitor::isUnderconstrained(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>   <span class="keywordflow">if</span> (IsZeroCheck)</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>     <span class="keywordflow">return</span> N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->isNull(Constraint).isUnderconstrained();</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>   <span class="keywordflow">return</span> N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->assume(Constraint, !Assumption);</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> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l00731"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a5a4804167bb831452385161b551b19b0">  731</a></span> <a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a5a4804167bb831452385161b551b19b0" title="Return a diagnostic piece which should be associated with the given node.">TrackConstraintBRVisitor::VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>                                     <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>                                     <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>   <span class="keywordflow">if</span> (IsSatisfied)</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>     <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span> </div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>   <span class="comment">// Start tracking after we see the first state in which the value is</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>   <span class="comment">// constrained.</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>   <span class="keywordflow">if</span> (!IsTrackingTurnedOn)</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>     <span class="keywordflow">if</span> (!isUnderconstrained(N))</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>       IsTrackingTurnedOn = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>   <span class="keywordflow">if</span> (!IsTrackingTurnedOn)</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span> </div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>   <span class="comment">// Check if in the previous state it was feasible for this constraint</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>   <span class="comment">// to *not* be true.</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>   <span class="keywordflow">if</span> (isUnderconstrained(PrevN)) {</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>     IsSatisfied = <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>     <span class="comment">// As a sanity check, make sure that the negation of the constraint</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>     <span class="comment">// was infeasible in the current state.  If it is feasible, we somehow</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>     <span class="comment">// missed the transition point.</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>     assert(!isUnderconstrained(N));</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span> </div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     <span class="comment">// We found the transition point for the constraint.  We now need to</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <span class="comment">// pretty-print the constraint. (work-in-progress)</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<64></a> sbuf;</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>     llvm::raw_svector_ostream os(sbuf);</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>     <span class="keywordflow">if</span> (Constraint.<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="l00763"></a><span class="lineno">  763</span>       os << <span class="stringliteral">"Assuming pointer value is "</span>;</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>       os << (Assumption ? <span class="stringliteral">"non-null"</span> : <span class="stringliteral">"null"</span>);</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="keywordflow">if</span> (os.str().empty())</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>       <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</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">// Construct a new PathDiagnosticPiece.</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>     <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>();</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>     <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> L =</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>       <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#ad5e9747a36878bcaaf1c734e417f7fd6" title="Create a location corresponding to the given declaration.">PathDiagnosticLocation::create</a>(P, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>());</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>     <span class="keywordflow">if</span> (!L.<a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#a045b76260f569299641fb42108b28a9a">isValid</a>())</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>       <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>     </div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>     <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a> *<a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</a> = <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a>(L, os.str());</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     X-><a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html#a99aeff33ff8645260f41760d2d46e9d0" title="Tag this PathDiagnosticPiece with the given C-string.">setTag</a>(<a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html#a19181dae7805f0aa16ea634986c0f8a0">getTag</a>());</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>     <span class="keywordflow">return</span> <a class="code" href="namespaceclang_1_1tooling.html#ad61cfdb049c401f2669516dc65c93f91">X</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">  782</span>   <span class="keywordflow">return</span> <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span> }</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> </div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span> <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#abc6d2aeafbeca28e76a2d5f8177b65e4">SuppressInlineDefensiveChecksVisitor::</a></div>
+<div class="line"><a name="l00786"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#abc6d2aeafbeca28e76a2d5f8177b65e4">  786</a></span> <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#abc6d2aeafbeca28e76a2d5f8177b65e4">SuppressInlineDefensiveChecksVisitor</a>(<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N)</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>   : V(Value), IsSatisfied(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), IsTrackingTurnedOn(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>) {</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> </div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>     <span class="comment">// Check if the visitor is disabled.</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>     <a class="code" href="classclang_1_1ento_1_1SubEngine.html">SubEngine</a> *Eng = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->getStateManager().getOwningEngine();</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>     assert(Eng && <span class="stringliteral">"Cannot file a bug report without an owning engine"</span>);</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>     <a class="code" href="classclang_1_1AnalyzerOptions.html">AnalyzerOptions</a> &Options = Eng-><a class="code" href="classclang_1_1ento_1_1SubEngine.html#aaacf5094d0ee0538d96e66d58563d1b5">getAnalysisManager</a>().<a class="code" href="classclang_1_1ento_1_1AnalysisManager.html#abf4a2be69b20fa3b0f10b8379927ec9c">options</a>;</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>     <span class="keywordflow">if</span> (!Options.<a class="code" href="classclang_1_1AnalyzerOptions.html#aa596fb2c917b86ba7a7c99ddfc9c7cfa">shouldSuppressInlinedDefensiveChecks</a>())</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>       IsSatisfied = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span> </div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>     assert(N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->isNull(V).isConstrainedTrue() &&</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>            <span class="stringliteral">"The visitor only tracks the cases where V is constrained to 0"</span>);</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span> }</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span> </div>
+<div class="line"><a name="l00800"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#a3d3eefbdfd28ac1058dd025040c7853c">  800</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#a3d3eefbdfd28ac1058dd025040c7853c">SuppressInlineDefensiveChecksVisitor::Profile</a>(FoldingSetNodeID &ID)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>   <span class="keyword">static</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span> = 0;</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   ID.AddPointer(&<span class="keywordtype">id</span>);</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   ID.Add(V);</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span> }</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span> </div>
+<div class="line"><a name="l00806"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#ac11b811c2a6d90f42d33d38586ba32cb">  806</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#ac11b811c2a6d90f42d33d38586ba32cb">SuppressInlineDefensiveChecksVisitor::getTag</a>() {</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>   <span class="keywordflow">return</span> <span class="stringliteral">"IDCVisitor"</span>;</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span> }</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> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l00811"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#a2d3c80fed598eb1029d3e91084ffc18a">  811</a></span> <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html#a2d3c80fed598eb1029d3e91084ffc18a" title="Return a diagnostic piece which should be associated with the given node.">SuppressInlineDefensiveChecksVisitor::VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Succ,</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Pred,</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>                                                 <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>                                                 <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>   <span class="keywordflow">if</span> (IsSatisfied)</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span> </div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>   <span class="comment">// Start tracking after we see the first state in which the value is null.</span></div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>   <span class="keywordflow">if</span> (!IsTrackingTurnedOn)</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>     <span class="keywordflow">if</span> (Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->isNull(V).isConstrainedTrue())</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>       IsTrackingTurnedOn = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>   <span class="keywordflow">if</span> (!IsTrackingTurnedOn)</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span> </div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>   <span class="comment">// Check if in the previous state it was feasible for this value</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>   <span class="comment">// to *not* be null.</span></div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>   <span class="keywordflow">if</span> (!Pred-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->isNull(V).isConstrainedTrue()) {</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>     IsSatisfied = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span> </div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>     assert(Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->isNull(V).isConstrainedTrue());</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span> </div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>     <span class="comment">// Check if this is inlined defensive checks.</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *CurLC =Succ-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *ReportLC = BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a7b3b111413357fbd6bffc1cadef0929b">getErrorNode</a>()-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>     <span class="keywordflow">if</span> (CurLC != ReportLC && !CurLC-><a class="code" href="classclang_1_1LocationContext.html#aebad1a10d554d23cc470d6cdddaaf797">isParentOf</a>(ReportLC))</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>       BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#ac9f6d1ef6eb241247f366ac69b8634a5">markInvalid</a>(<span class="stringliteral">"Suppress IDC"</span>, CurLC);</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>   }</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span> }</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span> </div>
+<div class="line"><a name="l00841"></a><span class="lineno"><a class="code" href="BugReporterVisitors_8cpp.html#a2499c40b2613942bfd4d26eda7a2e776">  841</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *<a class="code" href="BugReporterVisitors_8cpp.html#a2499c40b2613942bfd4d26eda7a2e776">getLocationRegionIfReference</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E,</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>                                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</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="l00844"></a><span class="lineno">  844</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->getDecl())) {</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>       <span class="keywordflow">if</span> (!VD->getType()->isReferenceType())</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>       <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &StateMgr = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>()->getStateManager();</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>       <a class="code" href="classclang_1_1ento_1_1MemRegionManager.html">MemRegionManager</a> &MRMgr = StateMgr.<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a07ad18416d6ebd3d52c93cfd885baae9">getRegionManager</a>();</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>       <span class="keywordflow">return</span> MRMgr.<a class="code" href="classclang_1_1ento_1_1MemRegionManager.html#a8ba4db1926a47f16b352463774bcb24a">getVarRegion</a>(VD, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>     }</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>   }</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span> </div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>   <span class="comment">// FIXME: This does not handle other kinds of null references,</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>   <span class="comment">// for example, references from FieldRegions:</span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>   <span class="comment">//   struct Wrapper { int &ref; };</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>   <span class="comment">//   Wrapper w = { *(int *)0 };</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>   <span class="comment">//   w.ref = 1;</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span> </div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span> }</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span> </div>
+<div class="line"><a name="l00862"></a><span class="lineno"><a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">  862</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">peelOffOuterExpr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Ex,</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>   Ex = Ex-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ExprWithCleanups.html">ExprWithCleanups</a> *EWC = dyn_cast<ExprWithCleanups>(Ex))</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>     <span class="keywordflow">return</span> <a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">peelOffOuterExpr</a>(EWC->getSubExpr(), N);</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a> *OVE = dyn_cast<OpaqueValueExpr>(Ex))</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>     <span class="keywordflow">return</span> <a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">peelOffOuterExpr</a>(OVE->getSourceExpr(), N);</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> </div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>   <span class="comment">// Peel off the ternary operator.</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ConditionalOperator.html">ConditionalOperator</a> *CO = dyn_cast<ConditionalOperator>(Ex)) {</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>     <span class="comment">// Find a node where the branching occured and find out which branch</span></div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>     <span class="comment">// we took (true/false) by looking at the ExplodedGraph.</span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *NI = N;</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>     <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>       <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> ProgPoint = NI-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>();</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<BlockEdge></a> BE = ProgPoint.<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><<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>>()) {</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *srcBlk = BE->getSrc();</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>         <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *term = srcBlk-><a class="code" href="classclang_1_1CFGBlock.html#af1276a7d6dea5546ea7421b85162375a">getTerminator</a>()) {</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>           <span class="keywordflow">if</span> (term == CO) {</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>             <span class="keywordtype">bool</span> TookTrueBranch = (*(srcBlk-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()) == BE->getDst());</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>             <span class="keywordflow">if</span> (TookTrueBranch)</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>               <span class="keywordflow">return</span> <a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">peelOffOuterExpr</a>(CO->getTrueExpr(), N);</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>             <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>               <span class="keywordflow">return</span> <a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">peelOffOuterExpr</a>(CO->getFalseExpr(), N);</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>           }</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>         }</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>       }</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>       NI = NI-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a003d62d3ec7257e7a547a6348a5c1d70">getFirstPred</a>();</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>     } <span class="keywordflow">while</span> (NI);</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>   }</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>   <span class="keywordflow">return</span> Ex;</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span> }</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span> </div>
+<div class="line"><a name="l00895"></a><span class="lineno"><a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">  895</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S,</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>                                         <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &report, <span class="keywordtype">bool</span> IsArg,</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>                                         <span class="keywordtype">bool</span> EnableNullFPSuppression) {</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>   <span class="keywordflow">if</span> (!S || !N)</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span> </div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</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="l00903"></a><span class="lineno">  903</span>     Ex = Ex->IgnoreParenCasts();</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *PeeledEx = <a class="code" href="BugReporterVisitors_8cpp.html#a50b62953f610c0f15a89e321b410d0cb">peelOffOuterExpr</a>(Ex, N);</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>     <span class="keywordflow">if</span> (Ex != PeeledEx)</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>       S = PeeledEx;</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>   }</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span> </div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Inner = 0;</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</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="l00911"></a><span class="lineno">  911</span>     Ex = Ex-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html#a7e3b40b199a42b855df061c74e37bd0f" title="Returns true if nodes for the given expression kind are always kept around.">ExplodedGraph::isInterestingLValueExpr</a>(Ex) || <a class="code" href="classclang_1_1ento_1_1CallEvent.html#a1c9242d792ffa6c483abd803b0974c91" title="Returns true if this is a statement is a function or method call of some kind.">CallEvent::isCallStmt</a>(Ex))</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>       Inner = Ex;</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>   }</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span> </div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>   <span class="keywordflow">if</span> (IsArg && !Inner) {</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>     assert(N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</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><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>() && <span class="stringliteral">"Tracking arg but not at call"</span>);</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>     <span class="comment">// Walk through nodes until we get one that matches the statement exactly.</span></div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>     <span class="comment">// Alternately, if we hit a known lvalue for the statement, we know we've</span></div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     <span class="comment">// gone too far (though we can likely track the lvalue better anyway).</span></div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>     <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> &pp = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>();</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<StmtPoint></a> ps = pp.<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><<a class="code" href="classclang_1_1StmtPoint.html">StmtPoint</a>>()) {</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>         <span class="keywordflow">if</span> (ps->getStmt() == S || ps->getStmt() == Inner)</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<CallExitEnd></a> CEE = pp.<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><<a class="code" href="classclang_1_1CallExitEnd.html">CallExitEnd</a>>()) {</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>         <span class="keywordflow">if</span> (CEE->getCalleeContext()->getCallSite() == S ||</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>             CEE->getCalleeContext()->getCallSite() == Inner)</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>       }</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>       N = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a003d62d3ec7257e7a547a6348a5c1d70">getFirstPred</a>();</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>     } <span class="keywordflow">while</span> (N);</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span> </div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>     <span class="keywordflow">if</span> (!N)</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>   }</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>   </div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span> </div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>   <span class="comment">// The message send could be nil due to the receiver being nil.</span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   <span class="comment">// At this point in the path, the receiver should be live since we are at the</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>   <span class="comment">// message send expr. If it is nil, start tracking it.</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Receiver = <a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#aff14cd246ebf6362d063a3c4ea7fee55">NilReceiverBRVisitor::getNilReceiver</a>(S, N))</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>     <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">trackNullOrUndefValue</a>(N, Receiver, report, <span class="keyword">false</span>, EnableNullFPSuppression);</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span> </div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span> </div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   <span class="comment">// See if the expression we're interested refers to a variable.</span></div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>   <span class="comment">// If so, we can track both its contents and constraints on its value.</span></div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>   <span class="keywordflow">if</span> (Inner && <a class="code" href="classclang_1_1ento_1_1ExplodedGraph.html#a7e3b40b199a42b855df061c74e37bd0f" title="Returns true if nodes for the given expression kind are always kept around.">ExplodedGraph::isInterestingLValueExpr</a>(Inner)) {</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</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 = 0;</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span> </div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>     <span class="comment">// Find the ExplodedNode where the lvalue (the value of 'Ex')</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>     <span class="comment">// was computed.  We need this for getting the location value.</span></div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *LVNode = N;</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>     <span class="keywordflow">while</span> (LVNode) {</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<PostStmt></a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = LVNode-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</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><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>()) {</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>         <span class="keywordflow">if</span> (<a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a>->getStmt() == Inner)</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>       }</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>       LVNode = LVNode-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a003d62d3ec7257e7a547a6348a5c1d70">getFirstPred</a>();</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>     }</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>     assert(LVNode && <span class="stringliteral">"Unable to find the lvalue node."</span>);</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> LVState = LVNode-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> LVal = LVState->getSVal(Inner, LVNode-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>     </div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>     <span class="keywordflow">if</span> (LVState->isNull(LVal).isConstrainedTrue()) {</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>       <span class="comment">// In case of C++ references, we want to differentiate between a null</span></div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>       <span class="comment">// reference and reference to null pointer.</span></div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>       <span class="comment">// If the LVal is null, check if we are dealing with null reference.</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>       <span class="comment">// For those, we want to track the location of the reference.</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</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> *RR = <a class="code" href="BugReporterVisitors_8cpp.html#a2499c40b2613942bfd4d26eda7a2e776">getLocationRegionIfReference</a>(Inner, N))</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>         R = RR;</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>       R = LVState->getSVal(Inner, LVNode-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()).getAsRegion();</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span> </div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>       <span class="comment">// If this is a C++ reference to a null pointer, we are tracking the</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>       <span class="comment">// pointer. In additon, we should find the store at which the reference</span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>       <span class="comment">// got initialized.</span></div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</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> *RR = <a class="code" href="BugReporterVisitors_8cpp.html#a2499c40b2613942bfd4d26eda7a2e776">getLocationRegionIfReference</a>(Inner, N)) {</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<KnownSVal></a> KV = LVal.<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_1KnownSVal.html" title="Represents an SVal that is guaranteed to not be UnknownVal.">KnownSVal</a>>())</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>           report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html">FindLastStoreBRVisitor</a>(*KV, RR,</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>                                                       EnableNullFPSuppression));</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>       }</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>     }</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span> </div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>     <span class="keywordflow">if</span> (R) {</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>       <span class="comment">// Mark both the variable region and its contents as interesting.</span></div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>       <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = LVState->getRawSVal(<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(R));</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span> </div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>       report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(R);</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>       report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(V);</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>       report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html" title="When a region containing undefined value or '0' value is passed as an argument in a call...">UndefOrNullArgVisitor</a>(R));</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span> </div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>       <span class="comment">// If the contents are symbolic, find out when they became null.</span></div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>       <span class="keywordflow">if</span> (V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a3b8f453549206bf8a7b8cb983146d64f" title="If this SVal is a location and wraps a symbol, return that SymbolRef. Otherwise return 0...">getAsLocSymbol</a>(<span class="comment">/*IncludeBaseRegions*/</span> <span class="keyword">true</span>)) {</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>         <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html" title="BugReporterVisitors are used to add custom diagnostics along a path.">BugReporterVisitor</a> *ConstraintTracker =</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>           <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html">TrackConstraintBRVisitor</a>(V.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1DefinedSVal.html">DefinedSVal</a>>(), <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>         report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(ConstraintTracker);</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>       }</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>       <span class="comment">// Add visitor, which will suppress inline defensive checks.</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<DefinedSVal></a> DV = 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_1DefinedSVal.html">DefinedSVal</a>>()) {</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>         <span class="keywordflow">if</span> (!DV->isZeroConstant() &&</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>           LVState->isNull(*DV).isConstrainedTrue() &&</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>           EnableNullFPSuppression) {</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>           <a class="code" href="classclang_1_1ento_1_1BugReporterVisitor.html" title="BugReporterVisitors are used to add custom diagnostics along a path.">BugReporterVisitor</a> *IDCSuppressor =</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>             <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1SuppressInlineDefensiveChecksVisitor.html">SuppressInlineDefensiveChecksVisitor</a>(*DV,</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>                                                      LVNode);</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>           report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(IDCSuppressor);</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>         }</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>       }</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<KnownSVal></a> KV = 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_1KnownSVal.html" title="Represents an SVal that is guaranteed to not be UnknownVal.">KnownSVal</a>>())</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>         report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html">FindLastStoreBRVisitor</a>(*KV, R,</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>                                                      EnableNullFPSuppression));</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>     }</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>   }</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> </div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>   <span class="comment">// If the expression is not an "lvalue expression", we can still</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>   <span class="comment">// track the constraints on its contents.</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>   <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = state->getSValAsScalarOrLoc(S, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>   <span class="comment">// If the value came from an inlined function call, we should at least make</span></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>   <span class="comment">// sure that function isn't pruned in our output.</span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = dyn_cast<Expr>(S))</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>     S = E->IgnoreParenCasts();</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>   ReturnVisitor::addVisitorIfNecessary(N, S, report, EnableNullFPSuppression);</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>   <span class="comment">// Uncomment this to find cases where we aren't properly getting the</span></div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>   <span class="comment">// base value that was dereferenced.</span></div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>   <span class="comment">// assert(!V.isUnknownOrUndef());</span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>   <span class="comment">// Is it a symbolic value?</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<loc::MemRegionVal></a> L = V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>>()) {</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>     <span class="comment">// At this point we are dealing with the region's LValue.</span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>     <span class="comment">// However, if the rvalue is a symbolic region, we should track it as well.</span></div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>     <span class="comment">// Try to use the correct type when looking up the value.</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> RVal;</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *E = dyn_cast<Expr>(S))</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>       RVal = state->getRawSVal(L.getValue(), E->getType());</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>       RVal = state->getSVal(L->getRegion());</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span> </div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</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> *RegionRVal = RVal.<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>();</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>     report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html" title="When a region containing undefined value or '0' value is passed as an argument in a call...">UndefOrNullArgVisitor</a>(L->getRegion()));</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span> </div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>     <span class="keywordflow">if</span> (RegionRVal && isa<SymbolicRegion>(RegionRVal)) {</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>       report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a6271a9b6858254bfcc8cac83da66243f">markInteresting</a>(RegionRVal);</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>       report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1TrackConstraintBRVisitor.html">TrackConstraintBRVisitor</a>(</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>         <a class="code" href="classclang_1_1ento_1_1loc_1_1MemRegionVal.html">loc::MemRegionVal</a>(RegionRVal), <span class="keyword">false</span>));</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>     }</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>   }</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> </div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> }</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span> </div>
+<div class="line"><a name="l01059"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#aff14cd246ebf6362d063a3c4ea7fee55"> 1059</a></span> <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *<a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#aff14cd246ebf6362d063a3c4ea7fee55">NilReceiverBRVisitor::getNilReceiver</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S,</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>                                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *ME = dyn_cast<<a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a>>(<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>);</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>   <span class="keywordflow">if</span> (!ME)</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Receiver = ME-><a class="code" href="classclang_1_1ObjCMessageExpr.html#a52ac8728aad0bc716d5c87887f332cf9" title="Returns the object expression (receiver) for an instance message, or null for a message that is not a...">getInstanceReceiver</a>()) {</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>     <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = state->getSVal(Receiver, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>     <span class="keywordflow">if</span> (state->isNull(V).isConstrainedTrue())</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>       <span class="keywordflow">return</span> Receiver;</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>   }</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span> }</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div>
+<div class="line"><a name="l01073"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#a114a2aaba9131be3c173d8ccdc743e54"> 1073</a></span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#a114a2aaba9131be3c173d8ccdc743e54" title="Return a diagnostic piece which should be associated with the given node.">NilReceiverBRVisitor::VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>                                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>                                                      <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>                                                      <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<PreStmt></a> <a class="code" href="TokenAnnotator_8cpp.html#a0bf8bdaf8596b1161b6ce63c4232a1fb">P</a> = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#ae8b9c61dba9bc2ffeb6f7936ddfb7e15">getLocationAs</a><<a class="code" href="classclang_1_1PreStmt.html">PreStmt</a>>();</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>   <span class="keywordflow">if</span> (!P)</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S = P->getStmt();</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Receiver = <a class="code" href="classclang_1_1ento_1_1NilReceiverBRVisitor.html#aff14cd246ebf6362d063a3c4ea7fee55">getNilReceiver</a>(S, N);</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>   <span class="keywordflow">if</span> (!Receiver)</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> </div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>   <a class="code" href="classllvm_1_1SmallString.html">llvm::SmallString<256></a> Buf;</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>   llvm::raw_svector_ostream OS(Buf);</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> </div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCMessageExpr.html" title="An expression that sends a message to the given Objective-C object or class.">ObjCMessageExpr</a> *ME = dyn_cast<ObjCMessageExpr>(S)) {</div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>     OS << <span class="stringliteral">"'"</span> << ME->getSelector().getAsString() << <span class="stringliteral">"' not called"</span>;</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>   }</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>   <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>     OS << <span class="stringliteral">"No method is called"</span>;</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>   }</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>   OS << <span class="stringliteral">" because the receiver is nil"</span>;</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>   <span class="comment">// The receiver was nil, and hence the method was skipped.</span></div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>   <span class="comment">// Register a BugReporterVisitor to issue a message telling us how</span></div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>   <span class="comment">// the receiver was null.</span></div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>   <a class="code" href="namespaceclang_1_1ento_1_1bugreporter.html#a532da89ff4c3d8214a04da342a553dc5">bugreporter::trackNullOrUndefValue</a>(N, Receiver, BR, <span class="comment">/*IsArg*/</span> <span class="keyword">false</span>,</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>                                      <span class="comment">/*EnableNullFPSuppression*/</span> <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>   <span class="comment">// Issue a message saying that the method was skipped.</span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> L(Receiver, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>(),</div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>                                      N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a>(L, OS.str());</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> }</div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> </div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="comment">// Registers every VarDecl inside a Stmt with a last store visitor.</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#af95d345b5ff8f0057908134bf04130b9"> 1109</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#af95d345b5ff8f0057908134bf04130b9">FindLastStoreBRVisitor::registerStatementVarDecls</a>(<a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR,</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *S,</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>                                                 <span class="keywordtype">bool</span> EnableNullFPSuppression) {</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N = BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a7b3b111413357fbd6bffc1cadef0929b">getErrorNode</a>();</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>   std::deque<const Stmt *> <a class="code" href="classclang_1_1ento_1_1WorkList.html">WorkList</a>;</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>   WorkList.push_back(S);</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> </div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>   <span class="keywordflow">while</span> (!WorkList.empty()) {</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</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="l01118"></a><span class="lineno"> 1118</span>     WorkList.pop_front();</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> </div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>     <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>     <a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html">ProgramStateManager</a> &StateMgr = state->getStateManager();</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> </div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</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>(Head)) {</div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</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->getDecl())) {</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1VarRegion.html">VarRegion</a> *R =</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>         StateMgr.<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>(VD, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>         <span class="comment">// What did we load?</span></div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>         <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = state->getSVal(S, N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>());</div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</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_1_1ConcreteInt.html">loc::ConcreteInt</a>>() || V.<a class="code" href="classclang_1_1ento_1_1SVal.html#a4a9c4d5842ebb929dc6ed897ee2bd57a" title="Convert to the specified SVal type, returning None if this SVal is not of the desired type...">getAs</a><<a class="code" href="classclang_1_1ento_1_1nonloc_1_1ConcreteInt.html" title="Value representing integer constant.">nonloc::ConcreteInt</a>>()) {</div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>           <span class="comment">// Register a new visitor with the BugReport.</span></div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>           BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a56bda51b6e182c94743b451a611a725f" title="Add custom or predefined bug report visitors to this report.">addVisitor</a>(<span class="keyword">new</span> <a class="code" href="classclang_1_1ento_1_1FindLastStoreBRVisitor.html#a31c9999a1d3c8514422342e8f8dd7e1f">FindLastStoreBRVisitor</a>(V.<a class="code" href="classclang_1_1ento_1_1SVal.html#aa678905bf16cd5cc2f97ab4fb143edee" title="Convert to the specified SVal type, asserting that this SVal is of the desired type.">castAs</a><<a class="code" href="classclang_1_1ento_1_1KnownSVal.html" title="Represents an SVal that is guaranteed to not be UnknownVal.">KnownSVal</a>>(), R,</div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>                                                    EnableNullFPSuppression));</div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>         }</div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>       }</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>     }</div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> </div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>     <span class="keywordflow">for</span> (<a class="code" href="structclang_1_1ConstStmtIterator.html">Stmt::const_child_iterator</a> I = Head-><a class="code" href="classclang_1_1Stmt.html#a52a20468e7b2880de813ed91d75d2617">child_begin</a>();</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>         I != Head-><a class="code" href="classclang_1_1Stmt.html#a7a17d445eb6027180bbdc518e6cdb63a">child_end</a>(); ++I)</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>       WorkList.push_back(*I);</div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>   }</div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> }</div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">// Visitor that tries to report interesting diagnostics from conditions.</span></div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="comment"></span></div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="comment">/// Return the tag associated with this visitor.  This tag will be used</span></div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="comment">/// to make all PathDiagnosticPieces created by this visitor.</span></div>
+<div class="line"><a name="l01151"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9bf90dbf062e970f54562539df75f90a"> 1151</a></span> <span class="comment"></span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9bf90dbf062e970f54562539df75f90a">ConditionBRVisitor::getTag</a>() {</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>   <span class="keywordflow">return</span> <span class="stringliteral">"ConditionBRVisitor"</span>;</div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> }</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div>
+<div class="line"><a name="l01155"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a76f74c33199facfa5b5e301ef1cb41ee"> 1155</a></span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a76f74c33199facfa5b5e301ef1cb41ee" title="Return a diagnostic piece which should be associated with the given node.">ConditionBRVisitor::VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>                                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Prev,</div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>                                                    <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>                                                    <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *piece = <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a150db00bff65ec79477250686e71f5e8">VisitNodeImpl</a>(N, Prev, BRC, BR);</div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>   <span class="keywordflow">if</span> (piece) {</div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>     piece-><a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html#a99aeff33ff8645260f41760d2d46e9d0" title="Tag this PathDiagnosticPiece with the given C-string.">setTag</a>(<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9bf90dbf062e970f54562539df75f90a">getTag</a>());</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>     <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a> *ev=dyn_cast<PathDiagnosticEventPiece>(piece))</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>       ev->setPrunable(<span class="keyword">true</span>, <span class="comment">/* override */</span> <span class="keyword">false</span>);</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>   }</div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>   <span class="keywordflow">return</span> piece;</div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> }</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div>
+<div class="line"><a name="l01168"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a150db00bff65ec79477250686e71f5e8"> 1168</a></span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *<a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a150db00bff65ec79477250686e71f5e8">ConditionBRVisitor::VisitNodeImpl</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>                                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *Prev,</div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>                                                        <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>                                                        <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>   </div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>   <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> progPoint = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>();</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> CurrentState = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> PrevState = Prev-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>   </div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>   <span class="comment">// Compare the GDMs of the state, because that is where constraints</span></div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>   <span class="comment">// are managed.  Note that ensure that we only look at nodes that</span></div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>   <span class="comment">// were generated by the analyzer engine proper, not checkers.</span></div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>   <span class="keywordflow">if</span> (CurrentState->getGDM().getRoot() ==</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>       PrevState->getGDM().getRoot())</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>   </div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>   <span class="comment">// If an assumption was made on a branch, it should be caught</span></div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>   <span class="comment">// here by looking at the state transition.</span></div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<BlockEdge></a> BE = progPoint.<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><<a class="code" href="classclang_1_1BlockEdge.html">BlockEdge</a>>()) {</div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *srcBlk = BE->getSrc();    </div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *term = srcBlk-><a class="code" href="classclang_1_1CFGBlock.html#af1276a7d6dea5546ea7421b85162375a">getTerminator</a>())</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9fd791fbb53eeff9fc9e86cf7c6e3446">VisitTerminator</a>(term, N, srcBlk, BE->getDst(), BR, BRC);</div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>   }</div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>   </div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Optional.html">Optional<PostStmt></a> PS = progPoint.<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><<a class="code" href="classclang_1_1PostStmt.html">PostStmt</a>>()) {</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>     <span class="comment">// FIXME: Assuming that BugReporter is a GRBugReporter is a layering</span></div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>     <span class="comment">// violation.</span></div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>     <span class="keyword">const</span> std::pair<const ProgramPointTag *, const ProgramPointTag *> &tags =      </div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>       cast<GRBugReporter>(BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a681ee2cf1bc1398f74d36954b32caeff">getBugReporter</a>()).</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>         getEngine().geteagerlyAssumeBinOpBifurcationTags();</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ProgramPointTag.html">ProgramPointTag</a> *tag = PS->getTag();</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>     <span class="keywordflow">if</span> (tag == tags.first)</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(cast<Expr>(PS->getStmt()), <span class="keyword">true</span>,</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>                            BRC, BR, N);</div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>     <span class="keywordflow">if</span> (tag == tags.second)</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>       <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(cast<Expr>(PS->getStmt()), <span class="keyword">false</span>,</div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>                            BRC, BR, N);</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>                            </div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>   }</div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>     </div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> }</div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01215"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9fd791fbb53eeff9fc9e86cf7c6e3446"> 1215</a></span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9fd791fbb53eeff9fc9e86cf7c6e3446">ConditionBRVisitor::VisitTerminator</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Stmt.html">Stmt</a> *Term,</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *srcBlk,</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1CFGBlock.html">CFGBlock</a> *dstBlk,</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>                                     <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>                                     <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC) {</div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond = 0;</div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>   </div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>   <span class="keywordflow">switch</span> (Term-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>()) {</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>   <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>   <span class="keywordflow">case</span> Stmt::IfStmtClass:</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>     Cond = cast<IfStmt>(Term)->getCond();</div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>   <span class="keywordflow">case</span> Stmt::ConditionalOperatorClass:</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>     Cond = cast<ConditionalOperator>(Term)->getCond();</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>   }      </div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> </div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>   assert(Cond);</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>   assert(srcBlk-><a class="code" href="classclang_1_1CFGBlock.html#a2b57cc985337076f6072ca63ceae400e">succ_size</a>() == 2);</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>   <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue = *(srcBlk-><a class="code" href="classclang_1_1CFGBlock.html#a9d6bfab26a9034c5573ddfd804766b91">succ_begin</a>()) == dstBlk;</div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(Cond, tookTrue, BRC, R, N);</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span> }</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> </div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01241"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8"> 1241</a></span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">ConditionBRVisitor::VisitTrueTest</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond,</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>                                   <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>   </div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Ex = Cond;</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>   </div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>   <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>     Ex = Ex-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>     <span class="keywordflow">switch</span> (Ex-><a class="code" href="classclang_1_1Stmt.html#ac881a5954ff27d475c1bbab6f5d80150">getStmtClass</a>()) {</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>       <span class="keywordflow">case</span> Stmt::BinaryOperatorClass:</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(Cond, cast<BinaryOperator>(Ex), tookTrue, BRC,</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>                              R, N);</div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>       <span class="keywordflow">case</span> Stmt::DeclRefExprClass:</div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>         <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">VisitTrueTest</a>(Cond, cast<DeclRefExpr>(Ex), tookTrue, BRC,</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>                              R, N);</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>       <span class="keywordflow">case</span> Stmt::UnaryOperatorClass: {</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1UnaryOperator.html">UnaryOperator</a> *UO = cast<UnaryOperator>(Ex);</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>         <span class="keywordflow">if</span> (UO-><a class="code" href="classclang_1_1UnaryOperator.html#a4fceff35ff6b7f186590155fa21df48b">getOpcode</a>() == <a class="code" href="namespaceclang.html#a8daaf3ab8b5c55053f6da47944e48fffab236f32b7261ecbeb4da53fedab54d4b">UO_LNot</a>) {</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>           tookTrue = !tookTrue;</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>           Ex = UO-><a class="code" href="classclang_1_1UnaryOperator.html#a64fdf148f4f40ae0a35e2bc7e0bfac10">getSubExpr</a>();</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>           <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>         }</div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>       }</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>     }</div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>   }</div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> }</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> </div>
+<div class="line"><a name="l01273"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#aa2c98f4531fb1994562af00a09328376"> 1273</a></span> <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#aa2c98f4531fb1994562af00a09328376">ConditionBRVisitor::patternMatch</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Ex, raw_ostream &Out,</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>                                       <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>                                       <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &report,</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>                                       <a class="code" href="classllvm_1_1Optional.html">Optional<bool></a> &prunable) {</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *OriginalExpr = Ex;</div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>   Ex = Ex-><a class="code" href="classclang_1_1Expr.html#a397a707d10e0d3ac4a150325eafa4368">IgnoreParenCasts</a>();</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> </div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</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>(Ex)) {</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>     <span class="keyword">const</span> <span class="keywordtype">bool</span> quotes = isa<VarDecl>(DR->getDecl());</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>     <span class="keywordflow">if</span> (quotes) {</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>       Out << <span class="charliteral">'\''</span>;</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>().getPtr();</div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *R = state-><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(cast<VarDecl>(DR->getDecl()),</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>                                                 LCtx).<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>()) {</div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>         <span class="keywordflow">if</span> (report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a3161c9ac60d97e3a229220fbf8be0bc6">isInteresting</a>(R))</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>           prunable = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>         <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>           <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>().getPtr();</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>           <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = state-><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="l01294"></a><span class="lineno"> 1294</span>           <span class="keywordflow">if</span> (report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a3161c9ac60d97e3a229220fbf8be0bc6">isInteresting</a>(V))</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>             prunable = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>         }</div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>       }</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>     }</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>     Out << DR->getDecl()->getDeclName().getAsString();</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>     <span class="keywordflow">if</span> (quotes)</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>       Out << <span class="charliteral">'\''</span>;</div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>     <span class="keywordflow">return</span> quotes;</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>   }</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>   </div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1IntegerLiteral.html">IntegerLiteral</a> *IL = dyn_cast<IntegerLiteral>(Ex)) {</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>     <a class="code" href="classclang_1_1QualType.html">QualType</a> OriginalTy = OriginalExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>     <span class="keywordflow">if</span> (OriginalTy-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>()) {</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>       <span class="keywordflow">if</span> (IL->getValue() == 0) {</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>         Out << <span class="stringliteral">"null"</span>;</div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>       }</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>     }</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (OriginalTy-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>()) {</div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>       <span class="keywordflow">if</span> (IL->getValue() == 0) {</div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>         Out << <span class="stringliteral">"nil"</span>;</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>       }</div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>     }</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>     </div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>     Out << IL->getValue();</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>   }</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>   </div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> }</div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01328"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#ae894e6ba94c82d585459c5f985cae0dd"> 1328</a></span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">ConditionBRVisitor::VisitTrueTest</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond,</div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</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> *BExpr,</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>                                   <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &R,</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>   </div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>   <span class="keywordtype">bool</span> shouldInvert = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<bool></a> shouldPrune;</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>   </div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> LhsString, RhsString;</div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>   {</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>     llvm::raw_svector_ostream OutLHS(LhsString), OutRHS(RhsString);</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>     <span class="keyword">const</span> <span class="keywordtype">bool</span> isVarLHS = <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#aa2c98f4531fb1994562af00a09328376">patternMatch</a>(BExpr-><a class="code" href="classclang_1_1BinaryOperator.html#ad8b108ac1a7795b9f388d8dece6b8924">getLHS</a>(), OutLHS, BRC, R, N,</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>                                        shouldPrune);</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>     <span class="keyword">const</span> <span class="keywordtype">bool</span> isVarRHS = <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#aa2c98f4531fb1994562af00a09328376">patternMatch</a>(BExpr-><a class="code" href="classclang_1_1BinaryOperator.html#a1ab10aae0ffa01be5d1a979e6da285e6">getRHS</a>(), OutRHS, BRC, R, N,</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>                                        shouldPrune);</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>     </div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>     shouldInvert = !isVarLHS && isVarRHS;    </div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>   }</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>   </div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>   <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1">BinaryOperator::Opcode</a> Op = BExpr-><a class="code" href="classclang_1_1BinaryOperator.html#a497174c5cc2816aa3a3f29e12dd93165">getOpcode</a>();</div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> </div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1BinaryOperator.html#a1ad39821a19882541e25746b16690515">BinaryOperator::isAssignmentOp</a>(Op)) {</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>     <span class="comment">// For assignment operators, all that we care about is that the LHS</span></div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>     <span class="comment">// evaluates to "true" or "false".</span></div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a53ff0a91bcb85a2b3969e8878240e401">VisitConditionVariable</a>(LhsString, BExpr-><a class="code" href="classclang_1_1BinaryOperator.html#ad8b108ac1a7795b9f388d8dece6b8924">getLHS</a>(), tookTrue,</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>                                   BRC, R, N);</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>   }</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>   <span class="comment">// For non-assignment operations, we require that we can understand</span></div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>   <span class="comment">// both the LHS and RHS.</span></div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>   <span class="keywordflow">if</span> (LhsString.empty() || RhsString.empty() ||</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>       !<a class="code" href="classclang_1_1BinaryOperator.html#ade817ce794755798e079a61746733d15">BinaryOperator::isComparisonOp</a>(Op))</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>   </div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>   <span class="comment">// Should we invert the strings if the LHS is not a variable name?</span></div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> buf;</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>   llvm::raw_svector_ostream Out(buf);</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>   Out << <span class="stringliteral">"Assuming "</span> << (shouldInvert ? RhsString : LhsString) << <span class="stringliteral">" is "</span>;</div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> </div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>   <span class="comment">// Do we need to invert the opcode?</span></div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>   <span class="keywordflow">if</span> (shouldInvert)</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>     <span class="keywordflow">switch</span> (Op) {</div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>       <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>     }</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> </div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>   <span class="keywordflow">if</span> (!tookTrue)</div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>     <span class="keywordflow">switch</span> (Op) {</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ab1b013f11421020dffa959a6c1ed45af">BO_LE</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a9ff57a80bfff7f4a29cfc5ea9525ed6f">BO_GT</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>       <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a49c5777674892e127aeeb0746b18a1e2">BO_GE</a>: Op = <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a34afd641c1839b1ebdf5b96779becc5e">BO_LT</a>; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>       <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>     }</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>   </div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>   <span class="keywordflow">switch</span> (Op) {</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1a69f29b9100be3ced416f394df1b8387d">BO_EQ</a>:</div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>       Out << <span class="stringliteral">"equal to "</span>;</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>     <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a443b552ee80020cfeb2b86c99e7f85e1ad1f67b78e6981e7d44e0a1794432d104">BO_NE</a>:</div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>       Out << <span class="stringliteral">"not equal to "</span>;</div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>     <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>       Out << <a class="code" href="classclang_1_1BinaryOperator.html#a073b48f58b7b49f43e296caf254e61b0">BinaryOperator::getOpcodeStr</a>(Op) << <span class="charliteral">' '</span>;</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>   }</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>   </div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>   Out << (shouldInvert ? LhsString : RhsString);</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>(Cond, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>(), LCtx);</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a> *<span class="keyword">event</span> =</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>     <span class="keyword">new</span> PathDiagnosticEventPiece(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>, Out.str());</div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>   <span class="keywordflow">if</span> (shouldPrune.hasValue())</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>     event-><a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html#a01106cad522486ce1e11968f16116c31">setPrunable</a>(shouldPrune.getValue());</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>   <span class="keywordflow">return</span> event;</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> }</div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01414"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a53ff0a91bcb85a2b3969e8878240e401"> 1414</a></span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a53ff0a91bcb85a2b3969e8878240e401">ConditionBRVisitor::VisitConditionVariable</a>(StringRef LhsString,</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *CondVarExpr,</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>                                            <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>                                            <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>                                            <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &report,</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>   <span class="comment">// FIXME: If there's already a constraint tracker for this variable,</span></div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>   <span class="comment">// we shouldn't emit anything here (c.f. the double note in</span></div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>   <span class="comment">// test/Analysis/inlining/path-notes.c)</span></div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> buf;</div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>   llvm::raw_svector_ostream Out(buf);</div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>   Out << <span class="stringliteral">"Assuming "</span> << LhsString << <span class="stringliteral">" is "</span>;</div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>   </div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> Ty = CondVarExpr-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>();</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> </div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>   <span class="keywordflow">if</span> (Ty-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>())</div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>     Out << (tookTrue ? <span class="stringliteral">"not null"</span> : <span class="stringliteral">"null"</span>);</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Ty-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>())</div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>     Out << (tookTrue ? <span class="stringliteral">"not nil"</span> : <span class="stringliteral">"nil"</span>);</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Ty-><a class="code" href="classclang_1_1Type.html#ac16047fbf3b5325d6528d8557803b0cc">isBooleanType</a>())</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>     Out << (tookTrue ? <span class="stringliteral">"true"</span> : <span class="stringliteral">"false"</span>);</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Ty-><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="l01436"></a><span class="lineno"> 1436</span>     Out << (tookTrue ? <span class="stringliteral">"non-zero"</span> : <span class="stringliteral">"zero"</span>);</div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> </div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>(CondVarExpr, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>(), LCtx);</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a> *<span class="keyword">event</span> =</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>     <span class="keyword">new</span> PathDiagnosticEventPiece(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>, Out.str());</div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> </div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</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>(CondVarExpr)) {</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</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->getDecl())) {</div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>().getPtr();</div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *R = state-><a class="code" href="classclang_1_1ento_1_1ProgramState.html#ad43dae98d7a910191406d42becfe91f3" title="Get the lvalue for a variable reference.">getLValue</a>(VD, LCtx).<a class="code" href="classclang_1_1ento_1_1SVal.html#a314f514171211c8a941cac378ac55677">getAsRegion</a>()) {</div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>         <span class="keywordflow">if</span> (report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a3161c9ac60d97e3a229220fbf8be0bc6">isInteresting</a>(R))</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>           event->setPrunable(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>       }</div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>     }</div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>   }</div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>   </div>
+<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>   <span class="keywordflow">return</span> event;</div>
+<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> }</div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>   </div>
+<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01459"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a9554b80c9e9cc72659dd4276e9feb5b5"> 1459</a></span> <a class="code" href="classclang_1_1ento_1_1ConditionBRVisitor.html#a69072a522b5fc2f66246ccc7409b87a8">ConditionBRVisitor::VisitTrueTest</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Expr.html">Expr</a> *Cond,</div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</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,</div>
+<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>                                   <span class="keyword">const</span> <span class="keywordtype">bool</span> tookTrue,</div>
+<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &report,</div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N) {</div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> </div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</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>>(DR-><a class="code" href="classclang_1_1DeclRefExpr.html#a22eec021070f5d0733e90b6c5c127a25">getDecl</a>());</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>   <span class="keywordflow">if</span> (!VD)</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>   </div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> Buf;</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>   llvm::raw_svector_ostream Out(Buf);</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>     </div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>   Out << <span class="stringliteral">"Assuming '"</span> << VD-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>() << <span class="stringliteral">"' is "</span>;</div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>     </div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> VDTy = VD-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>();</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>   </div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>   <span class="keywordflow">if</span> (VDTy-><a class="code" href="classclang_1_1Type.html#a1c0038a55083ee0a292a020038ee04d8">isPointerType</a>())</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>     Out << (tookTrue ? <span class="stringliteral">"non-null"</span> : <span class="stringliteral">"null"</span>);</div>
+<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (VDTy-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>())</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>     Out << (tookTrue ? <span class="stringliteral">"non-nil"</span> : <span class="stringliteral">"nil"</span>);</div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (VDTy-><a class="code" href="classclang_1_1Type.html#a69765f6b95c14d64a9555ab8824dac61">isScalarType</a>())</div>
+<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>     Out << (tookTrue ? <span class="stringliteral">"not equal to 0"</span> : <span class="stringliteral">"0"</span>);</div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>   </div>
+<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html">PathDiagnosticLocation</a> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>(Cond, BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>(), LCtx);</div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>   <a class="code" href="classclang_1_1ento_1_1PathDiagnosticEventPiece.html">PathDiagnosticEventPiece</a> *<span class="keyword">event</span> =</div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>     <span class="keyword">new</span> PathDiagnosticEventPiece(<a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a>, Out.str());</div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>   </div>
+<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ProgramState.html">ProgramState</a> *state = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>().getPtr();</div>
+<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1MemRegion.html" title="MemRegion - The root abstract class for all memory regions.">MemRegion</a> *R = state->getLValue(VD, LCtx).getAsRegion()) {</div>
+<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>     <span class="keywordflow">if</span> (report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a3161c9ac60d97e3a229220fbf8be0bc6">isInteresting</a>(R))</div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>       event->setPrunable(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>     <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>       <a class="code" href="classclang_1_1ento_1_1SVal.html">SVal</a> V = state->getSVal(R);</div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>       <span class="keywordflow">if</span> (report.<a class="code" href="classclang_1_1ento_1_1BugReport.html#a3161c9ac60d97e3a229220fbf8be0bc6">isInteresting</a>(V))</div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>         event->setPrunable(<span class="keyword">false</span>);</div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>     }</div>
+<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>   }</div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>   <span class="keywordflow">return</span> event;</div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> }</div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> </div>
+<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> </div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="comment">// FIXME: Copied from ExprEngineCallAndReturn.cpp.</span></div>
+<div class="line"><a name="l01506"></a><span class="lineno"><a class="code" href="BugReporterVisitors_8cpp.html#aebddf5a61df2e85bfa73ebb698df9578"> 1506</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="BugReporterVisitors_8cpp.html#aebddf5a61df2e85bfa73ebb698df9578">isInStdNamespace</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D) {</div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1DeclContext.html">DeclContext</a> *DC = D-><a class="code" href="classclang_1_1Decl.html#af67e1a1d24dcc51093b95dbcf68d4288">getDeclContext</a>()-><a class="code" href="classclang_1_1DeclContext.html#aa838660af381c6967722c6552580c2a2" title="Retrieve the nearest enclosing namespace context.">getEnclosingNamespaceContext</a>();</div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1NamespaceDecl.html" title="NamespaceDecl - Represent a C++ namespace.">NamespaceDecl</a> *ND = dyn_cast<<a class="code" href="classclang_1_1NamespaceDecl.html" title="NamespaceDecl - Represent a C++ namespace.">NamespaceDecl</a>>(DC);</div>
+<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>   <span class="keywordflow">if</span> (!ND)</div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> </div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>   <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1NamespaceDecl.html" title="NamespaceDecl - Represent a C++ namespace.">NamespaceDecl</a> *Parent = dyn_cast<NamespaceDecl>(ND-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>()))</div>
+<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>     ND = Parent;</div>
+<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> </div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>   <span class="keywordflow">return</span> ND-><a class="code" href="classclang_1_1NamedDecl.html#aaf790590f634520a99e0b45699fc45c3">getName</a>() == <span class="stringliteral">"std"</span>;</div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> }</div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> </div>
+<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> </div>
+<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01520"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#a65f35eb6dcee66be83dfa7bd796a8329"> 1520</a></span> <a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#a65f35eb6dcee66be83dfa7bd796a8329" title="Provide custom definition for the final diagnostic piece on the path - the piece, which is displayed ...">LikelyFalsePositiveSuppressionBRVisitor::getEndPath</a>(<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>                                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>                                                     <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>   <span class="comment">// Here we suppress false positives coming from system headers. This list is</span></div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>   <span class="comment">// based on known issues.</span></div>
+<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>   <a class="code" href="classclang_1_1ento_1_1ExprEngine.html">ExprEngine</a> &Eng = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a681ee2cf1bc1398f74d36954b32caeff">getBugReporter</a>().<a class="code" href="classclang_1_1ento_1_1GRBugReporter.html#a5250b2178becd1351d48965f746245ca">getEngine</a>();</div>
+<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>   <a class="code" href="classclang_1_1AnalyzerOptions.html">AnalyzerOptions</a> &Options = Eng.<a class="code" href="classclang_1_1ento_1_1ExprEngine.html#aec6be9ca26391b6b5541dfc96914fc2e">getAnalysisManager</a>().<a class="code" href="classclang_1_1ento_1_1AnalysisManager.html#abf4a2be69b20fa3b0f10b8379927ec9c">options</a>;</div>
+<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Decl.html">Decl</a> *D = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>()-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>();</div>
+<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span> </div>
+<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>   <span class="keywordflow">if</span> (<a class="code" href="BugReporterVisitors_8cpp.html#aebddf5a61df2e85bfa73ebb698df9578">isInStdNamespace</a>(D)) {</div>
+<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>     <span class="comment">// Skip reports within the 'std' namespace. Although these can sometimes be</span></div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>     <span class="comment">// the user's fault, we currently don't report them very well, and</span></div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>     <span class="comment">// Note that this will not help for any other data structure libraries, like</span></div>
+<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>     <span class="comment">// TR1, Boost, or llvm/ADT.</span></div>
+<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>     <span class="keywordflow">if</span> (Options.<a class="code" href="classclang_1_1AnalyzerOptions.html#a91520c7840f1295aa70e2cad098ff066">shouldSuppressFromCXXStandardLibrary</a>()) {</div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>       BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#ac9f6d1ef6eb241247f366ac69b8634a5">markInvalid</a>(<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">getTag</a>(), 0);</div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> </div>
+<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>       <span class="comment">// If the the complete 'std' suppression is not enabled, suppress reports</span></div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>       <span class="comment">// from the 'std' namespace that are known to produce false positives.</span></div>
+<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> </div>
+<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>       <span class="comment">// The analyzer issues a false use-after-free when std::list::pop_front</span></div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>       <span class="comment">// or std::list::pop_back are called multiple times because we cannot</span></div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>       <span class="comment">// reason about the internal invariants of the datastructure.</span></div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = dyn_cast<CXXMethodDecl>(D)) {</div>
+<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *CD = MD-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>();</div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>         <span class="keywordflow">if</span> (CD-><a class="code" href="classclang_1_1NamedDecl.html#aaf790590f634520a99e0b45699fc45c3">getName</a>() == <span class="stringliteral">"list"</span>) {</div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>           BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#ac9f6d1ef6eb241247f366ac69b8634a5">markInvalid</a>(<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">getTag</a>(), 0);</div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>           <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>         }</div>
+<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>       }</div>
+<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>       <span class="comment">// The analyzer issues a false positive on</span></div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>       <span class="comment">//   std::basic_string<uint8_t> v; v.push_back(1);</span></div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>       <span class="comment">// and</span></div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>       <span class="comment">//   std::u16string s; s += u'a';</span></div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>       <span class="comment">// because we cannot reason about the internal invariants of the</span></div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>       <span class="comment">// datastructure.</span></div>
+<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1LocationContext.html">LocationContext</a> *LCtx = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a21d55212657ccb3db229735ca93cb3e4">getLocationContext</a>();</div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>       <span class="keywordflow">do</span> {</div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = dyn_cast<<a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a>>(LCtx-><a class="code" href="classclang_1_1LocationContext.html#a251ad7818f2d85e845c62804fcd8b04b">getDecl</a>());</div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>         <span class="keywordflow">if</span> (!MD)</div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> </div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>         <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *CD = MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>();</div>
+<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>         <span class="keywordflow">if</span> (CD-><a class="code" href="classclang_1_1NamedDecl.html#aaf790590f634520a99e0b45699fc45c3">getName</a>() == <span class="stringliteral">"basic_string"</span>) {</div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>           BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#ac9f6d1ef6eb241247f366ac69b8634a5">markInvalid</a>(<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">getTag</a>(), 0);</div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>           <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CD-><a class="code" href="classclang_1_1NamedDecl.html#aaf790590f634520a99e0b45699fc45c3">getName</a>().find(<span class="stringliteral">"allocator"</span>) == StringRef::npos) {</div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>           <span class="comment">// Only keep searching if the current method is in a class with the</span></div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>           <span class="comment">// word "allocator" in its name, e.g. std::allocator or</span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>           <span class="comment">// allocator_traits.</span></div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>         }</div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> </div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>         LCtx = LCtx-><a class="code" href="classclang_1_1LocationContext.html#a4a200c6c56997dbcef69ea2cb7c67b75">getParent</a>();</div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>       } <span class="keywordflow">while</span> (LCtx);</div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>     }</div>
+<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>   }</div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> </div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>   <span class="comment">// Skip reports within the sys/queue.h macros as we do not have the ability to</span></div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>   <span class="comment">// reason about data structure shapes.</span></div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>   <a class="code" href="classclang_1_1SourceManager.html" title="This class handles loading and caching of source files into memory.">SourceManager</a> &<a class="code" href="AnalysisBasedWarnings_8cpp.html#afe4356a77609114d8df0bfc9c2b8701f">SM</a> = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#af1c96119e6b09349984ee25b800e3801">getSourceManager</a>();</div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>   <a class="code" href="classclang_1_1FullSourceLoc.html" title="A SourceLocation and its associated SourceManager.">FullSourceLoc</a> <a class="code" href="classclang_1_1ento_1_1Loc.html">Loc</a> = BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#aea9b55cd77ca78ac9d2edf65aadb5b14" title="Return the "definitive" location of the reported bug.">getLocation</a>(SM).<a class="code" href="classclang_1_1ento_1_1PathDiagnosticLocation.html#a100f90d8dc7a4ff2ac18d5e4565c4bab">asLocation</a>();</div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>   <span class="keywordflow">while</span> (Loc.<a class="code" href="classclang_1_1SourceLocation.html#a83c660ad7c57096011c5f40c50b52c7d">isMacroID</a>()) {</div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>     Loc = Loc.<a class="code" href="classclang_1_1FullSourceLoc.html#a7fc79886e3b469a10fb885f2fc592a1d">getSpellingLoc</a>();</div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>     <span class="keywordflow">if</span> (SM.<a class="code" href="classclang_1_1SourceManager.html#a1b7402699ef496ecc9b2db28a83f0c1b" title="Return the filename of the file containing a SourceLocation.">getFilename</a>(Loc).endswith(<span class="stringliteral">"sys/queue.h"</span>)) {</div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>       BR.<a class="code" href="classclang_1_1ento_1_1BugReport.html#ac9f6d1ef6eb241247f366ac69b8634a5">markInvalid</a>(<a class="code" href="classclang_1_1ento_1_1LikelyFalsePositiveSuppressionBRVisitor.html#ac984dfdee331b77fcd24cb206b3dabca">getTag</a>(), 0);</div>
+<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>     }</div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>   }</div>
+<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> </div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>   <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> }</div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <a class="code" href="classclang_1_1ento_1_1PathDiagnosticPiece.html">PathDiagnosticPiece</a> *</div>
+<div class="line"><a name="l01597"></a><span class="lineno"><a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#af9ae00c2c477565a0ce5c97b41f41053"> 1597</a></span> <a class="code" href="classclang_1_1ento_1_1UndefOrNullArgVisitor.html#af9ae00c2c477565a0ce5c97b41f41053" title="Return a diagnostic piece which should be associated with the given node.">UndefOrNullArgVisitor::VisitNode</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *N,</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1ento_1_1ExplodedNode.html">ExplodedNode</a> *PrevN,</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReporterContext.html">BugReporterContext</a> &BRC,</div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>                                   <a class="code" href="classclang_1_1ento_1_1BugReport.html">BugReport</a> &BR) {</div>
+<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span> </div>
+<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>   <a class="code" href="classllvm_1_1IntrusiveRefCntPtr.html">ProgramStateRef</a> State = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#a6fa2ec4d53b2e1313de1ce1a8201c962">getState</a>();</div>
+<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>   <a class="code" href="classclang_1_1ProgramPoint.html">ProgramPoint</a> ProgLoc = N-><a class="code" href="classclang_1_1ento_1_1ExplodedNode.html#afb4d9693286307b3fcba2bb9fdbef530" title="getLocation - Returns the edge associated with the given node.">getLocation</a>();</div>
+<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> </div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>   <span class="comment">// We are only interested in visiting CallEnter nodes.</span></div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>   <a class="code" href="classllvm_1_1Optional.html">Optional<CallEnter></a> CEnter = ProgLoc.<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><<a class="code" href="classclang_1_1CallEnter.html">CallEnter</a>>();</div>
+<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>   <span class="keywordflow">if</span> (!CEnter)</div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> </div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>   <span class="comment">// Check if one of the arguments is the region the visitor is tracking.</span></div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>   <a class="code" href="classclang_1_1CallEventManager.html" title="Manages the lifetime of CallEvent objects.">CallEventManager</a> &CEMgr = BRC.<a class="code" href="classclang_1_1ento_1_1BugReporterContext.html#a8108eef72f3f45ae744baa5621a10e75">getStateManager</a>().<a class="code" href="classclang_1_1ento_1_1ProgramStateManager.html#a3f893d79f046e245f759c19bc18b3411">getCallEventManager</a>();</div>
+<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>   <a class="code" href="classclang_1_1ento_1_1CallEventRef.html">CallEventRef<></a> Call = CEMgr.<a class="code" href="classclang_1_1CallEventManager.html#afd14cd71933faf35a1386e1adea976c3">getCaller</a>(CEnter->getCalleeContext(), <a class="code" href="Format_8cpp.html#a83e9e4ff6cb05dbdf72ab2a01aa289c0">State</a>);</div>
+<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>   <span class="keywordtype">unsigned</span> Idx = 0;</div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1ento_1_1CallEvent.html#ae148795231caca86f681da514df3d294">CallEvent::param_iterator</a> I = Call->param_begin(),</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>                                  E = Call->param_end(); I != E; ++I, ++Idx) {</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</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> *ArgReg = Call->getArgSVal(Idx).getAsRegion();</div>
+<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span> </div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>     <span class="comment">// Are we tracking the argument or its subregion?</span></div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>     <span class="keywordflow">if</span> ( !ArgReg || (ArgReg != R && !R-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#ada36f0525a2112390cf8e2d239142eb5" title="Check if the region is a subregion of the given region.">isSubRegionOf</a>(ArgReg-><a class="code" href="classclang_1_1ento_1_1MemRegion.html#a8c3ae0ca072089a3b008adc86a9b8efe">StripCasts</a>())))</div>
+<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span> </div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>     <span class="comment">// Check the function parameter type.</span></div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1