[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/CodeGen_2MicrosoftCXXABI_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2MicrosoftCXXABI_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2MicrosoftCXXABI_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2MicrosoftCXXABI_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,2020 @@
+<!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: MicrosoftCXXABI.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_373837989a1dc63be881832a195d38c3.html">CodeGen</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CodeGen/MicrosoftCXXABI.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CodeGen_2MicrosoftCXXABI_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">//===--- MicrosoftCXXABI.cpp - Emit LLVM Code from ASTs for a Module ------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="comment">// This provides C++ code generation targeting the Microsoft Visual C++ ABI.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// The class in this file generates structures that follow the Microsoft</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">// Visual C++ ABI, which is actually not very well documented at all outside</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">// of Microsoft.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="CGCXXABI_8h.html">CGCXXABI.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="CodeGenModule_8h.html">CodeGenModule.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="CGVTables_8h.html">CGVTables.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "<a class="code" href="MicrosoftVBTables_8h.html">MicrosoftVBTables.h</a>"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="DeclCXX_8h.html" title="Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate.h) and friends (in DeclFriend.h).">clang/AST/DeclCXX.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="VTableBuilder_8h.html">clang/AST/VTableBuilder.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/ADT/StringSet.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">using namespace </span>CodeGen;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="keyword">class </span>MicrosoftCXXABI : <span class="keyword">public</span> <a class="code" href="classclang_1_1CodeGen_1_1CGCXXABI.html" title="Implements C++ ABI-specific code generation functions.">CGCXXABI</a> {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   MicrosoftCXXABI(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &CGM) : <a class="code" href="classclang_1_1CodeGen_1_1CGCXXABI.html" title="Implements C++ ABI-specific code generation functions.">CGCXXABI</a>(CGM) {}</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   <span class="keywordtype">bool</span> HasThisReturn(<a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordtype">bool</span> isReturnTypeIndirect(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     <span class="comment">// Structures that are not C++03 PODs are always indirect.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     <span class="keywordflow">return</span> !RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#ab017dfe8ba1d1ecb0f781dc2d2d51635" title="Whether this class is a POD-type (C++ [class]p4)">isPOD</a>();</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   }</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   RecordArgABI <a class="code" href="CodeGen_2TargetInfo_8cpp.html#a66a9e71c49b43e57cfa70d26c0e8e1ca">getRecordArgABI</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     <span class="keywordflow">if</span> (RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#ad297bf5844cf9d6f1fd36074daf19ef0" title="Determine whether this class has a non-trivial copy constructor (C++ [class.copy]p6, C++11 [class.copy]p12)">hasNonTrivialCopyConstructor</a>() || RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a314cd1ab631ceecd9f9bc2b3acd059d5" title="Determine whether this class has a non-trivial destructor (C++ [class.dtor]p3)">hasNonTrivialDestructor</a>())</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>       <span class="keywordflow">return</span> RAA_DirectInMemory;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>     <span class="keywordflow">return</span> RAA_Default;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   }</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   StringRef GetPureVirtualCallName() { <span class="keywordflow">return</span> <span class="stringliteral">"_purecall"</span>; }</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="comment">// No known support for deleted functions in MSVC yet, so this choice is</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   <span class="comment">// arbitrary.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   StringRef GetDeletedVirtualCallName() { <span class="keywordflow">return</span> <span class="stringliteral">"_purecall"</span>; }</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="keywordtype">bool</span> isInlineInitializedStaticDataMemberLinkOnce() { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *adjustToCompleteObject(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>                                       <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *ptr,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>                                       <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#a82efb51f28681d561f9ce42fecf09d4b" title="Matches Types in the clang AST.">type</a>);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *GetVirtualBaseClassOffset(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>                                          <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *ClassDecl,</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseClassDecl);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   <span class="keywordtype">void</span> BuildConstructorSignature(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *Ctor,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>                                  <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16d" title="C++ constructor types.">CXXCtorType</a> <a class="code" href="classclang_1_1Type.html">Type</a>,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>                                  <a class="code" href="classclang_1_1CanQual.html">CanQualType</a> &ResTy,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>                                  <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CanQualType></a> &ArgTys);</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>   llvm::BasicBlock *EmitCtorCompleteObjectHandler(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>                                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   <span class="keywordtype">void</span> initializeHiddenVirtualInheritanceMembers(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>                                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   <span class="keywordtype">void</span> EmitCXXConstructors(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *D);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   <span class="comment">// Background on MSVC destructors</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   <span class="comment">// ==============================</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   <span class="comment">// Both Itanium and MSVC ABIs have destructor variants.  The variant names</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   <span class="comment">// roughly correspond in the following way:</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   <span class="comment">//   Itanium       Microsoft</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   <span class="comment">//   Base       -> no name, just ~Class</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   <span class="comment">//   Complete   -> vbase destructor</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   <span class="comment">//   Deleting   -> scalar deleting destructor</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   <span class="comment">//                 vector deleting destructor</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">// The base and complete destructors are the same as in Itanium, although the</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   <span class="comment">// complete destructor does not accept a VTT parameter when there are virtual</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   <span class="comment">// bases.  A separate mechanism involving vtordisps is used to ensure that</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   <span class="comment">// virtual methods of destroyed subobjects are not called.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="comment">// The deleting destructors accept an i32 bitfield as a second parameter.  Bit</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   <span class="comment">// 1 indicates if the memory should be deleted.  Bit 2 indicates if the this</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   <span class="comment">// pointer points to an array.  The scalar deleting destructor assumes that</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="comment">// bit 2 is zero, and therefore does not contain a loop.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   <span class="comment">// For virtual destructors, only one entry is reserved in the vftable, and it</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   <span class="comment">// always points to the vector deleting destructor.  The vector deleting</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   <span class="comment">// destructor is the most general, so it can be used to destroy objects in</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   <span class="comment">// place, delete single heap objects, or delete arrays.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   <span class="comment">// A TU defining a non-inline destructor is only guaranteed to emit a base</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="comment">// destructor, and all of the other variants are emitted on an as-needed basis</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   <span class="comment">// in COMDATs.  Because a non-base destructor can be emitted in a TU that</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   <span class="comment">// lacks a definition for the destructor, non-base destructors must always</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   <span class="comment">// delegate to or alias the base destructor.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>   <span class="keywordtype">void</span> BuildDestructorSignature(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *Dtor,</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>                                 <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157" title="C++ destructor types.">CXXDtorType</a> <a class="code" href="classclang_1_1Type.html">Type</a>,</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>                                 <a class="code" href="classclang_1_1CanQual.html">CanQualType</a> &ResTy,</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>                                 <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CanQualType></a> &ArgTys);</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> <span class="comment"></span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span> <span class="comment">  /// Non-base dtors should be emitted as delegating thunks in this ABI.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span> <span class="comment"></span>  <span class="keywordtype">bool</span> useThunkForDtorVariant(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *Dtor,</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>                               <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157" title="C++ destructor types.">CXXDtorType</a> DT)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>     <span class="keywordflow">return</span> DT != <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a642f2aa7faf76ed5f2ca52bb348a34e3" title="Base object dtor.">Dtor_Base</a>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   }</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   <span class="keywordtype">void</span> EmitCXXDestructors(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *D);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *getThisArgumentTypeForMethod(<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) {</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>     MD = MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#aa8d27f88a980ce80102d34870e352738" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>();</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>     <span class="keywordflow">if</span> (MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#abcaff495a9ded37cbe66b06973308b62">isVirtual</a>() && !isa<CXXDestructorDecl>(MD)) {</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>       <a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html">MicrosoftVTableContext::MethodVFTableLocation</a> ML =</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>           CGM.getMicrosoftVTableContext().getMethodVFTableLocation(MD);</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>       <span class="comment">// The vbases might be ordered differently in the final overrider object</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>       <span class="comment">// and the complete object, so the "this" argument may sometimes point to</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>       <span class="comment">// memory that has no particular type (e.g. past the complete object).</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>       <span class="comment">// In this case, we just use a generic pointer type.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>       <span class="comment">// FIXME: might want to have a more precise type in the non-virtual</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>       <span class="comment">// multiple inheritance case.</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>       <span class="keywordflow">if</span> (ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a> || !ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#a757b2aa42da72017798bcb00cbb5a8fe">VFPtrOffset</a>.<a class="code" href="classclang_1_1CharUnits.html#af39b99432339c76e577a5149b6c59e4e" title="isZero - Test whether the quantity equals zero.">isZero</a>())</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>         <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>     }</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>     <span class="keywordflow">return</span> MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>();</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   }</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *adjustThisArgumentForVirtualCall(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>                                                 <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                                                 <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This);</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>   <span class="keywordtype">void</span> BuildInstanceFunctionParams(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>                                    <a class="code" href="classclang_1_1QualType.html">QualType</a> &ResTy,</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>                                    <a class="code" href="classclang_1_1CodeGen_1_1FunctionArgList.html">FunctionArgList</a> &Params);</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>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *adjustThisParameterInVirtualFunctionPrologue(</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>       <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>   <span class="keywordtype">void</span> EmitInstanceFunctionProlog(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   <span class="keywordtype">void</span> EmitConstructorCall(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                            <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *D, <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16d" title="C++ constructor types.">CXXCtorType</a> <a class="code" href="classclang_1_1Type.html">Type</a>,</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>                            <span class="keywordtype">bool</span> ForVirtualBase, <span class="keywordtype">bool</span> Delegating,</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>                            <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>                            <a class="code" href="classclang_1_1ConstExprIterator.html">CallExpr::const_arg_iterator</a> ArgBeg,</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>                            <a class="code" href="classclang_1_1ConstExprIterator.html">CallExpr::const_arg_iterator</a> ArgEnd);</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="keywordtype">void</span> emitVTableDefinitions(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenVTables.html">CodeGenVTables</a> &CGVT, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</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>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *getVTableAddressPointInStructor(</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>       <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *VTableClass,</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       <a class="code" href="classclang_1_1BaseSubobject.html">BaseSubobject</a> <a class="code" href="classclang_1_1Base.html">Base</a>, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *NearestVBase,</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>       <span class="keywordtype">bool</span> &NeedsVirtualOffset);</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>   llvm::Constant *</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   getVTableAddressPointForConstExpr(<a class="code" href="classclang_1_1BaseSubobject.html">BaseSubobject</a> <a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *VTableClass);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> </div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>   llvm::GlobalVariable *getAddrOfVTable(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>                                         <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> VPtrOffset);</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>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *getVirtualFunctionPointer(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD,</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>                                          <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This, llvm::Type *Ty);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>   <span class="keywordtype">void</span> EmitVirtualDestructorCall(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *Dtor,</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>                                  <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157" title="C++ destructor types.">CXXDtorType</a> DtorType, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> CallLoc,</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>                                  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   <span class="keywordtype">void</span> adjustCallArgsForDestructorThunk(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD,</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>                                         <a class="code" href="classclang_1_1CodeGen_1_1CallArgList.html">CallArgList</a> &CallArgs) {</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     assert(GD.<a class="code" href="classclang_1_1GlobalDecl.html#acf7986531ee9edab4d776465d455c82f">getDtorType</a>() == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a> &&</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>            <span class="stringliteral">"Only deleting destructor thunks are available in this ABI"</span>);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     CallArgs.<a class="code" href="classclang_1_1CodeGen_1_1CallArgList.html#a1045111747e571d65a465fef8cdf9abd">add</a>(<a class="code" href="classclang_1_1CodeGen_1_1RValue.html#a1a8427ae63385ddc17ad8c68352d95b2">RValue::get</a>(getStructorImplicitParamValue(CGF)),</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>                              CGM.getContext().IntTy);</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   }</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>   <span class="keywordtype">void</span> emitVirtualInheritanceTables(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>   <span class="keywordtype">void</span> setThunkLinkage(llvm::Function *Thunk, <span class="keywordtype">bool</span> ForVTable) {</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     Thunk->setLinkage(llvm::GlobalValue::WeakAnyLinkage);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>   }</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *performThisAdjustment(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>                                      <span class="keyword">const</span> <a class="code" href="structclang_1_1ThisAdjustment.html" title="A this pointer adjustment.">ThisAdjustment</a> &TA);</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *performReturnAdjustment(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Ret,</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>                                        <span class="keyword">const</span> <a class="code" href="structclang_1_1ReturnAdjustment.html" title="A return adjustment.">ReturnAdjustment</a> &RA);</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="keywordtype">void</span> EmitGuardedInit(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> &D,</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>                        llvm::GlobalVariable *DeclPtr,</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>                        <span class="keywordtype">bool</span> PerformInit);</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">// ==== Notes on array cookies =========</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>   <span class="comment">// MSVC seems to only use cookies when the class has a destructor; a</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   <span class="comment">// two-argument usual array deallocation function isn't sufficient.</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>   <span class="comment">// For example, this code prints "100" and "1":</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   <span class="comment">//   struct A {</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="comment">//     char x;</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="comment">//     void *operator new[](size_t sz) {</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>   <span class="comment">//       printf("%u\n", sz);</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   <span class="comment">//       return malloc(sz);</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   <span class="comment">//     }</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   <span class="comment">//     void operator delete[](void *p, size_t sz) {</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   <span class="comment">//       printf("%u\n", sz);</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   <span class="comment">//       free(p);</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>   <span class="comment">//     }</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   <span class="comment">//   };</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   <span class="comment">//   int main() {</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   <span class="comment">//     A *p = new A[100];</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   <span class="comment">//     delete[] p;</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>   <span class="comment">//   }</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="comment">// Whereas it prints "104" and "104" if you give A a destructor.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   <span class="keywordtype">bool</span> requiresArrayCookie(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDeleteExpr.html" title="Represents a delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray"...">CXXDeleteExpr</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a62d0b4c2a483d355a4d740ded606188f" title="Matches expressions.">expr</a>, <a class="code" href="classclang_1_1QualType.html">QualType</a> elementType);</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>   <span class="keywordtype">bool</span> requiresArrayCookie(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXNewExpr.html" title="Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)"...">CXXNewExpr</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a62d0b4c2a483d355a4d740ded606188f" title="Matches expressions.">expr</a>);</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> getArrayCookieSizeImpl(<a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#a82efb51f28681d561f9ce42fecf09d4b" title="Matches Types in the clang AST.">type</a>);</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *InitializeArrayCookie(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>                                      <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *NewPtr,</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>                                      <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *NumElements,</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>                                      <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXNewExpr.html" title="Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)"...">CXXNewExpr</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a62d0b4c2a483d355a4d740ded606188f" title="Matches expressions.">expr</a>,</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>                                      <a class="code" href="classclang_1_1QualType.html">QualType</a> ElementType);</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *readArrayCookieImpl(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>                                    <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *allocPtr,</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>                                    <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> cookieSize);</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   <a class="code" href="classclang_1_1MicrosoftMangleContext.html">MicrosoftMangleContext</a> &getMangleContext() {</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>     <span class="keywordflow">return</span> cast<MicrosoftMangleContext>(<a class="code" href="classclang_1_1CodeGen_1_1CGCXXABI.html#a81a311530d5d52bac2afe472091b3e6b" title="Gets the mangle context.">CodeGen::CGCXXABI::getMangleContext</a>());</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   }</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   llvm::Constant *getZeroInt() {</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="keywordflow">return</span> llvm::ConstantInt::get(CGM.IntTy, 0);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>   }</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>   llvm::Constant *getAllOnesInt() {</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>     <span class="keywordflow">return</span>  llvm::Constant::getAllOnesValue(CGM.IntTy);</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>   }</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>   llvm::Constant *getConstantOrZeroInt(llvm::Constant *C) {</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>     <span class="keywordflow">return</span> C ? C : getZeroInt();</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   }</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *getValueOrZeroInt(<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *C) {</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>     <span class="keywordflow">return</span> C ? C : getZeroInt();</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>   }</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   <span class="keywordtype">void</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   GetNullMemberPointerFields(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>                              <a class="code" href="classllvm_1_1SmallVectorImpl.html">llvm::SmallVectorImpl<llvm::Constant *></a> &fields);</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> <span class="comment"></span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="comment">  /// \brief Finds the offset from the base of RD to the vbptr it uses, even if</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> <span class="comment">  /// it is reusing a vbptr from a non-virtual base.  RD must have morally</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> <span class="comment">  /// virtual bases.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> GetVBPtrOffsetFromBases(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> <span class="comment"></span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> <span class="comment">  /// \brief Shared code for virtual base adjustment.  Returns the offset from</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> <span class="comment">  /// the vbptr to the virtual base.  Optionally returns the address of the</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> <span class="comment">  /// vbptr itself.</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> <span class="comment"></span>  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *GetVBaseOffsetFromVBPtr(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>                                        <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *<a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>                                        <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset,</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>                                        <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBTableOffset,</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>                                        <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> **VBPtr = 0);</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>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *GetVBaseOffsetFromVBPtr(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>                                        <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *<a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>                                        int32_t VBPtrOffset,</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>                                        int32_t VBTableOffset,</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>                                        <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> **VBPtr = 0) {</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPOffset = llvm::ConstantInt::get(CGM.IntTy, VBPtrOffset),</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>                 *VBTOffset = llvm::ConstantInt::get(CGM.IntTy, VBTableOffset);</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>     <span class="keywordflow">return</span> GetVBaseOffsetFromVBPtr(CGF, Base, VBPOffset, VBTOffset, VBPtr);</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="comment"></span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> <span class="comment">  /// \brief Performs a full virtual base adjustment.  Used to dereference</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> <span class="comment">  /// pointers to members of virtual bases.</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> <span class="comment"></span>  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *AdjustVirtualBase(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>                                  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *<a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>                                  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VirtualBaseAdjustmentOffset,</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>                                  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset <span class="comment">/* optional */</span>);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> <span class="comment"></span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> <span class="comment">  /// \brief Emits a full member pointer with the fields common to data and</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> <span class="comment">  /// function member pointers.</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> <span class="comment"></span>  llvm::Constant *EmitFullMemberPointer(llvm::Constant *FirstField,</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>                                         <span class="keywordtype">bool</span> IsMemberFunction,</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>                                         <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualBaseAdjustment);</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>   llvm::Constant *BuildMemberPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</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,</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>                                      <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualBaseAdjustment);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>   <span class="keywordtype">bool</span> MemberPointerConstantIsNull(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>                                    llvm::Constant *MP);</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> <span class="comment"></span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> <span class="comment">  /// \brief - Initialize all vbptrs of 'this' with RD as the complete type.</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> <span class="comment"></span>  <span class="keywordtype">void</span> EmitVBPtrStores(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> <span class="comment"></span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> <span class="comment">  /// \brief Caching wrapper around VBTableBuilder::enumerateVBTables().</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1CodeGen.html#a972b754f0dff1ad7df69be1dfc82c2fa">VBTableVector</a> &EnumerateVBTables(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> <span class="comment"></span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> <span class="comment">  /// \brief Generate a thunk for calling a virtual member function MD.</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> <span class="comment"></span>  llvm::Function *EmitVirtualMemPtrThunk(<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,</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>                                          StringRef ThunkName);</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="keyword">virtual</span> llvm::Type *ConvertMemberPointerType(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT);</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isZeroInitializable(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT);</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   <span class="keyword">virtual</span> llvm::Constant *EmitNullMemberPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT);</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>   <span class="keyword">virtual</span> llvm::Constant *EmitMemberDataPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>                                                 <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> offset);</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="keyword">virtual</span> llvm::Constant *EmitMemberPointer(<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);</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   <span class="keyword">virtual</span> llvm::Constant *EmitMemberPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1APValue.html">APValue</a> &MP, <a class="code" href="classclang_1_1QualType.html">QualType</a> MPT);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="keyword">virtual</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *EmitMemberPointerComparison(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>                                                    <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *L,</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>                                                    <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *R,</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>                                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>                                                    <span class="keywordtype">bool</span> Inequality);</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   <span class="keyword">virtual</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *EmitMemberPointerIsNotNull(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>                                                   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MemPtr,</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>                                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT);</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>   <span class="keyword">virtual</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *EmitMemberDataPointerAddress(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>                                                     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *<a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>                                                     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MemPtr,</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>                                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT);</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   <span class="keyword">virtual</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *EmitMemberPointerConversion(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>                                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1CastExpr.html">CastExpr</a> *E,</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>                                                    <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Src);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   <span class="keyword">virtual</span> llvm::Constant *EmitMemberPointerConversion(<span class="keyword">const</span> <a class="code" href="classclang_1_1CastExpr.html">CastExpr</a> *E,</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>                                                       llvm::Constant *Src);</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   <span class="keyword">virtual</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>   EmitLoadOfMemberFunctionPointer(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>                                   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *&This,</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>                                   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MemPtr,</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>                                   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT);</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> <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   <span class="keyword">typedef</span> std::pair<const CXXRecordDecl *, CharUnits> VFTableIdTy;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>   <span class="keyword">typedef</span> llvm::DenseMap<VFTableIdTy, llvm::GlobalVariable *> VFTablesMapTy;<span class="comment"></span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> <span class="comment">  /// \brief All the vftables that have been referenced.</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> <span class="comment"></span>  VFTablesMapTy VFTablesMap;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> <span class="comment"></span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> <span class="comment">  /// \brief This set holds the record decls we've deferred vtable emission for.</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> <span class="comment"></span>  llvm::SmallPtrSet<const CXXRecordDecl *, 4> DeferredVFTables;</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> <span class="comment"></span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> <span class="comment">  /// \brief All the vbtables which have been referenced.</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> <span class="comment"></span>  llvm::DenseMap<const CXXRecordDecl *, VBTableVector> VBTablesMap;</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> <span class="comment"></span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> <span class="comment">  /// Info on the global variable used to guard initialization of static locals.</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> <span class="comment">  /// The BitIndex field is only used for externally invisible declarations.</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> <span class="comment"></span>  <span class="keyword">struct </span>GuardInfo {</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>     GuardInfo() : Guard(0), BitIndex(0) {}</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>     llvm::GlobalVariable *Guard;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>     <span class="keywordtype">unsigned</span> BitIndex;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>   };</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> <span class="comment"></span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> <span class="comment">  /// Map from DeclContext to the current guard variable.  We assume that the</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> <span class="comment">  /// AST is visited in source code order.</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> <span class="comment"></span>  llvm::DenseMap<const DeclContext *, GuardInfo> GuardVariableMap;</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> }</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::adjustToCompleteObject(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>                                                      <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *ptr,</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>                                                      <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#a82efb51f28681d561f9ce42fecf09d4b" title="Matches Types in the clang AST.">type</a>) {</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <span class="comment">// FIXME: implement</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="keywordflow">return</span> ptr;</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> }</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> <span class="comment"></span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> <span class="comment">/// \brief Finds the first non-virtual base of RD that has virtual bases.  If RD</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> <span class="comment">/// doesn't have a vbptr, it will reuse the vbptr of the returned class.</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a147ed9746e8a11d25f15ec89c0ef24c8">  397</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a147ed9746e8a11d25f15ec89c0ef24c8" title="Finds the first non-virtual base of RD that has virtual bases. If RD doesn't have a vbptr...">FindFirstNVBaseWithVBases</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CXXBaseSpecifier.html" title="Represents a base class of a C++ class.">CXXRecordDecl::base_class_const_iterator</a> I = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a830448d054e3dca2db6851bd4605492c">bases_begin</a>(),</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>        E = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *<a class="code" href="classclang_1_1Base.html">Base</a> = I->getType()->getAsCXXRecordDecl();</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>     <span class="keywordflow">if</span> (!I->isVirtual() && Base-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>() > 0)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>       <span class="keywordflow">return</span> Base;</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>   }</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>   llvm_unreachable(<span class="stringliteral">"RD must have an nv base with vbases"</span>);</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> }</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> MicrosoftCXXABI::GetVBPtrOffsetFromBases(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>   assert(RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>());</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> Total = <a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>();</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>   <span class="keywordflow">while</span> (RD) {</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &RDLayout = getContext().getASTRecordLayout(RD);</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> VBPtrOffset = RDLayout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a4fd9d976e7cb353b6035ba405850beea">getVBPtrOffset</a>();</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>     <span class="comment">// -1 is the sentinel for no vbptr.</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     <span class="keywordflow">if</span> (VBPtrOffset != <a class="code" href="classclang_1_1CharUnits.html#adf6d3a79993b58285a0626b61c2c6c82" title="fromQuantity - Construct a CharUnits quantity from a raw integer type.">CharUnits::fromQuantity</a>(-1)) {</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>       Total += VBPtrOffset;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     }</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>     RD = <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a147ed9746e8a11d25f15ec89c0ef24c8" title="Finds the first non-virtual base of RD that has virtual bases. If RD doesn't have a vbptr...">FindFirstNVBaseWithVBases</a>(RD);</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>     Total += RDLayout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a23d0a748e9b3b4515c23c5f9beabb2d7" title="getBaseClassOffset - Get the offset, in chars, for the given base class.">getBaseClassOffset</a>(RD);</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   }</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>   <span class="keywordflow">return</span> Total;</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> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> MicrosoftCXXABI::GetVirtualBaseClassOffset(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>                                            <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *ClassDecl,</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>                                            <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseClassDecl) {</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   int64_t VBPtrChars = GetVBPtrOffsetFromBases(ClassDecl).getQuantity();</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset = llvm::ConstantInt::get(CGM.PtrDiffTy, VBPtrChars);</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> IntSize = getContext().getTypeSizeInChars(getContext().IntTy);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> VBTableChars =</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>       IntSize *</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>       CGM.getMicrosoftVTableContext().getVBTableIndex(ClassDecl, BaseClassDecl);</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBTableOffset =</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>     llvm::ConstantInt::get(CGM.IntTy, VBTableChars.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrToNewBase =</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>     GetVBaseOffsetFromVBPtr(CGF, This, VBPtrOffset, VBTableOffset);</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>   VBPtrToNewBase =</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateSExtOrBitCast(VBPtrToNewBase, CGM.PtrDiffTy);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>   <span class="keywordflow">return</span> CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateNSWAdd(VBPtrOffset, VBPtrToNewBase);</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> <span class="keywordtype">bool</span> MicrosoftCXXABI::HasThisReturn(<a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>   <span class="keywordflow">return</span> isa<CXXConstructorDecl>(GD.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>());</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> }</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> <span class="keywordtype">void</span> MicrosoftCXXABI::BuildConstructorSignature(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *Ctor,</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>                                  <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16d" title="C++ constructor types.">CXXCtorType</a> <a class="code" href="classclang_1_1Type.html">Type</a>,</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>                                  <a class="code" href="classclang_1_1CanQual.html">CanQualType</a> &ResTy,</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>                                  <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CanQualType></a> &ArgTys) {</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>   <span class="comment">// 'this' parameter and 'this' return are already in place</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *Class = Ctor-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>();</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>   <span class="keywordflow">if</span> (Class-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>()) {</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     <span class="comment">// Constructors of classes with virtual bases take an implicit parameter.</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     ArgTys.push_back(CGM.getContext().IntTy);</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>   }</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> }</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> llvm::BasicBlock *</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> MicrosoftCXXABI::EmitCtorCompleteObjectHandler(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>                                                <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *IsMostDerivedClass = getStructorImplicitParamValue(CGF);</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>   assert(IsMostDerivedClass &&</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>          <span class="stringliteral">"ctor for a class with virtual bases must have an implicit parameter"</span>);</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *IsCompleteObject =</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateIsNotNull(IsMostDerivedClass, <span class="stringliteral">"is_complete_object"</span>);</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>   llvm::BasicBlock *CallVbaseCtorsBB = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"ctor.init_vbases"</span>);</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>   llvm::BasicBlock *SkipVbaseCtorsBB = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"ctor.skip_vbases"</span>);</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateCondBr(IsCompleteObject,</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>                            CallVbaseCtorsBB, SkipVbaseCtorsBB);</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(CallVbaseCtorsBB);</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>   <span class="comment">// Fill in the vbtable pointers here.</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>   EmitVBPtrStores(CGF, RD);</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>   <span class="comment">// CGF will put the base ctor calls in this basic block for us later.</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>   <span class="keywordflow">return</span> SkipVbaseCtorsBB;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> }</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> <span class="keywordtype">void</span> MicrosoftCXXABI::initializeHiddenVirtualInheritanceMembers(</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>     <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>   <span class="comment">// In most cases, an override for a vbase virtual method can adjust</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>   <span class="comment">// the "this" parameter by applying a constant offset.</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>   <span class="comment">// However, this is not enough while a constructor or a destructor of some</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   <span class="comment">// class X is being executed if all the following conditions are met:</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>   <span class="comment">//  - X has virtual bases, (1)</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>   <span class="comment">//  - X overrides a virtual method M of a vbase Y, (2)</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>   <span class="comment">//  - X itself is a vbase of the most derived class.</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>   <span class="comment">// If (1) and (2) are true, the vtorDisp for vbase Y is a hidden member of X</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>   <span class="comment">// which holds the extra amount of "this" adjustment we must do when we use</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>   <span class="comment">// the X vftables (i.e. during X ctor or dtor).</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>   <span class="comment">// Outside the ctors and dtors, the values of vtorDisps are zero.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> </div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout = getContext().getASTRecordLayout(RD);</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>   <span class="keyword">typedef</span> <a class="code" href="classclang_1_1ASTRecordLayout.html#a2829f5412c68f30d9aa82b01d32ffbbd">ASTRecordLayout::VBaseOffsetsMapTy</a> VBOffsets;</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>   <span class="keyword">const</span> VBOffsets &VBaseMap = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#adf00da6d687a48fcd97c127f741c7abf">getVBaseOffsetsMap</a>();</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a> = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   <span class="keywordtype">unsigned</span> AS =</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>       cast<llvm::PointerType>(getThisValue(CGF)->getType())->getAddressSpace();</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Int8This = 0;  <span class="comment">// Initialize lazily.</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> </div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>   <span class="keywordflow">for</span> (VBOffsets::const_iterator I = VBaseMap.begin(), E = VBaseMap.end();</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>         I != E; ++I) {</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>     <span class="keywordflow">if</span> (!I->second.hasVtorDisp())</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBaseOffset =</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>         GetVirtualBaseClassOffset(CGF, getThisValue(CGF), RD, I->first);</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>     <span class="comment">// FIXME: it doesn't look right that we SExt in GetVirtualBaseClassOffset()</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>     <span class="comment">// just to Trunc back immediately.</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>     VBaseOffset = Builder.CreateTruncOrBitCast(VBaseOffset, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a9b70851ea2ff034ca9a5443ce213a81c">Int32Ty</a>);</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>     uint64_t ConstantVBaseOffset =</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>         Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#afc9e06582d41a24ec356be836bb8775c" title="getVBaseClassOffset - Get the offset, in chars, for the given base class.">getVBaseClassOffset</a>(I->first).<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>();</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>     <span class="comment">// vtorDisp_for_vbase = vbptr[vbase_idx] - offsetof(RD, vbase).</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VtorDispValue = Builder.CreateSub(</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>         VBaseOffset, llvm::ConstantInt::get(CGM.Int32Ty, ConstantVBaseOffset),</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>         <span class="stringliteral">"vtordisp.value"</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> (!Int8This)</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>       Int8This = Builder.CreateBitCast(getThisValue(CGF),</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>                                        CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a329e1a1ea4a981895ad14b70611e163b" title="i8, i16, i32, and i64">Int8Ty</a>->getPointerTo(AS));</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VtorDispPtr = Builder.CreateInBoundsGEP(Int8This, VBaseOffset);</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>     <span class="comment">// vtorDisp is always the 32-bits before the vbase in the class layout.</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>     VtorDispPtr = Builder.CreateConstGEP1_32(VtorDispPtr, -4);</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>     VtorDispPtr = Builder.CreateBitCast(</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>         VtorDispPtr, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a9b70851ea2ff034ca9a5443ce213a81c">Int32Ty</a>->getPointerTo(AS), <span class="stringliteral">"vtordisp.ptr"</span>);</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>     Builder.CreateStore(VtorDispValue, VtorDispPtr);</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>   }</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> }</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> </div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitCXXConstructors(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *D) {</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   <span class="comment">// There's only one constructor type in this ABI.</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>   CGM.EmitGlobal(<a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a>(D, <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16daa026c895b0ea9b02db8749b3cfeec973" title="Complete object ctor.">Ctor_Complete</a>));</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> }</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span> </div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitVBPtrStores(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>                                       <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *ThisInt8Ptr =</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(getThisValue(CGF), CGM.Int8PtrTy, <span class="stringliteral">"this.int8"</span>);</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> </div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>   <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1CodeGen.html#a972b754f0dff1ad7df69be1dfc82c2fa">VBTableVector</a> &VBTables = EnumerateVBTables(RD);</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>   <span class="keywordflow">for</span> (VBTableVector::const_iterator I = VBTables.begin(), E = VBTables.end();</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &SubobjectLayout =</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>       CGM.getContext().getASTRecordLayout(I->VBPtrSubobject.getBase());</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>     uint64_t Offs = (I->VBPtrSubobject.getBaseOffset() +</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>                      SubobjectLayout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a4fd9d976e7cb353b6035ba405850beea">getVBPtrOffset</a>()).getQuantity();</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtr =</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>         CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstInBoundsGEP1_64(ThisInt8Ptr, Offs);</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>     VBPtr = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(VBPtr, I->GV->getType()->getPointerTo(0),</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>                                       <span class="stringliteral">"vbptr."</span> + I->ReusingBase->getName());</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateStore(I->GV, VBPtr);</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   }</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> }</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> <span class="keywordtype">void</span> MicrosoftCXXABI::BuildDestructorSignature(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *Dtor,</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>                                                <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157" title="C++ destructor types.">CXXDtorType</a> Type,</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>                                                <a class="code" href="classclang_1_1CanQual.html">CanQualType</a> &ResTy,</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>                                         <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CanQualType></a> &ArgTys) {</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   <span class="comment">// 'this' is already in place</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> </div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>   <span class="comment">// TODO: 'for base' flag</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> </div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   <span class="keywordflow">if</span> (Type == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>) {</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>     <span class="comment">// The scalar deleting destructor takes an implicit int parameter.</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>     ArgTys.push_back(CGM.getContext().IntTy);</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> </div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitCXXDestructors(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *D) {</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>   <span class="comment">// The TU defining a dtor is only guaranteed to emit a base destructor.  All</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>   <span class="comment">// other destructor variants are delegating thunks.</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   CGM.EmitGlobal(<a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a>(D, <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a642f2aa7faf76ed5f2ca52bb348a34e3" title="Base object dtor.">Dtor_Base</a>));</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> </div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::adjustThisArgumentForVirtualCall(</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This) {</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>   GD = GD.<a class="code" href="classclang_1_1GlobalDecl.html#afe9cece001fcb63f1c922fca581bd855">getCanonicalDecl</a>();</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(GD.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>());</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>   <span class="comment">// FIXME: consider splitting the vdtor vs regular method code into two</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>   <span class="comment">// functions.</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>   <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> LookupGD = GD;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *DD = dyn_cast<CXXDestructorDecl>(MD)) {</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>     <span class="comment">// Complete dtors take a pointer to the complete object,</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>     <span class="comment">// thus don't need adjustment.</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>     <span class="keywordflow">if</span> (GD.<a class="code" href="classclang_1_1GlobalDecl.html#acf7986531ee9edab4d776465d455c82f">getDtorType</a>() == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a69f2551f9ca0f302deef31de0695976c" title="Complete object dtor.">Dtor_Complete</a>)</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>       <span class="keywordflow">return</span> This;</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span> </div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>     <span class="comment">// There's only Dtor_Deleting in vftable but it shares the this adjustment</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     <span class="comment">// with the base one, so look up the deleting one instead.</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     LookupGD = <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a>(DD, <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>);</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>   }</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>   <a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html">MicrosoftVTableContext::MethodVFTableLocation</a> ML =</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>       CGM.getMicrosoftVTableContext().getMethodVFTableLocation(LookupGD);</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span> </div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>   <span class="keywordtype">unsigned</span> AS = cast<llvm::PointerType>(This->getType())->getAddressSpace();</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   llvm::Type *charPtrTy = CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a329e1a1ea4a981895ad14b70611e163b" title="i8, i16, i32, and i64">Int8Ty</a>->getPointerTo(AS);</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> StaticOffset = ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#a757b2aa42da72017798bcb00cbb5a8fe">VFPtrOffset</a>;</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>   <span class="keywordflow">if</span> (ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a>) {</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>     <span class="keywordtype">bool</span> AvoidVirtualOffset = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>     <span class="keywordflow">if</span> (isa<CXXDestructorDecl>(MD) && GD.<a class="code" href="classclang_1_1GlobalDecl.html#acf7986531ee9edab4d776465d455c82f">getDtorType</a>() == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a642f2aa7faf76ed5f2ca52bb348a34e3" title="Base object dtor.">Dtor_Base</a>) {</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>       <span class="comment">// A base destructor can only be called from a complete destructor of the</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>       <span class="comment">// same record type or another destructor of a more derived type;</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>       <span class="comment">// or a constructor of the same record type if an exception is thrown.</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>       assert(isa<CXXDestructorDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>()) ||</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>              isa<CXXConstructorDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>()));</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *CurRD =</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>           cast<CXXMethodDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>())->getParent();</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">if</span> (MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>() == CurRD) {</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>         <span class="keywordflow">if</span> (isa<CXXDestructorDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>()))</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>           assert(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#acf7986531ee9edab4d776465d455c82f">getDtorType</a>() == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a69f2551f9ca0f302deef31de0695976c" title="Complete object dtor.">Dtor_Complete</a>);</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>         <span class="keywordflow">if</span> (isa<CXXConstructorDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>()))</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>           assert(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a510cae7dd5d57ea1a0d8d89754fe6036">getCtorType</a>() == <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16daa026c895b0ea9b02db8749b3cfeec973" title="Complete object ctor.">Ctor_Complete</a>);</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>         <span class="comment">// We're calling the main base dtor from a complete structor,</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>         <span class="comment">// so we know the "this" offset statically.</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>         AvoidVirtualOffset = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>       } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>         <span class="comment">// Let's see if we try to call a destructor of a non-virtual base.</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>         <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1CXXBaseSpecifier.html" title="Represents a base class of a C++ class.">CXXRecordDecl::base_class_const_iterator</a> I = CurRD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a830448d054e3dca2db6851bd4605492c">bases_begin</a>(),</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>              E = CurRD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>           <span class="keywordflow">if</span> (I->getType()->getAsCXXRecordDecl() != MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>())</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>             <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>           <span class="comment">// If we call a base destructor for a non-virtual base, we statically</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>           <span class="comment">// know where it expects the vfptr and "this" to be.</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>           <span class="comment">// The total offset should reflect the adjustment done by</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>           <span class="comment">// adjustThisParameterInVirtualFunctionPrologue().</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>           AvoidVirtualOffset = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>         }</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>       }</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>     }</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span> </div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>     <span class="keywordflow">if</span> (AvoidVirtualOffset) {</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout =</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>           CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a8a474f8f10090f44fc3e331d1e4b9ce0">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a47d9de77f967abb78dd8d1b8228a0d2a" title="Get or compute information about the layout of the specified record (struct/union/class) D...">getASTRecordLayout</a>(MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>());</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>       StaticOffset += Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#afc9e06582d41a24ec356be836bb8775c" title="getVBaseClassOffset - Get the offset, in chars, for the given base class.">getVBaseClassOffset</a>(ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a>);</div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>       This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(This, charPtrTy);</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>       <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBaseOffset =</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>           GetVirtualBaseClassOffset(CGF, This, MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>(), ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a>);</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>       This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateInBoundsGEP(This, VBaseOffset);</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>     }</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>   }</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>   <span class="keywordflow">if</span> (!StaticOffset.<a class="code" href="classclang_1_1CharUnits.html#af39b99432339c76e577a5149b6c59e4e" title="isZero - Test whether the quantity equals zero.">isZero</a>()) {</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>     assert(StaticOffset.<a class="code" href="classclang_1_1CharUnits.html#afa46d68f546c7779cf0ee0702a355489" title="isPositive - Test whether the quantity is greater than zero.">isPositive</a>());</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>     This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(This, charPtrTy);</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>     <span class="keywordflow">if</span> (ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a>) {</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>       <span class="comment">// Non-virtual adjustment might result in a pointer outside the allocated</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>       <span class="comment">// object, e.g. if the final overrider class is laid out after the virtual</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>       <span class="comment">// base that declares a method in the most derived class.</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>       <span class="comment">// FIXME: Update the code that emits this adjustment in thunks prologues.</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>       This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstGEP1_32(This, StaticOffset.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</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>       This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstInBoundsGEP1_32(This,</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>                                                     StaticOffset.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>     }</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>   }</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>   <span class="keywordflow">return</span> This;</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span> }</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span> </div>
+<div class="line"><a name="l00673"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#acc37089400739e3af2cd8fdc79a7b64e">  673</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#acc37089400739e3af2cd8fdc79a7b64e">IsDeletingDtor</a>(<a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD) {</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a>* MD = cast<CXXMethodDecl>(GD.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>());</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>   <span class="keywordflow">if</span> (isa<CXXDestructorDecl>(MD)) {</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>     <span class="keywordflow">return</span> GD.<a class="code" href="classclang_1_1GlobalDecl.html#acf7986531ee9edab4d776465d455c82f">getDtorType</a>() == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>;</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>   }</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span> }</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> </div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span> <span class="keywordtype">void</span> MicrosoftCXXABI::BuildInstanceFunctionParams(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>                                                   <a class="code" href="classclang_1_1QualType.html">QualType</a> &ResTy,</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>                                                   <a class="code" href="classclang_1_1CodeGen_1_1FunctionArgList.html">FunctionArgList</a> &Params) {</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>   BuildThisParam(CGF, Params);</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span> </div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>   <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &<a class="code" href="ASTMatchFinder_8cpp.html#a779280869b9fac47a9bc391e7709171f">Context</a> = getContext();</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>());</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   <span class="keywordflow">if</span> (isa<CXXConstructorDecl>(MD) && MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>()) {</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>     <a class="code" href="classclang_1_1ImplicitParamDecl.html">ImplicitParamDecl</a> *IsMostDerived</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>       = <a class="code" href="classclang_1_1ImplicitParamDecl.html#add66002b6973118b8203af49374faf84">ImplicitParamDecl::Create</a>(Context, 0,</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>                                   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>()-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>(),</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>                                   &Context.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"is_most_derived"</span>),</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>     Params.push_back(IsMostDerived);</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>     getStructorImplicitParamDecl(CGF) = IsMostDerived;</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#acc37089400739e3af2cd8fdc79a7b64e">IsDeletingDtor</a>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>)) {</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>     <a class="code" href="classclang_1_1ImplicitParamDecl.html">ImplicitParamDecl</a> *ShouldDelete</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>       = <a class="code" href="classclang_1_1ImplicitParamDecl.html#add66002b6973118b8203af49374faf84">ImplicitParamDecl::Create</a>(Context, 0,</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>                                   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>()-><a class="code" href="classclang_1_1Decl.html#a2348196ac4e0b1d5ebb1859c31b99eac">getLocation</a>(),</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>                                   &Context.<a class="code" href="classclang_1_1ASTContext.html#a4f95adb9958e22fbe55212ae6482feb4">Idents</a>.<a class="code" href="classclang_1_1IdentifierTable.html#aea14376d325400caa8a8183d14a02f39" title="Return the identifier token info for the specified named identifier.">get</a>(<span class="stringliteral">"should_call_delete"</span>),</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>);</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>     Params.push_back(ShouldDelete);</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     getStructorImplicitParamDecl(CGF) = ShouldDelete;</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> }</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span> </div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::adjustThisParameterInVirtualFunctionPrologue(</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>     <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This) {</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>   GD = GD.<a class="code" href="classclang_1_1GlobalDecl.html#afe9cece001fcb63f1c922fca581bd855">getCanonicalDecl</a>();</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(GD.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>());</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> </div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> LookupGD = GD;</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *DD = dyn_cast<CXXDestructorDecl>(MD)) {</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>     <span class="comment">// Complete destructors take a pointer to the complete object as a</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>     <span class="comment">// parameter, thus don't need this adjustment.</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>     <span class="keywordflow">if</span> (GD.<a class="code" href="classclang_1_1GlobalDecl.html#acf7986531ee9edab4d776465d455c82f">getDtorType</a>() == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a69f2551f9ca0f302deef31de0695976c" title="Complete object dtor.">Dtor_Complete</a>)</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>       <span class="keywordflow">return</span> This;</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span> </div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>     <span class="comment">// There's no Dtor_Base in vftable but it shares the this adjustment with</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>     <span class="comment">// the deleting one, so look it up instead.</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>     LookupGD = <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a>(DD, <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>);</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="comment">// In this ABI, every virtual function takes a pointer to one of the</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>   <span class="comment">// subobjects that first defines it as the 'this' parameter, rather than a</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>   <span class="comment">// pointer to ther final overrider subobject. Thus, we need to adjust it back</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>   <span class="comment">// to the final overrider subobject before use.</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>   <span class="comment">// See comments in the MicrosoftVFTableContext implementation for the details.</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="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html">MicrosoftVTableContext::MethodVFTableLocation</a> ML =</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>       CGM.getMicrosoftVTableContext().getMethodVFTableLocation(LookupGD);</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> Adjustment = ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#a757b2aa42da72017798bcb00cbb5a8fe">VFPtrOffset</a>;</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>   <span class="keywordflow">if</span> (ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a>) {</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &DerivedLayout =</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>         CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a8a474f8f10090f44fc3e331d1e4b9ce0">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a47d9de77f967abb78dd8d1b8228a0d2a" title="Get or compute information about the layout of the specified record (struct/union/class) D...">getASTRecordLayout</a>(MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>());</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>     Adjustment += DerivedLayout.<a class="code" href="classclang_1_1ASTRecordLayout.html#afc9e06582d41a24ec356be836bb8775c" title="getVBaseClassOffset - Get the offset, in chars, for the given base class.">getVBaseClassOffset</a>(ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</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> </div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>   <span class="keywordflow">if</span> (Adjustment.<a class="code" href="classclang_1_1CharUnits.html#af39b99432339c76e577a5149b6c59e4e" title="isZero - Test whether the quantity equals zero.">isZero</a>())</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>     <span class="keywordflow">return</span> This;</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span> </div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>   <span class="keywordtype">unsigned</span> AS = cast<llvm::PointerType>(This->getType())->getAddressSpace();</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>   llvm::Type *charPtrTy = CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a329e1a1ea4a981895ad14b70611e163b" title="i8, i16, i32, and i64">Int8Ty</a>->getPointerTo(AS),</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>              *thisTy = This->getType();</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>   This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(This, charPtrTy);</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>   assert(Adjustment.<a class="code" href="classclang_1_1CharUnits.html#afa46d68f546c7779cf0ee0702a355489" title="isPositive - Test whether the quantity is greater than zero.">isPositive</a>());</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>   This =</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>       CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstInBoundsGEP1_32(This, -Adjustment.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>   <span class="keywordflow">return</span> CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(This, thisTy);</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span> }</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span> </div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitInstanceFunctionProlog(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF) {</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>   EmitThisParam(CGF);</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> <span class="comment"></span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span> <span class="comment">  /// If this is a function that the ABI specifies returns 'this', initialize</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span> <span class="comment">  /// the return slot to 'this' at the start of the function.</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span> <span class="comment">  /// Unlike the setting of return types, this is done within the ABI</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> <span class="comment">  /// implementation instead of by clients of CGCXXABI because:</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span> <span class="comment">  /// 1) getThisValue is currently protected</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span> <span class="comment">  /// 2) in theory, an ABI could implement 'this' returns some other way;</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span> <span class="comment">  ///    HasThisReturn only specifies a contract, not the implementation    </span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span> <span class="comment"></span>  <span class="keywordflow">if</span> (HasThisReturn(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>))</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateStore(getThisValue(CGF), CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a1eb2b28a846f4bcb0c7db1f39813d1af">ReturnValue</a>);</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span> </div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXMethodDecl.html" title="Represents a static or instance method of a struct/union/class.">CXXMethodDecl</a> *MD = cast<CXXMethodDecl>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>.<a class="code" href="classclang_1_1GlobalDecl.html#a3971ce53aef50b4c3d829615a5ecd0a0">getDecl</a>());</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>   <span class="keywordflow">if</span> (isa<CXXConstructorDecl>(MD) && MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>()) {</div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>     assert(getStructorImplicitParamDecl(CGF) &&</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>            <span class="stringliteral">"no implicit parameter for a constructor with virtual bases?"</span>);</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>     getStructorImplicitParamValue(CGF)</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>       = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateLoad(</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>           CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a82621c86a6f95d33ae07868357749654" title="GetAddrOfLocalVar - Return the address of a local variable.">GetAddrOfLocalVar</a>(getStructorImplicitParamDecl(CGF)),</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>           <span class="stringliteral">"is_most_derived"</span>);</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>   }</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>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#acc37089400739e3af2cd8fdc79a7b64e">IsDeletingDtor</a>(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a07a029445bbdb49eea32bef47594ba93" title="CurGD - The GlobalDecl for the current function being compiled.">CurGD</a>)) {</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>     assert(getStructorImplicitParamDecl(CGF) &&</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>            <span class="stringliteral">"no implicit parameter for a deleting destructor?"</span>);</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>     getStructorImplicitParamValue(CGF)</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>       = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateLoad(</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>           CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a82621c86a6f95d33ae07868357749654" title="GetAddrOfLocalVar - Return the address of a local variable.">GetAddrOfLocalVar</a>(getStructorImplicitParamDecl(CGF)),</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>           <span class="stringliteral">"should_call_delete"</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> }</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span> </div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitConstructorCall(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>                                           <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXConstructorDecl.html" title="Represents a C++ constructor within a class.">CXXConstructorDecl</a> *D,</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>                                           <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16d" title="C++ constructor types.">CXXCtorType</a> Type, </div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>                                           <span class="keywordtype">bool</span> ForVirtualBase,</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>                                           <span class="keywordtype">bool</span> Delegating,</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>                                           <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>                                           <a class="code" href="classclang_1_1ConstExprIterator.html">CallExpr::const_arg_iterator</a> ArgBeg,</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>                                           <a class="code" href="classclang_1_1ConstExprIterator.html">CallExpr::const_arg_iterator</a> ArgEnd) {</div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>   assert(Type == <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16daa026c895b0ea9b02db8749b3cfeec973" title="Complete object ctor.">Ctor_Complete</a> || Type == <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16da09d2d6db60ced3215694a5b6c13888be" title="Base object ctor.">Ctor_Base</a>);</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Callee = CGM.GetAddrOfCXXConstructor(D, <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16daa026c895b0ea9b02db8749b3cfeec973" title="Complete object ctor.">Ctor_Complete</a>);</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span> </div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *ImplicitParam = 0;</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> ImplicitParamTy;</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>   <span class="keywordflow">if</span> (D-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>()) {</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>     ImplicitParam = llvm::ConstantInt::get(CGM.Int32Ty, Type == <a class="code" href="namespaceclang.html#a07c209a701587314a04d68c934e5a16daa026c895b0ea9b02db8749b3cfeec973" title="Complete object ctor.">Ctor_Complete</a>);</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>     ImplicitParamTy = getContext().IntTy;</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   }</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span> </div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>   <span class="comment">// FIXME: Provide a source location here.</span></div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a2fe85c885aa79e232427f3aa6973f948">EmitCXXMemberCall</a>(D, <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a>(), Callee, <a class="code" href="classclang_1_1CodeGen_1_1ReturnValueSlot.html">ReturnValueSlot</a>(), This,</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>                         ImplicitParam, ImplicitParamTy, ArgBeg, ArgEnd);</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> <span class="keywordtype">void</span> MicrosoftCXXABI::emitVTableDefinitions(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenVTables.html">CodeGenVTables</a> &CGVT,</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>   <a class="code" href="classclang_1_1MicrosoftVTableContext.html">MicrosoftVTableContext</a> &VFTContext = CGM.getMicrosoftVTableContext();</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   <a class="code" href="classllvm_1_1SmallVector.html">MicrosoftVTableContext::VFPtrListTy</a> VFPtrs = VFTContext.<a class="code" href="classclang_1_1MicrosoftVTableContext.html#a2582be48757c30b4650357e8d8c1a7fc">getVFPtrOffsets</a>(RD);</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>   llvm::GlobalVariable::LinkageTypes <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> = CGM.getVTableLinkage(RD);</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span> </div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>   <span class="keywordflow">for</span> (MicrosoftVTableContext::VFPtrListTy::iterator I = VFPtrs.begin(),</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>        E = VFPtrs.end(); I != E; ++I) {</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>     llvm::GlobalVariable *VTable = getAddrOfVTable(RD, I->VFPtrFullOffset);</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>     <span class="keywordflow">if</span> (VTable->hasInitializer())</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span> </div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1VTableLayout.html">VTableLayout</a> &VTLayout =</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>         VFTContext.<a class="code" href="classclang_1_1MicrosoftVTableContext.html#adbdeef156a0850c96b2387ca23f61f0d">getVFTableLayout</a>(RD, I->VFPtrFullOffset);</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>     llvm::Constant *Init = CGVT.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenVTables.html#a3c3e7f1dc068618be69110aeb7ed7ec0">CreateVTableInitializer</a>(</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>         RD, VTLayout.<a class="code" href="classclang_1_1VTableLayout.html#ab86adb719e54f1fe90c5bc184d220f6b">vtable_component_begin</a>(),</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>         VTLayout.<a class="code" href="classclang_1_1VTableLayout.html#a309375a4b08ad1fd7189ec75b94ffadc">getNumVTableComponents</a>(), VTLayout.<a class="code" href="classclang_1_1VTableLayout.html#a35cdfe970de2afdb6d87591e451f6cd8">vtable_thunk_begin</a>(),</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>         VTLayout.<a class="code" href="classclang_1_1VTableLayout.html#a65d521d92812ea5c6d0c16f3d16ab7d1">getNumVTableThunks</a>());</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>     VTable->setInitializer(Init);</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>     VTable->setLinkage(Linkage);</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>     CGM.setTypeVisibility(VTable, RD, <a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a83e0bdf7e055b9b39ca6653fdd4da6a3a342a23591fce5a3c5f48937132e4da1b">CodeGenModule::TVK_ForVTable</a>);</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>   }</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span> }</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span> </div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::getVTableAddressPointInStructor(</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>     <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *VTableClass, <a class="code" href="classclang_1_1BaseSubobject.html">BaseSubobject</a> <a class="code" href="classclang_1_1Base.html">Base</a>,</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *NearestVBase, <span class="keywordtype">bool</span> &NeedsVirtualOffset) {</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>   NeedsVirtualOffset = (NearestVBase != 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>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VTableAddressPoint =</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>       getAddrOfVTable(VTableClass, Base.<a class="code" href="classclang_1_1BaseSubobject.html#a38b53e09f8f5d32b11e44ce4756bbd40" title="getBaseOffset - Returns the base class offset.">getBaseOffset</a>());</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>   <span class="keywordflow">if</span> (!VTableAddressPoint) {</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>     assert(Base.<a class="code" href="classclang_1_1BaseSubobject.html#a6cf1870b3f6f1dcf5660eb36cf2fa408" title="getBase - Returns the base class declaration.">getBase</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>() &&</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>            !CGM.getContext().getASTRecordLayout(Base.<a class="code" href="classclang_1_1BaseSubobject.html#a6cf1870b3f6f1dcf5660eb36cf2fa408" title="getBase - Returns the base class declaration.">getBase</a>()).hasOwnVFPtr());</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>   }</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>   <span class="keywordflow">return</span> VTableAddressPoint;</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span> }</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span> </div>
+<div class="line"><a name="l00849"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#af3c035e687a33e8ecf2f58079313a0f1">  849</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#af3c035e687a33e8ecf2f58079313a0f1">mangleVFTableName</a>(<a class="code" href="classclang_1_1MicrosoftMangleContext.html">MicrosoftMangleContext</a> &<a class="code" href="classclang_1_1MangleContext.html">MangleContext</a>,</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>                               <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD, <span class="keyword">const</span> <a class="code" href="structclang_1_1VFPtrInfo.html">VFPtrInfo</a> &VFPtr,</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>                               <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> &Name) {</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>   llvm::raw_svector_ostream Out(Name);</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>   MangleContext.<a class="code" href="classclang_1_1MicrosoftMangleContext.html#a01307199bd529e17256e22d29ca2e7d7" title="Mangle vftable symbols. Only a subset of the bases along the path to the vftable are included in the ...">mangleCXXVFTable</a>(RD, VFPtr.<a class="code" href="structclang_1_1VFPtrInfo.html#a9c67fb8860d7cf47d5a0c852fddd5741">PathToMangle</a>, Out);</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span> }</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span> </div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span> llvm::Constant *MicrosoftCXXABI::getVTableAddressPointForConstExpr(</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>     <a class="code" href="classclang_1_1BaseSubobject.html">BaseSubobject</a> Base, <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *VTableClass) {</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>   llvm::Constant *VTable = getAddrOfVTable(VTableClass, Base.<a class="code" href="classclang_1_1BaseSubobject.html#a38b53e09f8f5d32b11e44ce4756bbd40" title="getBaseOffset - Returns the base class offset.">getBaseOffset</a>());</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>   assert(VTable && <span class="stringliteral">"Couldn't find a vftable for the given base?"</span>);</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>   <span class="keywordflow">return</span> VTable;</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span> }</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span> </div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> llvm::GlobalVariable *MicrosoftCXXABI::getAddrOfVTable(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>                                                        <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> VPtrOffset) {</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>   <span class="comment">// getAddrOfVTable may return 0 if asked to get an address of a vtable which</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>   <span class="comment">// shouldn't be used in the given record type. We want to cache this result in</span></div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>   <span class="comment">// VFTablesMap, thus a simple zero check is not sufficient.</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>   VFTableIdTy <a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>(RD, VPtrOffset);</div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>   VFTablesMapTy::iterator I;</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>   <span class="keywordtype">bool</span> Inserted;</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>   llvm::tie(I, Inserted) = VFTablesMap.insert(</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>       std::make_pair(<a class="code" href="namespaceclang_1_1LangAS.html#a78ee38b55acb7cc806cb61e6d2a9f960" title="Defines the set of possible language-specific address spaces.">ID</a>, static_cast<llvm::GlobalVariable *>(0)));</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>   <span class="keywordflow">if</span> (!Inserted)</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>     <span class="keywordflow">return</span> I->second;</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span> </div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>   llvm::GlobalVariable *&VTable = I->second;</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span> </div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   <a class="code" href="classclang_1_1MicrosoftVTableContext.html">MicrosoftVTableContext</a> &VTContext = CGM.getMicrosoftVTableContext();</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVector.html">MicrosoftVTableContext::VFPtrListTy</a> &VFPtrs =</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>       VTContext.<a class="code" href="classclang_1_1MicrosoftVTableContext.html#a2582be48757c30b4650357e8d8c1a7fc">getVFPtrOffsets</a>(RD);</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span> </div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>   <span class="keywordflow">if</span> (DeferredVFTables.insert(RD)) {</div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>     <span class="comment">// We haven't processed this record type before.</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>     <span class="comment">// Queue up this v-table for possible deferred emission.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>     CGM.addDeferredVTable(RD);</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> <span class="preprocessor">#ifndef NDEBUG</span></div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span> <span class="preprocessor"></span>    <span class="comment">// Create all the vftables at once in order to make sure each vftable has</span></div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>     <span class="comment">// a unique mangled name.</span></div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>     llvm::StringSet<> ObservedMangledNames;</div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>     <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> J = 0, F = VFPtrs.size(); J != F; ++J) {</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>       <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> Name;</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>       <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#af3c035e687a33e8ecf2f58079313a0f1">mangleVFTableName</a>(getMangleContext(), RD, VFPtrs[J], Name);</div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>       <span class="keywordflow">if</span> (!ObservedMangledNames.insert(Name.str()))</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>         llvm_unreachable(<span class="stringliteral">"Already saw this mangling before?"</span>);</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>     }</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span> <span class="preprocessor"></span>  }</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span> </div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> J = 0, F = VFPtrs.size(); J != F; ++J) {</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>     <span class="keywordflow">if</span> (VFPtrs[J].VFPtrFullOffset != VPtrOffset)</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span> </div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>     llvm::ArrayType *<a class="code" href="classclang_1_1ArrayType.html">ArrayType</a> = llvm::ArrayType::get(</div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>         CGM.Int8PtrTy,</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>         VTContext.<a class="code" href="classclang_1_1MicrosoftVTableContext.html#adbdeef156a0850c96b2387ca23f61f0d">getVFTableLayout</a>(RD, VFPtrs[J].VFPtrFullOffset)</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>             .<a class="code" href="classclang_1_1VTableLayout.html#a309375a4b08ad1fd7189ec75b94ffadc">getNumVTableComponents</a>());</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>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> Name;</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>     <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#af3c035e687a33e8ecf2f58079313a0f1">mangleVFTableName</a>(getMangleContext(), RD, VFPtrs[J], Name);</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>     VTable = CGM.CreateOrReplaceCXXRuntimeVariable(</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>         Name.str(), ArrayType, <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6abf301cfab14d2b8fac6176f45e6bb54a" title="External linkage, which indicates that the entity can be referred to from other translation units...">llvm::GlobalValue::ExternalLinkage</a>);</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>     VTable->setUnnamedAddr(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>     <span class="keywordflow">break</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> </div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>   <span class="keywordflow">return</span> VTable;</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span> }</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span> </div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::getVirtualFunctionPointer(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>                                                         <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD,</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>                                                         <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>                                                         llvm::Type *Ty) {</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>   GD = GD.<a class="code" href="classclang_1_1GlobalDecl.html#afe9cece001fcb63f1c922fca581bd855">getCanonicalDecl</a>();</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> </div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>   Ty = Ty->getPointerTo()->getPointerTo();</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VPtr = adjustThisArgumentForVirtualCall(CGF, GD, This);</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VTable = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#ad121e5b11699b9db4078d97eb63b3272">GetVTablePtr</a>(VPtr, Ty);</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span> </div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>   <a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html">MicrosoftVTableContext::MethodVFTableLocation</a> ML =</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>       CGM.getMicrosoftVTableContext().getMethodVFTableLocation(GD);</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VFuncPtr =</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>       Builder.CreateConstInBoundsGEP1_64(VTable, ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#a85005a6f785e9ea4491ec5febfdf6dfd" title="Method's index in the vftable.">Index</a>, <span class="stringliteral">"vfn"</span>);</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>   <span class="keywordflow">return</span> Builder.CreateLoad(VFuncPtr);</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> }</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span> </div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitVirtualDestructorCall(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDestructorDecl.html" title="Represents a C++ destructor within a class.">CXXDestructorDecl</a> *Dtor,</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>                                                 <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157" title="C++ destructor types.">CXXDtorType</a> DtorType,</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>                                                 <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> CallLoc,</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>                                                 <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This) {</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>   assert(DtorType == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a> || DtorType == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a69f2551f9ca0f302deef31de0695976c" title="Complete object dtor.">Dtor_Complete</a>);</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span> </div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>   <span class="comment">// We have only one destructor in the vftable but can get both behaviors</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>   <span class="comment">// by passing an implicit int parameter.</span></div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>   <a class="code" href="classclang_1_1GlobalDecl.html">GlobalDecl</a> GD(Dtor, <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>);</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGFunctionInfo.html">CGFunctionInfo</a> *FInfo =</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>       &CGM.getTypes().arrangeCXXDestructor(Dtor, <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>);</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>   llvm::Type *Ty = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#ac90e716619f634d438c02ba73caaafeb">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a1325760f10142c1da8521b53734858ef">getTypes</a>().<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a5e6c7473f14643c5a5b45ac9c0bb2ef8" title="GetFunctionType - Get the LLVM function type for.">GetFunctionType</a>(*FInfo);</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Callee = getVirtualFunctionPointer(CGF, GD, This, Ty);</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>   <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Context = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a8a474f8f10090f44fc3e331d1e4b9ce0">getContext</a>();</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *ImplicitParam =</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>       llvm::ConstantInt::get(llvm::IntegerType::getInt32Ty(CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a3ab38e48e9cabd4b9b64555c6c825f06">getLLVMContext</a>()),</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>                              DtorType == <a class="code" href="namespaceclang.html#a8ce1c62f474552f6cfc7c340e573e157a6d0294bcd8bda68ffda82e44bd50e4e3" title="Deleting dtor.">Dtor_Deleting</a>);</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span> </div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>   This = adjustThisArgumentForVirtualCall(CGF, GD, This);</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a2fe85c885aa79e232427f3aa6973f948">EmitCXXMemberCall</a>(Dtor, CallLoc, Callee, <a class="code" href="classclang_1_1CodeGen_1_1ReturnValueSlot.html">ReturnValueSlot</a>(), This,</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>                         ImplicitParam, Context.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>, 0, 0);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span> }</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> </div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1CodeGen.html#a972b754f0dff1ad7df69be1dfc82c2fa">VBTableVector</a> &</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span> MicrosoftCXXABI::EnumerateVBTables(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>   <span class="comment">// At this layer, we can key the cache off of a single class, which is much</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>   <span class="comment">// easier than caching at the GlobalVariable layer.</span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>   llvm::DenseMap<const CXXRecordDecl*, VBTableVector>::iterator I;</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>   <span class="keywordtype">bool</span> added;</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>   llvm::tie(I, added) = VBTablesMap.insert(std::make_pair(RD, <a class="code" href="namespaceclang_1_1CodeGen.html#a972b754f0dff1ad7df69be1dfc82c2fa">VBTableVector</a>()));</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a972b754f0dff1ad7df69be1dfc82c2fa">VBTableVector</a> &VBTables = I->second;</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>   <span class="keywordflow">if</span> (!added)</div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>     <span class="keywordflow">return</span> VBTables;</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span> </div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>   <a class="code" href="classclang_1_1CodeGen_1_1VBTableBuilder.html">VBTableBuilder</a>(CGM, RD).<a class="code" href="classclang_1_1CodeGen_1_1VBTableBuilder.html#a92624b078db47bd7eb8154174dc2f901">enumerateVBTables</a>(VBTables);</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span> </div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>   <span class="keywordflow">return</span> VBTables;</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span> }</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span> </div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span> llvm::Function *</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span> MicrosoftCXXABI::EmitVirtualMemPtrThunk(<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,</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>                                         StringRef ThunkName) {</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>   <span class="comment">// If the thunk has been generated previously, just return it.</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>   <span class="keywordflow">if</span> (llvm::GlobalValue *GV = CGM.getModule().getNamedValue(ThunkName))</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>     <span class="keywordflow">return</span> cast<llvm::Function>(GV);</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>   <span class="comment">// Create the llvm::Function.</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGFunctionInfo.html">CGFunctionInfo</a> &FnInfo = CGM.getTypes().arrangeGlobalDeclaration(MD);</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>   llvm::FunctionType *ThunkTy = CGM.getTypes().GetFunctionType(FnInfo);</div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>   llvm::Function *ThunkFn =</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>       llvm::Function::Create(ThunkTy, <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6abf301cfab14d2b8fac6176f45e6bb54a" title="External linkage, which indicates that the entity can be referred to from other translation units...">llvm::Function::ExternalLinkage</a>,</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>                              ThunkName.str(), &CGM.getModule());</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>   assert(ThunkFn->getName() == ThunkName && <span class="stringliteral">"name was uniqued!"</span>);</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span> </div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>   ThunkFn->setLinkage(MD-><a class="code" href="classclang_1_1NamedDecl.html#a187df384f8395af15f326b823535a87e">isExternallyVisible</a>()</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>                           ? llvm::GlobalValue::LinkOnceODRLinkage</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>                           : <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6a140eea3dcce11b617f72600f6644f4a3" title="Internal linkage, which indicates that the entity can be referred to from within the translation unit...">llvm::GlobalValue::InternalLinkage</a>);</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span> </div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>   CGM.SetLLVMFunctionAttributes(MD, FnInfo, ThunkFn);</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>   CGM.SetLLVMFunctionAttributesForDefinition(MD, ThunkFn);</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>   <span class="comment">// Start codegen.</span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>   <a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> CGF(CGM);</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a7d04132067fa7d435273f766b49f4278">StartThunk</a>(ThunkFn, MD, FnInfo);</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>   <span class="comment">// Get to the Callee.</span></div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a239c983f96c4ab39307ffb5f99b73d7f">LoadCXXThis</a>();</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Callee = getVirtualFunctionPointer(CGF, MD, This, ThunkTy);</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>   <span class="comment">// Make the call and return the result.</span></div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a8b46ef8f96829dea3ce6853177472387">EmitCallAndReturnForThunk</a>(MD, Callee, 0);</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>   <span class="keywordflow">return</span> ThunkFn;</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> </div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordtype">void</span> MicrosoftCXXABI::emitVirtualInheritanceTables(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD) {</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>   <span class="keyword">const</span> <a class="code" href="namespaceclang_1_1CodeGen.html#a972b754f0dff1ad7df69be1dfc82c2fa">VBTableVector</a> &VBTables = EnumerateVBTables(RD);</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>   llvm::GlobalVariable::LinkageTypes Linkage = CGM.getVTableLinkage(RD);</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>   <span class="keywordflow">for</span> (VBTableVector::const_iterator I = VBTables.begin(), E = VBTables.end();</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>        I != E; ++I) {</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>     I->EmitVBTableDefinition(CGM, RD, Linkage);</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>   }</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> }</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> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::performThisAdjustment(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>                                                     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>                                                     <span class="keyword">const</span> <a class="code" href="structclang_1_1ThisAdjustment.html" title="A this pointer adjustment.">ThisAdjustment</a> &TA) {</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>   <span class="keywordflow">if</span> (TA.<a class="code" href="structclang_1_1ThisAdjustment.html#ab9004878c8de33ac563ac2ad487a5882">isEmpty</a>())</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>     <span class="keywordflow">return</span> This;</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(This, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#ac3ec7e3938996c5354dbee1a103ed4d2">Int8PtrTy</a>);</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>   <span class="keywordflow">if</span> (!TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#aab213f3ee3793a60705ed94a4a47b45c">isEmpty</a>()) {</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>     assert(TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a85a1ecea995fc6902e9404fd6723701b" title="The offset of the vtordisp (in bytes), relative to the ECX.">VtordispOffset</a> < 0);</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>     <span class="comment">// Adjust the this argument based on the vtordisp value.</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VtorDispPtr =</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>         CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstGEP1_32(V, TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a85a1ecea995fc6902e9404fd6723701b" title="The offset of the vtordisp (in bytes), relative to the ECX.">VtordispOffset</a>);</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>     VtorDispPtr =</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>         CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(VtorDispPtr, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a9b70851ea2ff034ca9a5443ce213a81c">Int32Ty</a>->getPointerTo());</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VtorDisp = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateLoad(VtorDispPtr, <span class="stringliteral">"vtordisp"</span>);</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>     V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateGEP(V, CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateNeg(VtorDisp));</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>     <span class="keywordflow">if</span> (TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#ad7cfdf660657ec6d8f500b595f75c1c4" title="The offset of the vbptr of the derived class (in bytes), relative to the ECX after vtordisp adjustmen...">VBPtrOffset</a>) {</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>       <span class="comment">// If the final overrider is defined in a virtual base other than the one</span></div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>       <span class="comment">// that holds the vfptr, we have to use a vtordispex thunk which looks up</span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>       <span class="comment">// the vbtable of the derived class.</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>       assert(TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#ad7cfdf660657ec6d8f500b595f75c1c4" title="The offset of the vbptr of the derived class (in bytes), relative to the ECX after vtordisp adjustmen...">VBPtrOffset</a> > 0);</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>       assert(TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a9e3c1f72cab2c4ba2ee30bd609f16c63" title="The offset (in bytes) of the vbase offset in the vbtable.">VBOffsetOffset</a> >= 0);</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>       <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtr;</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>       <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBaseOffset =</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>           GetVBaseOffsetFromVBPtr(CGF, V, -TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#ad7cfdf660657ec6d8f500b595f75c1c4" title="The offset of the vbptr of the derived class (in bytes), relative to the ECX after vtordisp adjustmen...">VBPtrOffset</a>,</div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>                                   TA.<a class="code" href="structclang_1_1ThisAdjustment.html#a47e103bb40fd179a2cd0defb4d17ef6a">Virtual</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a7a62de1edcce6d2e90115bafb8e3d761">Microsoft</a>.<a class="code" href="unionclang_1_1ThisAdjustment_1_1VirtualAdjustment.html#a9e3c1f72cab2c4ba2ee30bd609f16c63" title="The offset (in bytes) of the vbase offset in the vbtable.">VBOffsetOffset</a>, &VBPtr);</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>       V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateInBoundsGEP(VBPtr, VBaseOffset);</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> </div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>   <span class="keywordflow">if</span> (TA.<a class="code" href="structclang_1_1ThisAdjustment.html#acf03d76cb406ada30382b64d9cdeaec4" title="The non-virtual adjustment from the derived object to its nearest virtual base.">NonVirtual</a>) {</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>     <span class="comment">// Non-virtual adjustment might result in a pointer outside the allocated</span></div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>     <span class="comment">// object, e.g. if the final overrider class is laid out after the virtual</span></div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>     <span class="comment">// base that declares a method in the most derived class.</span></div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>     V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstGEP1_32(V, TA.<a class="code" href="structclang_1_1ThisAdjustment.html#acf03d76cb406ada30382b64d9cdeaec4" title="The non-virtual adjustment from the derived object to its nearest virtual base.">NonVirtual</a>);</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>   }</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>   <span class="comment">// Don't need to bitcast back, the call CodeGen will handle this.</span></div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>   <span class="keywordflow">return</span> V;</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> }</div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> </div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> MicrosoftCXXABI::performReturnAdjustment(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Ret,</div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>                                          <span class="keyword">const</span> <a class="code" href="structclang_1_1ReturnAdjustment.html" title="A return adjustment.">ReturnAdjustment</a> &RA) {</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>   <span class="keywordflow">if</span> (RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#a028101f037c221640cfea6e6efe22fbc">isEmpty</a>())</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>     <span class="keywordflow">return</span> Ret;</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(Ret, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#ac3ec7e3938996c5354dbee1a103ed4d2">Int8PtrTy</a>);</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> </div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>   <span class="keywordflow">if</span> (RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#afd832d0909cb5b2e21e1e7c5985635f2">Virtual</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#ac1e02a18acb8a1e63948a2fc723f7dc6">Microsoft</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#afd42eeb41b1e3e483786ede3b65d9893" title="Index of the virtual base in the vbtable.">VBIndex</a>) {</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>     assert(RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#afd832d0909cb5b2e21e1e7c5985635f2">Virtual</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#ac1e02a18acb8a1e63948a2fc723f7dc6">Microsoft</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#afd42eeb41b1e3e483786ede3b65d9893" title="Index of the virtual base in the vbtable.">VBIndex</a> > 0);</div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>     int32_t IntSize =</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>         getContext().getTypeSizeInChars(getContext().IntTy).<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>();</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtr;</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBaseOffset =</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>         GetVBaseOffsetFromVBPtr(CGF, V, RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#afd832d0909cb5b2e21e1e7c5985635f2">Virtual</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#ac1e02a18acb8a1e63948a2fc723f7dc6">Microsoft</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#a9406223ccb8b9480f8a5c107a10430f8" title="The offset (in bytes) of the vbptr, relative to the beginning of the derived class.">VBPtrOffset</a>,</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>                                 IntSize * RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#afd832d0909cb5b2e21e1e7c5985635f2">Virtual</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#ac1e02a18acb8a1e63948a2fc723f7dc6">Microsoft</a>.<a class="code" href="unionclang_1_1ReturnAdjustment_1_1VirtualAdjustment.html#afd42eeb41b1e3e483786ede3b65d9893" title="Index of the virtual base in the vbtable.">VBIndex</a>, &VBPtr);</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>     V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateInBoundsGEP(VBPtr, VBaseOffset);</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> </div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>   <span class="keywordflow">if</span> (RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#a7b7ac39e8bd7fe15f91b640d2bd945b9" title="The non-virtual adjustment from the derived object to its nearest virtual base.">NonVirtual</a>)</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>     V = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstInBoundsGEP1_32(V, RA.<a class="code" href="structclang_1_1ReturnAdjustment.html#a7b7ac39e8bd7fe15f91b640d2bd945b9" title="The non-virtual adjustment from the derived object to its nearest virtual base.">NonVirtual</a>);</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>   <span class="comment">// Cast back to the original type.</span></div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>   <span class="keywordflow">return</span> CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(V, Ret->getType());</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> }</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordtype">bool</span> MicrosoftCXXABI::requiresArrayCookie(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXDeleteExpr.html" title="Represents a delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray"...">CXXDeleteExpr</a> *<a class="code" href="namespaceclang_1_1ast__matchers.html#a62d0b4c2a483d355a4d740ded606188f" title="Matches expressions.">expr</a>,</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>                                    <a class="code" href="classclang_1_1QualType.html">QualType</a> elementType) {</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>   <span class="comment">// Microsoft seems to completely ignore the possibility of a</span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>   <span class="comment">// two-argument usual deallocation function.</span></div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>   <span class="keywordflow">return</span> elementType.<a class="code" href="classclang_1_1QualType.html#a4af063b416855444719ed33495b48537">isDestructedType</a>();</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> }</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> </div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordtype">bool</span> MicrosoftCXXABI::requiresArrayCookie(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXNewExpr.html" title="Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)"...">CXXNewExpr</a> *expr) {</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>   <span class="comment">// Microsoft seems to completely ignore the possibility of a</span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>   <span class="comment">// two-argument usual deallocation function.</span></div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>   <span class="keywordflow">return</span> expr-><a class="code" href="classclang_1_1CXXNewExpr.html#af5c824f72fa7d8dfb182e43cd486f9ee">getAllocatedType</a>().<a class="code" href="classclang_1_1QualType.html#a4af063b416855444719ed33495b48537">isDestructedType</a>();</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> }</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> <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> MicrosoftCXXABI::getArrayCookieSizeImpl(<a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="namespaceclang_1_1ast__matchers.html#a82efb51f28681d561f9ce42fecf09d4b" title="Matches Types in the clang AST.">type</a>) {</div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>   <span class="comment">// The array cookie is always a size_t; we then pad that out to the</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>   <span class="comment">// alignment of the element type.</span></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>   <a class="code" href="classclang_1_1ASTContext.html" title="Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...">ASTContext</a> &Ctx = getContext();</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>   <span class="keywordflow">return</span> std::max(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ae8d8371f22bd850bced9b4b9ca848c4e" title="Return the size of the specified (complete) type T, in characters.">getTypeSizeInChars</a>(Ctx.<a class="code" href="classclang_1_1ASTContext.html#ae3093bf57c46337c9a3f2f42ad8764ee" title="Return the unique type for "size_t" (C99 7.17), defined in <stddef.h>.">getSizeType</a>()),</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>                   Ctx.<a class="code" href="classclang_1_1ASTContext.html#a78053c06e4477f81b295cac200144fc4" title="Return the ABI-specified alignment of a (complete) type T, in characters.">getTypeAlignInChars</a>(type));</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> }</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> </div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MicrosoftCXXABI::readArrayCookieImpl(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>                                                   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *allocPtr,</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>                                                   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> cookieSize) {</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>   <span class="keywordtype">unsigned</span> AS = allocPtr->getType()->getPointerAddressSpace();</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *numElementsPtr =</div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(allocPtr, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a91ff72566394e59c6ffe25b21016f289">SizeTy</a>->getPointerTo(AS));</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>   <span class="keywordflow">return</span> CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateLoad(numElementsPtr);</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> </div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a>* MicrosoftCXXABI::InitializeArrayCookie(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>                                                     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *newPtr,</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>                                                     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *numElements,</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>                                                     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXNewExpr.html" title="Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)"...">CXXNewExpr</a> *expr,</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>                                                     <a class="code" href="classclang_1_1QualType.html">QualType</a> elementType) {</div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>   assert(requiresArrayCookie(expr));</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="comment">// The size of the cookie.</span></div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> cookieSize = getArrayCookieSizeImpl(elementType);</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> </div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>   <span class="comment">// Compute an offset to the cookie.</span></div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *cookiePtr = newPtr;</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>   <span class="comment">// Write the number of elements into the appropriate slot.</span></div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>   <span class="keywordtype">unsigned</span> AS = newPtr->getType()->getPointerAddressSpace();</div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *numElementsPtr</div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>     = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateBitCast(cookiePtr, CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a91ff72566394e59c6ffe25b21016f289">SizeTy</a>->getPointerTo(AS));</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateStore(numElements, numElementsPtr);</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>   <span class="comment">// Finally, compute a pointer to the actual data buffer by skipping</span></div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>   <span class="comment">// over the cookie completely.</span></div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>   <span class="keywordflow">return</span> CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>.CreateConstInBoundsGEP1_64(newPtr,</div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>                                                 cookieSize.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> }</div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="keywordtype">void</span> MicrosoftCXXABI::EmitGuardedInit(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF, <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> &D,</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>                                       llvm::GlobalVariable *GV,</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>                                       <span class="keywordtype">bool</span> PerformInit) {</div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>   <span class="comment">// MSVC always uses an i32 bitfield to guard initialization, which is *not*</span></div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>   <span class="comment">// threadsafe.  Since the user may be linking in inline functions compiled by</span></div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>   <span class="comment">// cl.exe, there's no reason to provide a false sense of security by using</span></div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>   <span class="comment">// critical sections here.</span></div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> </div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>   <span class="keywordflow">if</span> (D.<a class="code" href="classclang_1_1VarDecl.html#ae704b725af5821356581f7857a2a2761">getTLSKind</a>())</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>     CGM.ErrorUnsupported(&D, <span class="stringliteral">"dynamic TLS initialization"</span>);</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>   llvm::IntegerType *GuardTy = CGF.<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#a9b70851ea2ff034ca9a5443ce213a81c">Int32Ty</a>;</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>   llvm::ConstantInt *Zero = llvm::ConstantInt::get(GuardTy, 0);</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>   <span class="comment">// Get the guard variable for this function if we have one already.</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>   GuardInfo &GI = GuardVariableMap[D.<a class="code" href="classclang_1_1Decl.html#af67e1a1d24dcc51093b95dbcf68d4288">getDeclContext</a>()];</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>   <span class="keywordtype">unsigned</span> BitIndex;</div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>   <span class="keywordflow">if</span> (D.<a class="code" href="classclang_1_1NamedDecl.html#a187df384f8395af15f326b823535a87e">isExternallyVisible</a>()) {</div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>     <span class="comment">// Externally visible variables have to be numbered in Sema to properly</span></div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>     <span class="comment">// handle unreachable VarDecls.</span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>     BitIndex = getContext().getManglingNumber(&D);</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>     assert(BitIndex > 0);</div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>     BitIndex--;</div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>     <span class="comment">// Non-externally visible variables are numbered here in CodeGen.</span></div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>     BitIndex = GI.BitIndex++;</div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>   }</div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>   <span class="keywordflow">if</span> (BitIndex >= 32) {</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>     <span class="keywordflow">if</span> (D.<a class="code" href="classclang_1_1NamedDecl.html#a187df384f8395af15f326b823535a87e">isExternallyVisible</a>())</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>       ErrorUnsupportedABI(CGF, <span class="stringliteral">"more than 32 guarded initializations"</span>);</div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>     BitIndex %= 32;</div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>     GI.Guard = 0;</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>   }</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> </div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>   <span class="comment">// Lazily create the i32 bitfield for this function.</span></div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>   <span class="keywordflow">if</span> (!GI.Guard) {</div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>     <span class="comment">// Mangle the name for the guard.</span></div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>     <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> GuardName;</div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>     {</div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>       llvm::raw_svector_ostream Out(GuardName);</div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>       getMangleContext().mangleStaticGuardVariable(&D, Out);</div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>       Out.flush();</div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>     }</div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> </div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>     <span class="comment">// Create the guard variable with a zero-initializer.  Just absorb linkage</span></div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>     <span class="comment">// and visibility from the guarded variable.</span></div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>     GI.Guard = <span class="keyword">new</span> llvm::GlobalVariable(CGM.getModule(), GuardTy, <span class="keyword">false</span>,</div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>                                      GV->getLinkage(), Zero, GuardName.str());</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>     GI.Guard->setVisibility(GV->getVisibility());</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>     assert(GI.Guard->getLinkage() == GV->getLinkage() &&</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>            <span class="stringliteral">"static local from the same function had different linkage"</span>);</div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>   }</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>   <span class="comment">// Pseudo code for the test:</span></div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>   <span class="comment">// if (!(GuardVar & MyGuardBit)) {</span></div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>   <span class="comment">//   GuardVar |= MyGuardBit;</span></div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>   <span class="comment">//   ... initialize the object ...;</span></div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>   <span class="comment">// }</span></div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> </div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>   <span class="comment">// Test our bit from the guard variable.</span></div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>   llvm::ConstantInt *Bit = llvm::ConstantInt::get(GuardTy, 1U << BitIndex);</div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>   llvm::LoadInst *LI = Builder.CreateLoad(GI.Guard);</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *IsInitialized =</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>       Builder.CreateICmpNE(Builder.CreateAnd(LI, Bit), Zero);</div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>   llvm::BasicBlock *InitBlock = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"init"</span>);</div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>   llvm::BasicBlock *EndBlock = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"init.end"</span>);</div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>   Builder.CreateCondBr(IsInitialized, EndBlock, InitBlock);</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>   <span class="comment">// Set our bit in the guard variable and emit the initializer and add a global</span></div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>   <span class="comment">// destructor if appropriate.</span></div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(InitBlock);</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>   Builder.CreateStore(Builder.CreateOr(LI, Bit), GI.Guard);</div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#ac7254f2b47376c2fc98ff7c3f2efd496">EmitCXXGlobalVarDeclInit</a>(D, GV, PerformInit);</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>   Builder.CreateBr(EndBlock);</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>   <span class="comment">// Continue.</span></div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(EndBlock);</div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> }</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> </div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> <span class="comment">// Member pointer helpers.</span></div>
+<div class="line"><a name="l01233"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d"> 1233</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(<a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance) {</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>   <span class="keywordflow">return</span> Inheritance == <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aea67dec93fa718ee10408333cc093a0876">MSIM_Unspecified</a>;</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> }</div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> </div>
+<div class="line"><a name="l01237"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35"> 1237</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(<span class="keywordtype">bool</span> IsMemberFunction,</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>                             <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance) {</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>   <span class="keywordflow">return</span> Inheritance <= <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aead343ab48bb44ef3aaa74c29f6f2f6e5d">MSIM_SinglePolymorphic</a> ||</div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>       (!IsMemberFunction && Inheritance <= <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aea7c58b5322eb20970210bbfa36bc0470b">MSIM_MultiplePolymorphic</a>);</div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> }</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> </div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> <span class="comment">// Only member pointers to functions need a this adjustment, since it can be</span></div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> <span class="comment">// combined with the field offset for data pointers.</span></div>
+<div class="line"><a name="l01245"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f"> 1245</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(<span class="keywordtype">bool</span> IsMemberFunction,</div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>                                              <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance) {</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>   <span class="keywordflow">return</span> (IsMemberFunction && Inheritance >= <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aea1e4eed3910d8ecfd8a38192bf1061a62">MSIM_Multiple</a>);</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> </div>
+<div class="line"><a name="l01250"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6"> 1250</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(<a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance) {</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>   <span class="keywordflow">return</span> Inheritance >= <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aea7a96bc1073c9e7cfff63ba4f21d2eab8">MSIM_Virtual</a>;</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> }</div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="comment">// Use zero for the field offset of a null data member pointer if we can</span></div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="comment">// guarantee that zero is not a valid field offset, or if the member pointer has</span></div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="comment">// multiple fields.  Polymorphic classes have a vfptr at offset zero, so we can</span></div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="comment">// use zero for null.  If there are multiple fields, we can use zero even if it</span></div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="comment">// is a valid field offset because null-ness testing will check the other</span></div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="comment">// fields.</span></div>
+<div class="line"><a name="l01260"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8bbb09804a867e07a8a49f3f84f24530"> 1260</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8bbb09804a867e07a8a49f3f84f24530">nullFieldOffsetIsZero</a>(<a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance) {</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>   <span class="keywordflow">return</span> Inheritance != <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aea1e4eed3910d8ecfd8a38192bf1061a62">MSIM_Multiple</a> && Inheritance != <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3aea4fe9b1fc7229c0c7402c2003bed646ec">MSIM_Single</a>;</div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> }</div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> </div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordtype">bool</span> MicrosoftCXXABI::isZeroInitializable(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>   <span class="comment">// Null-ness for function memptrs only depends on the first field, which is</span></div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>   <span class="comment">// the function pointer.  The rest don't matter, so we can zero initialize.</span></div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>())</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>     <span class="keywordflow">return</span> <span class="keyword">true</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>   <span class="comment">// The virtual base adjustment field is always -1 for null, so if we have one</span></div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>   <span class="comment">// we can't zero initialize.  The field offset is sometimes also -1 if 0 is a</span></div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>   <span class="comment">// valid field offset.</span></div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>   <span class="keywordflow">return</span> (!<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(Inheritance) &&</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>           <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8bbb09804a867e07a8a49f3f84f24530">nullFieldOffsetIsZero</a>(Inheritance));</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> }</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> llvm::Type *</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> MicrosoftCXXABI::ConvertMemberPointerType(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<llvm::Type *, 4></a> fields;</div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>())</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>     fields.push_back(CGM.VoidPtrTy);  <span class="comment">// FunctionPointerOrVirtualThunk</span></div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>     fields.push_back(CGM.IntTy);  <span class="comment">// FieldOffset</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> </div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>(),</div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>                                        Inheritance))</div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>     fields.push_back(CGM.IntTy);</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(Inheritance))</div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>     fields.push_back(CGM.IntTy);</div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(Inheritance))</div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>     fields.push_back(CGM.IntTy);  <span class="comment">// VirtualBaseAdjustmentOffset</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>   <span class="keywordflow">if</span> (fields.size() == 1)</div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>     <span class="keywordflow">return</span> fields[0];</div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>   <span class="keywordflow">return</span> llvm::StructType::get(CGM.getLLVMContext(), fields);</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> }</div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> </div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordtype">void</span> MicrosoftCXXABI::</div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> GetNullMemberPointerFields(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>                            <a class="code" href="classllvm_1_1SmallVectorImpl.html">llvm::SmallVectorImpl<llvm::Constant *></a> &fields) {</div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>   assert(fields.empty());</div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>()) {</div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>     <span class="comment">// FunctionPointerOrVirtualThunk</span></div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>     fields.push_back(llvm::Constant::getNullValue(CGM.VoidPtrTy));</div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8bbb09804a867e07a8a49f3f84f24530">nullFieldOffsetIsZero</a>(Inheritance))</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>       fields.push_back(getZeroInt());  <span class="comment">// FieldOffset</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>       fields.push_back(getAllOnesInt());  <span class="comment">// FieldOffset</span></div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</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>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>(),</div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>                                        Inheritance))</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>     fields.push_back(getZeroInt());</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(Inheritance))</div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>     fields.push_back(getZeroInt());</div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(Inheritance))</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>     fields.push_back(getAllOnesInt());</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> llvm::Constant *</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> MicrosoftCXXABI::EmitNullMemberPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<llvm::Constant *, 4></a> fields;</div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>   GetNullMemberPointerFields(MPT, fields);</div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>   <span class="keywordflow">if</span> (fields.size() == 1)</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>     <span class="keywordflow">return</span> fields[0];</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>   llvm::Constant *Res = llvm::ConstantStruct::getAnon(fields);</div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>   assert(Res->getType() == ConvertMemberPointerType(MPT));</div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>   <span class="keywordflow">return</span> Res;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> }</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> llvm::Constant *</div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> MicrosoftCXXABI::EmitFullMemberPointer(llvm::Constant *FirstField,</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>                                        <span class="keywordtype">bool</span> IsMemberFunction,</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>                                        <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualBaseAdjustment)</div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> {</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</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>   <span class="comment">// Single inheritance class member pointer are represented as scalars instead</span></div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>   <span class="comment">// of aggregates.</span></div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(IsMemberFunction, Inheritance))</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>     <span class="keywordflow">return</span> FirstField;</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>   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<llvm::Constant *, 4></a> fields;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>   fields.push_back(FirstField);</div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> </div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(IsMemberFunction, Inheritance))</div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>     fields.push_back(llvm::ConstantInt::get(</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>       CGM.IntTy, NonVirtualBaseAdjustment.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>()));</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="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(Inheritance)) {</div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> Offs = <a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>();</div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>     <span class="keywordflow">if</span> (RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>())</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>       Offs = GetVBPtrOffsetFromBases(RD);</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>     fields.push_back(llvm::ConstantInt::get(CGM.IntTy, Offs.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>()));</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> </div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>   <span class="comment">// The rest of the fields are adjusted by conversions to a more derived class.</span></div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(Inheritance))</div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>     fields.push_back(getZeroInt());</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="keywordflow">return</span> llvm::ConstantStruct::getAnon(fields);</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> }</div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> </div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> llvm::Constant *</div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> MicrosoftCXXABI::EmitMemberDataPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>                                        <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> offset) {</div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>   llvm::Constant *FirstField =</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>     llvm::ConstantInt::get(CGM.IntTy, offset.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>   <span class="keywordflow">return</span> EmitFullMemberPointer(FirstField, <span class="comment">/*IsMemberFunction=*/</span><span class="keyword">false</span>, RD,</div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>                                <a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>());</div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> }</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> llvm::Constant *MicrosoftCXXABI::EmitMemberPointer(<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) {</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>   <span class="keywordflow">return</span> BuildMemberPointer(MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a89937377c3cbaa960c0d35a2b0100071">getParent</a>(), MD, <a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>());</div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> }</div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> </div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> llvm::Constant *MicrosoftCXXABI::EmitMemberPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1APValue.html">APValue</a> &MP,</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>                                                    <a class="code" href="classclang_1_1QualType.html">QualType</a> MPType) {</div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT = MPType-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a>>();</div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ValueDecl.html">ValueDecl</a> *MPD = MP.<a class="code" href="classclang_1_1APValue.html#a09eb8447b018545715ce1eafd688d378">getMemberPointerDecl</a>();</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>   <span class="keywordflow">if</span> (!MPD)</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>     <span class="keywordflow">return</span> EmitNullMemberPointer(MPT);</div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> </div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> <a class="code" href="structclang_1_1ThisAdjustment.html" title="A this pointer adjustment.">ThisAdjustment</a> = getMemberPointerPathAdjustment(MP);</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> </div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>   <span class="comment">// FIXME PR15713: Support virtual inheritance paths.</span></div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> </div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</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>(MPD))</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>     <span class="keywordflow">return</span> BuildMemberPointer(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>(),</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>                               MD, ThisAdjustment);</div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> </div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> FieldOffset =</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>     getContext().toCharUnitsFromBits(getContext().<a class="code" href="RecordLayoutBuilder_8cpp.html#ad663c047027a7ce6a179bcd23e2d6397">getFieldOffset</a>(MPD));</div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>   <span class="keywordflow">return</span> EmitMemberDataPointer(MPT, ThisAdjustment + FieldOffset);</div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> }</div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> llvm::Constant *</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> MicrosoftCXXABI::BuildMemberPointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD,</div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</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,</div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>                                     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualBaseAdjustment) {</div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>   assert(MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#a855a9f0b238457d3131b854bdeae7bce">isInstance</a>() && <span class="stringliteral">"Member function must not be static!"</span>);</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>   MD = MD-><a class="code" href="classclang_1_1CXXMethodDecl.html#aa8d27f88a980ce80102d34870e352738" title="Retrieves the "canonical" declaration of the given declaration.">getCanonicalDecl</a>();</div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>   <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html">CodeGenTypes</a> &Types = CGM.getTypes();</div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> </div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>   llvm::Constant *FirstField;</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>   <span class="keywordflow">if</span> (!MD->isVirtual()) {</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionProtoType.html">FunctionProtoType</a> *FPT = MD->getType()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1FunctionProtoType.html">FunctionProtoType</a>>();</div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>     llvm::Type *Ty;</div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>     <span class="comment">// Check whether the function has a computable LLVM signature.</span></div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>     <span class="keywordflow">if</span> (Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a61b9bc55253d2cfa6660b0c8627acffb">isFuncTypeConvertible</a>(FPT)) {</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>       <span class="comment">// The function has a computable LLVM signature; use the correct type.</span></div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>       Ty = Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a5e6c7473f14643c5a5b45ac9c0bb2ef8" title="GetFunctionType - Get the LLVM function type for.">GetFunctionType</a>(Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a377fa72d0193d3c6fa389a8bdb35237c">arrangeCXXMethodDeclaration</a>(MD));</div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>       <span class="comment">// Use an arbitrary non-function type to tell GetAddrOfFunction that the</span></div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>       <span class="comment">// function type is incomplete.</span></div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>       Ty = CGM.PtrDiffTy;</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>     FirstField = CGM.GetAddrOfFunction(MD, Ty);</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>     FirstField = llvm::ConstantExpr::getBitCast(FirstField, CGM.VoidPtrTy);</div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>     <a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html">MicrosoftVTableContext::MethodVFTableLocation</a> ML =</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>         CGM.getMicrosoftVTableContext().getMethodVFTableLocation(MD);</div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>     <span class="keywordflow">if</span> (MD->isVariadic()) {</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>       CGM.ErrorUnsupported(MD, <span class="stringliteral">"pointer to variadic virtual member function"</span>);</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>       FirstField = llvm::Constant::getNullValue(CGM.VoidPtrTy);</div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!CGM.getTypes().isFuncTypeConvertible(</div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>                     MD->getType()->castAs<<a class="code" href="classclang_1_1FunctionType.html">FunctionType</a>>())) {</div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>       CGM.ErrorUnsupported(MD, <span class="stringliteral">"pointer to virtual member function with "</span></div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>                                <span class="stringliteral">"incomplete return or parameter type"</span>);</div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>       FirstField = llvm::Constant::getNullValue(CGM.VoidPtrTy);</div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#aace68da53123f15b9314259cf5adbf6f">VBase</a>) {</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>       CGM.ErrorUnsupported(MD, <span class="stringliteral">"pointer to virtual member function overriding "</span></div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>                                <span class="stringliteral">"member function in virtual base class"</span>);</div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>       FirstField = llvm::Constant::getNullValue(CGM.VoidPtrTy);</div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>       <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> ThunkName;</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>       <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> PointerWidth = getContext().toCharUnitsFromBits(</div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>           getContext().getTargetInfo().getPointerWidth(0));</div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>       uint64_t OffsetInVFTable = ML.<a class="code" href="structclang_1_1MicrosoftVTableContext_1_1MethodVFTableLocation.html#a85005a6f785e9ea4491ec5febfdf6dfd" title="Method's index in the vftable.">Index</a> * PointerWidth.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>();</div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>       llvm::raw_svector_ostream Out(ThunkName);</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>       getMangleContext().mangleVirtualMemPtrThunk(MD, OffsetInVFTable, Out);</div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>       Out.flush();</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>       llvm::Function *Thunk = EmitVirtualMemPtrThunk(MD, ThunkName.str());</div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>       FirstField = llvm::ConstantExpr::getBitCast(Thunk, CGM.VoidPtrTy);</div>
+<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>     }</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>   <span class="comment">// The rest of the fields are common with data member pointers.</span></div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>   <span class="keywordflow">return</span> EmitFullMemberPointer(FirstField, <span class="comment">/*IsMemberFunction=*/</span><span class="keyword">true</span>, RD,</div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>                                NonVirtualBaseAdjustment);</div>
+<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> }</div>
+<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span> <span class="comment"></span></div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> <span class="comment">/// Member pointers are the same if they're either bitwise identical *or* both</span></div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span> <span class="comment">/// null.  Null-ness for function members is determined by the first field,</span></div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> <span class="comment">/// while for data member pointers we must compare all fields.</span></div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="comment"></span><a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> MicrosoftCXXABI::EmitMemberPointerComparison(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>                                              <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *L,</div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>                                              <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *R,</div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>                                              <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>                                              <span class="keywordtype">bool</span> Inequality) {</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>   <span class="comment">// Handle != comparisons by switching the sense of all boolean operations.</span></div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>   llvm::ICmpInst::Predicate Eq;</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>   llvm::Instruction::BinaryOps <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa9d7a7abf42694a4a2d4f1f322cf62d5c">And</a>, Or;</div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>   <span class="keywordflow">if</span> (Inequality) {</div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>     Eq = llvm::ICmpInst::ICMP_NE;</div>
+<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>     And = llvm::Instruction::Or;</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>     Or = <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa9d7a7abf42694a4a2d4f1f322cf62d5c">llvm::Instruction::And</a>;</div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>     Eq = llvm::ICmpInst::ICMP_EQ;</div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>     And = <a class="code" href="namespaceclang_1_1prec.html#a9bfbe31f4770359ea44ad42e7c7ed8ffa9d7a7abf42694a4a2d4f1f322cf62d5c">llvm::Instruction::And</a>;</div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>     Or = llvm::Instruction::Or;</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> </div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>   <span class="comment">// If this is a single field member pointer (single inheritance), this is a</span></div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>   <span class="comment">// single icmp.</span></div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</div>
+<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>(), Inheritance))</div>
+<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>     <span class="keywordflow">return</span> Builder.CreateICmp(Eq, L, R);</div>
+<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> </div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>   <span class="comment">// Compare the first field.</span></div>
+<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *L0 = Builder.CreateExtractValue(L, 0, <span class="stringliteral">"lhs.0"</span>);</div>
+<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *R0 = Builder.CreateExtractValue(R, 0, <span class="stringliteral">"rhs.0"</span>);</div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Cmp0 = Builder.CreateICmp(Eq, L0, R0, <span class="stringliteral">"memptr.cmp.first"</span>);</div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> </div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>   <span class="comment">// Compare everything other than the first field.</span></div>
+<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Res = 0;</div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>   llvm::StructType *LType = cast<llvm::StructType>(L->getType());</div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> I = 1, E = LType->getNumElements(); I != E; ++I) {</div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *LF = Builder.CreateExtractValue(L, I);</div>
+<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *RF = Builder.CreateExtractValue(R, I);</div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Cmp = Builder.CreateICmp(Eq, LF, RF, <span class="stringliteral">"memptr.cmp.rest"</span>);</div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>     <span class="keywordflow">if</span> (Res)</div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>       Res = Builder.CreateBinOp(And, Res, Cmp);</div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>       Res = Cmp;</div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</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="comment">// Check if the first field is 0 if this is a function pointer.</span></div>
+<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>()) {</div>
+<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>     <span class="comment">// (l1 == r1 && ...) || l0 == 0</span></div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Zero = llvm::Constant::getNullValue(L0->getType());</div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *IsZero = Builder.CreateICmp(Eq, L0, Zero, <span class="stringliteral">"memptr.cmp.iszero"</span>);</div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>     Res = Builder.CreateBinOp(Or, Res, IsZero);</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> </div>
+<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>   <span class="comment">// Combine the comparison of the first field, which must always be true for</span></div>
+<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>   <span class="comment">// this comparison to succeeed.</span></div>
+<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>   <span class="keywordflow">return</span> Builder.CreateBinOp(And, Res, Cmp0, <span class="stringliteral">"memptr.cmp"</span>);</div>
+<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> }</div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span> </div>
+<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> MicrosoftCXXABI::EmitMemberPointerIsNotNull(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>                                             <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MemPtr,</div>
+<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>                                             <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<llvm::Constant *, 4></a> fields;</div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>   <span class="comment">// We only need one field for member functions.</span></div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>())</div>
+<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>     fields.push_back(llvm::Constant::getNullValue(CGM.VoidPtrTy));</div>
+<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>     GetNullMemberPointerFields(MPT, fields);</div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>   assert(!fields.empty());</div>
+<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *FirstField = MemPtr;</div>
+<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>   <span class="keywordflow">if</span> (MemPtr->getType()->isStructTy())</div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>     FirstField = Builder.CreateExtractValue(MemPtr, 0);</div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Res = Builder.CreateICmpNE(FirstField, fields[0], <span class="stringliteral">"memptr.cmp0"</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">// For function member pointers, we only need to test the function pointer</span></div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>   <span class="comment">// field.  The other fields if any can be garbage.</span></div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>())</div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>     <span class="keywordflow">return</span> Res;</div>
+<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> </div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>   <span class="comment">// Otherwise, emit a series of compares and combine the results.</span></div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> I = 1, E = fields.size(); I < E; ++I) {</div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Field = Builder.CreateExtractValue(MemPtr, I);</div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Next = Builder.CreateICmpNE(Field, fields[I], <span class="stringliteral">"memptr.cmp"</span>);</div>
+<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>     Res = Builder.CreateAnd(Res, Next, <span class="stringliteral">"memptr.tobool"</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="keywordflow">return</span> Res;</div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> }</div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> </div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="keywordtype">bool</span> MicrosoftCXXABI::MemberPointerConstantIsNull(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT,</div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>                                                   llvm::Constant *Val) {</div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>   <span class="comment">// Function pointers are null if the pointer in the first field is null.</span></div>
+<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>   <span class="keywordflow">if</span> (MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>()) {</div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>     llvm::Constant *FirstField = Val->getType()->isStructTy() ?</div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>       Val->getAggregateElement(0U) : Val;</div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>     <span class="keywordflow">return</span> FirstField->isNullValue();</div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</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="comment">// If it's not a function pointer and it's zero initializable, we can easily</span></div>
+<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>   <span class="comment">// check zero.</span></div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>   <span class="keywordflow">if</span> (isZeroInitializable(MPT) && Val->isNullValue())</div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> </div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>   <span class="comment">// Otherwise, break down all the fields for comparison.  Hopefully these</span></div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>   <span class="comment">// little Constants are reused, while a big null struct might not be.</span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<llvm::Constant *, 4></a> Fields;</div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>   GetNullMemberPointerFields(MPT, Fields);</div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>   <span class="keywordflow">if</span> (Fields.size() == 1) {</div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>     assert(Val->getType()->isIntegerTy());</div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>     <span class="keywordflow">return</span> Val == Fields[0];</div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>   }</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>   <span class="keywordtype">unsigned</span> I, E;</div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>   <span class="keywordflow">for</span> (I = 0, E = Fields.size(); I != E; ++I) {</div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>     <span class="keywordflow">if</span> (Val->getAggregateElement(I) != Fields[I])</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>   }</div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>   <span class="keywordflow">return</span> I == E;</div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> }</div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> </div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> MicrosoftCXXABI::GetVBaseOffsetFromVBPtr(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>                                          <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *This,</div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>                                          <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset,</div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>                                          <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBTableOffset,</div>
+<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>                                          <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> **VBPtrOut) {</div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>   <span class="comment">// Load the vbtable pointer from the vbptr in the instance.</span></div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>   This = Builder.CreateBitCast(This, CGM.Int8PtrTy);</div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtr =</div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>     Builder.CreateInBoundsGEP(This, VBPtrOffset, <span class="stringliteral">"vbptr"</span>);</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>   <span class="keywordflow">if</span> (VBPtrOut) *VBPtrOut = VBPtr;</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>   VBPtr = Builder.CreateBitCast(VBPtr, CGM.Int8PtrTy->getPointerTo(0));</div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBTable = Builder.CreateLoad(VBPtr, <span class="stringliteral">"vbtable"</span>);</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>   <span class="comment">// Load an i32 offset from the vb-table.</span></div>
+<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBaseOffs = Builder.CreateInBoundsGEP(VBTable, VBTableOffset);</div>
+<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>   VBaseOffs = Builder.CreateBitCast(VBaseOffs, CGM.Int32Ty->getPointerTo(0));</div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>   <span class="keywordflow">return</span> Builder.CreateLoad(VBaseOffs, <span class="stringliteral">"vbase_offs"</span>);</div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> }</div>
+<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> </div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> <span class="comment">// Returns an adjusted base cast to i8*, since we do more address arithmetic on</span></div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> <span class="comment">// it.</span></div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> MicrosoftCXXABI::AdjustVirtualBase(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>                                    <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD, <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Base,</div>
+<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>                                    <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBTableOffset,</div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>                                    <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset) {</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>   Base = Builder.CreateBitCast(Base, CGM.Int8PtrTy);</div>
+<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>   llvm::BasicBlock *OriginalBB = 0;</div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>   llvm::BasicBlock *SkipAdjustBB = 0;</div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>   llvm::BasicBlock *VBaseAdjustBB = 0;</div>
+<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div>
+<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>   <span class="comment">// In the unspecified inheritance model, there might not be a vbtable at all,</span></div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>   <span class="comment">// in which case we need to skip the virtual base lookup.  If there is a</span></div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>   <span class="comment">// vbtable, the first entry is a no-op entry that gives back the original</span></div>
+<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>   <span class="comment">// base, so look for a virtual base adjustment offset of zero.</span></div>
+<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>   <span class="keywordflow">if</span> (VBPtrOffset) {</div>
+<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>     OriginalBB = Builder.GetInsertBlock();</div>
+<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>     VBaseAdjustBB = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"memptr.vadjust"</span>);</div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>     SkipAdjustBB = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"memptr.skip_vadjust"</span>);</div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *IsVirtual =</div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>       Builder.CreateICmpNE(VBTableOffset, getZeroInt(),</div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>                            <span class="stringliteral">"memptr.is_vbase"</span>);</div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>     Builder.CreateCondBr(IsVirtual, VBaseAdjustBB, SkipAdjustBB);</div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(VBaseAdjustBB);</div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>   }</div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> </div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>   <span class="comment">// If we weren't given a dynamic vbptr offset, RD should be complete and we'll</span></div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>   <span class="comment">// know the vbptr offset.</span></div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>   <span class="keywordflow">if</span> (!VBPtrOffset) {</div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> offs = <a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>();</div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>     <span class="keywordflow">if</span> (RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#ae9cacadb059ecb46224d537be149d565" title="Retrieves the number of virtual base classes of this class.">getNumVBases</a>()) {</div>
+<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>       offs = GetVBPtrOffsetFromBases(RD);</div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>     }</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>     VBPtrOffset = llvm::ConstantInt::get(CGM.IntTy, offs.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>());</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>   }</div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtr = 0;</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBaseOffs =</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>     GetVBaseOffsetFromVBPtr(CGF, Base, VBPtrOffset, VBTableOffset, &VBPtr);</div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *AdjustedBase = Builder.CreateInBoundsGEP(VBPtr, VBaseOffs);</div>
+<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span> </div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>   <span class="comment">// Merge control flow with the case where we didn't have to adjust.</span></div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>   <span class="keywordflow">if</span> (VBaseAdjustBB) {</div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>     Builder.CreateBr(SkipAdjustBB);</div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>     CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(SkipAdjustBB);</div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>     llvm::PHINode *Phi = Builder.CreatePHI(CGM.Int8PtrTy, 2, <span class="stringliteral">"memptr.base"</span>);</div>
+<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>     Phi->addIncoming(Base, OriginalBB);</div>
+<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>     Phi->addIncoming(AdjustedBase, VBaseAdjustBB);</div>
+<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>     <span class="keywordflow">return</span> Phi;</div>
+<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>   }</div>
+<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>   <span class="keywordflow">return</span> AdjustedBase;</div>
+<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> }</div>
+<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span> </div>
+<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> MicrosoftCXXABI::EmitMemberDataPointerAddress(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>                                               <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Base,</div>
+<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>                                               <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MemPtr,</div>
+<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>                                               <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>   assert(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#af216918a1df6922c046957d94e6b6b27">isMemberDataPointer</a>());</div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>   <span class="keywordtype">unsigned</span> AS = Base->getType()->getPointerAddressSpace();</div>
+<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>   llvm::Type *PType =</div>
+<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>       CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#ab96689ae1b68ca38dd3c382f54bcbcd7">ConvertTypeForMem</a>(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a3f0b2f25c4ad91d2e8bd2752d9552199">getPointeeType</a>())->getPointerTo(AS);</div>
+<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</div>
+<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> </div>
+<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>   <span class="comment">// Extract the fields we need, regardless of model.  We'll apply them if we</span></div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>   <span class="comment">// have them.</span></div>
+<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *FieldOffset = MemPtr;</div>
+<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VirtualBaseAdjustmentOffset = 0;</div>
+<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset = 0;</div>
+<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>   <span class="keywordflow">if</span> (MemPtr->getType()->isStructTy()) {</div>
+<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>     <span class="comment">// We need to extract values.</span></div>
+<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>     <span class="keywordtype">unsigned</span> I = 0;</div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>     FieldOffset = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(Inheritance))</div>
+<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>       VBPtrOffset = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(Inheritance))</div>
+<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>       VirtualBaseAdjustmentOffset = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>   }</div>
+<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> </div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>   <span class="keywordflow">if</span> (VirtualBaseAdjustmentOffset) {</div>
+<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>     Base = AdjustVirtualBase(CGF, RD, Base, VirtualBaseAdjustmentOffset,</div>
+<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>                              VBPtrOffset);</div>
+<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>   }</div>
+<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *<a class="code" href="SemaOverload_8cpp.html#a561f2d973ed74723ce0b1e1165c31804">Addr</a> =</div>
+<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>     Builder.CreateInBoundsGEP(Base, FieldOffset, <span class="stringliteral">"memptr.offset"</span>);</div>
+<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> </div>
+<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>   <span class="comment">// Cast the address to the appropriate pointer type, adopting the address</span></div>
+<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>   <span class="comment">// space of the base pointer.</span></div>
+<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>   <span class="keywordflow">return</span> Builder.CreateBitCast(Addr, PType);</div>
+<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> }</div>
+<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> </div>
+<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> <span class="keyword">static</span> <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a></div>
+<div class="line"><a name="l01703"></a><span class="lineno"><a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8b8157a6835bb4269f026f626759fb6c"> 1703</a></span> <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8b8157a6835bb4269f026f626759fb6c">getInheritanceFromMemptr</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>   <span class="keywordflow">return</span> MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>()-><a class="code" href="classclang_1_1CXXRecordDecl.html#aaee334862a195482467fb05b3f47c61c" title="Returns the inheritance model used for this record.">getMSInheritanceModel</a>();</div>
+<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> }</div>
+<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> </div>
+<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> MicrosoftCXXABI::EmitMemberPointerConversion(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>                                              <span class="keyword">const</span> <a class="code" href="classclang_1_1CastExpr.html">CastExpr</a> *E,</div>
+<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>                                              <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Src) {</div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>   assert(E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca82cc4f2178c9c3b36d0790c155939350">CK_DerivedToBaseMemberPointer</a> ||</div>
+<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>          E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca3c6a5409bb52618fc54e2a1b7fea53e8">CK_BaseToDerivedMemberPointer</a> ||</div>
+<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>          E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8cafe996870a0a2acb7913b2dfff4514961">CK_ReinterpretMemberPointer</a>);</div>
+<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> </div>
+<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>   <span class="comment">// Use constant emission if we can.</span></div>
+<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>   <span class="keywordflow">if</span> (isa<llvm::Constant>(Src))</div>
+<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>     <span class="keywordflow">return</span> EmitMemberPointerConversion(E, cast<llvm::Constant>(Src));</div>
+<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> </div>
+<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>   <span class="comment">// We may be adding or dropping fields from the member pointer, so we need</span></div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>   <span class="comment">// both types and the inheritance models of both records.</span></div>
+<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *SrcTy =</div>
+<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>     E-><a class="code" href="classclang_1_1CastExpr.html#a37e3d80c4ca590eadbe49e400c50134b">getSubExpr</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a>>();</div>
+<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *DstTy = E-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a>>();</div>
+<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> SrcInheritance = <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8b8157a6835bb4269f026f626759fb6c">getInheritanceFromMemptr</a>(SrcTy);</div>
+<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> DstInheritance = <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8b8157a6835bb4269f026f626759fb6c">getInheritanceFromMemptr</a>(DstTy);</div>
+<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>   <span class="keywordtype">bool</span> IsFunc = SrcTy-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>();</div>
+<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> </div>
+<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>   <span class="comment">// If the classes use the same null representation, reinterpret_cast is a nop.</span></div>
+<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>   <span class="keywordtype">bool</span> IsReinterpret = E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8cafe996870a0a2acb7913b2dfff4514961">CK_ReinterpretMemberPointer</a>;</div>
+<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>   <span class="keywordflow">if</span> (IsReinterpret && (IsFunc ||</div>
+<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>                         <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8bbb09804a867e07a8a49f3f84f24530">nullFieldOffsetIsZero</a>(SrcInheritance) ==</div>
+<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>                         <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8bbb09804a867e07a8a49f3f84f24530">nullFieldOffsetIsZero</a>(DstInheritance)))</div>
+<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>     <span class="keywordflow">return</span> Src;</div>
+<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> </div>
+<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span> </div>
+<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>   <span class="comment">// Branch past the conversion if Src is null.</span></div>
+<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *IsNotNull = EmitMemberPointerIsNotNull(CGF, Src, SrcTy);</div>
+<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>   llvm::Constant *DstNull = EmitNullMemberPointer(DstTy);</div>
+<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> </div>
+<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>   <span class="comment">// C++ 5.2.10p9: The null member pointer value is converted to the null member</span></div>
+<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>   <span class="comment">//   pointer value of the destination type.</span></div>
+<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>   <span class="keywordflow">if</span> (IsReinterpret) {</div>
+<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>     <span class="comment">// For reinterpret casts, sema ensures that src and dst are both functions</span></div>
+<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>     <span class="comment">// or data and have the same size, which means the LLVM types should match.</span></div>
+<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>     assert(Src->getType() == DstNull->getType());</div>
+<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>     <span class="keywordflow">return</span> Builder.CreateSelect(IsNotNull, Src, DstNull);</div>
+<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>   }</div>
+<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> </div>
+<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>   llvm::BasicBlock *OriginalBB = Builder.GetInsertBlock();</div>
+<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>   llvm::BasicBlock *ConvertBB = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"memptr.convert"</span>);</div>
+<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>   llvm::BasicBlock *ContinueBB = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a9d442ba1c516ff4a2fbf1e118359cb52" title="createBasicBlock - Create an LLVM basic block.">createBasicBlock</a>(<span class="stringliteral">"memptr.converted"</span>);</div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>   Builder.CreateCondBr(IsNotNull, ConvertBB, ContinueBB);</div>
+<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(ConvertBB);</div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> </div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>   <span class="comment">// Decompose src.</span></div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *FirstField = Src;</div>
+<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *NonVirtualBaseAdjustment = 0;</div>
+<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VirtualBaseAdjustmentOffset = 0;</div>
+<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset = 0;</div>
+<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>   <span class="keywordflow">if</span> (!<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(IsFunc, SrcInheritance)) {</div>
+<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>     <span class="comment">// We need to extract values.</span></div>
+<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>     <span class="keywordtype">unsigned</span> I = 0;</div>
+<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>     FirstField = Builder.CreateExtractValue(Src, I++);</div>
+<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(IsFunc, SrcInheritance))</div>
+<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>       NonVirtualBaseAdjustment = Builder.CreateExtractValue(Src, I++);</div>
+<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(SrcInheritance))</div>
+<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>       VBPtrOffset = Builder.CreateExtractValue(Src, I++);</div>
+<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(SrcInheritance))</div>
+<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>       VirtualBaseAdjustmentOffset = Builder.CreateExtractValue(Src, I++);</div>
+<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>   }</div>
+<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> </div>
+<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>   <span class="comment">// For data pointers, we adjust the field offset directly.  For functions, we</span></div>
+<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>   <span class="comment">// have a separate field.</span></div>
+<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>   llvm::Constant *Adj = getMemberPointerAdjustment(E);</div>
+<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>   <span class="keywordflow">if</span> (Adj) {</div>
+<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>     Adj = llvm::ConstantExpr::getTruncOrBitCast(Adj, CGM.IntTy);</div>
+<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *&NVAdjustField = IsFunc ? NonVirtualBaseAdjustment : FirstField;</div>
+<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>     <span class="keywordtype">bool</span> isDerivedToBase = (E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca82cc4f2178c9c3b36d0790c155939350">CK_DerivedToBaseMemberPointer</a>);</div>
+<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>     <span class="keywordflow">if</span> (!NVAdjustField)  <span class="comment">// If this field didn't exist in src, it's zero.</span></div>
+<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>       NVAdjustField = getZeroInt();</div>
+<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>     <span class="keywordflow">if</span> (isDerivedToBase)</div>
+<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>       NVAdjustField = Builder.CreateNSWSub(NVAdjustField, Adj, <span class="stringliteral">"adj"</span>);</div>
+<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>       NVAdjustField = Builder.CreateNSWAdd(NVAdjustField, Adj, <span class="stringliteral">"adj"</span>);</div>
+<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>   }</div>
+<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div>
+<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>   <span class="comment">// FIXME PR15713: Support conversions through virtually derived classes.</span></div>
+<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> </div>
+<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>   <span class="comment">// Recompose dst from the null struct and the adjusted fields from src.</span></div>
+<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Dst;</div>
+<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(IsFunc, DstInheritance)) {</div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>     Dst = FirstField;</div>
+<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>     Dst = llvm::UndefValue::get(DstNull->getType());</div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>     <span class="keywordtype">unsigned</span> Idx = 0;</div>
+<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>     Dst = Builder.CreateInsertValue(Dst, FirstField, Idx++);</div>
+<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(IsFunc, DstInheritance))</div>
+<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>       Dst = Builder.CreateInsertValue(</div>
+<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>         Dst, getValueOrZeroInt(NonVirtualBaseAdjustment), Idx++);</div>
+<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(DstInheritance))</div>
+<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>       Dst = Builder.CreateInsertValue(</div>
+<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>         Dst, getValueOrZeroInt(VBPtrOffset), Idx++);</div>
+<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(DstInheritance))</div>
+<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>       Dst = Builder.CreateInsertValue(</div>
+<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>         Dst, getValueOrZeroInt(VirtualBaseAdjustmentOffset), Idx++);</div>
+<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>   }</div>
+<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>   Builder.CreateBr(ContinueBB);</div>
+<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span> </div>
+<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>   <span class="comment">// In the continuation, choose between DstNull and Dst.</span></div>
+<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>   CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#afdec5412ab40bb1923c689fe093f8871">EmitBlock</a>(ContinueBB);</div>
+<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>   llvm::PHINode *Phi = Builder.CreatePHI(DstNull->getType(), 2, <span class="stringliteral">"memptr.converted"</span>);</div>
+<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>   Phi->addIncoming(DstNull, OriginalBB);</div>
+<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>   Phi->addIncoming(Dst, ConvertBB);</div>
+<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>   <span class="keywordflow">return</span> Phi;</div>
+<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> }</div>
+<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span> </div>
+<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> llvm::Constant *</div>
+<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span> MicrosoftCXXABI::EmitMemberPointerConversion(<span class="keyword">const</span> <a class="code" href="classclang_1_1CastExpr.html">CastExpr</a> *E,</div>
+<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>                                              llvm::Constant *Src) {</div>
+<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *SrcTy =</div>
+<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>     E-><a class="code" href="classclang_1_1CastExpr.html#a37e3d80c4ca590eadbe49e400c50134b">getSubExpr</a>()-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a>>();</div>
+<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *DstTy = E-><a class="code" href="classclang_1_1Expr.html#a3dd8850a4ad8a5b5f595dd9e9446187b">getType</a>()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a>>();</div>
+<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> </div>
+<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>   <span class="comment">// If src is null, emit a new null for dst.  We can't return src because dst</span></div>
+<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>   <span class="comment">// might have a new representation.</span></div>
+<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>   <span class="keywordflow">if</span> (MemberPointerConstantIsNull(SrcTy, Src))</div>
+<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>     <span class="keywordflow">return</span> EmitNullMemberPointer(DstTy);</div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span> </div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>   <span class="comment">// We don't need to do anything for reinterpret_casts of non-null member</span></div>
+<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>   <span class="comment">// pointers.  We should only get here when the two type representations have</span></div>
+<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>   <span class="comment">// the same size.</span></div>
+<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>   <span class="keywordflow">if</span> (E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8cafe996870a0a2acb7913b2dfff4514961">CK_ReinterpretMemberPointer</a>)</div>
+<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>     <span class="keywordflow">return</span> Src;</div>
+<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span> </div>
+<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> SrcInheritance = <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8b8157a6835bb4269f026f626759fb6c">getInheritanceFromMemptr</a>(SrcTy);</div>
+<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> DstInheritance = <a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a8b8157a6835bb4269f026f626759fb6c">getInheritanceFromMemptr</a>(DstTy);</div>
+<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> </div>
+<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>   <span class="comment">// Decompose src.</span></div>
+<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>   llvm::Constant *FirstField = Src;</div>
+<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>   llvm::Constant *NonVirtualBaseAdjustment = 0;</div>
+<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>   llvm::Constant *VirtualBaseAdjustmentOffset = 0;</div>
+<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>   llvm::Constant *VBPtrOffset = 0;</div>
+<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>   <span class="keywordtype">bool</span> IsFunc = SrcTy-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>();</div>
+<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>   <span class="keywordflow">if</span> (!<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(IsFunc, SrcInheritance)) {</div>
+<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>     <span class="comment">// We need to extract values.</span></div>
+<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>     <span class="keywordtype">unsigned</span> I = 0;</div>
+<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>     FirstField = Src->getAggregateElement(I++);</div>
+<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(IsFunc, SrcInheritance))</div>
+<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>       NonVirtualBaseAdjustment = Src->getAggregateElement(I++);</div>
+<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(SrcInheritance))</div>
+<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>       VBPtrOffset = Src->getAggregateElement(I++);</div>
+<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(SrcInheritance))</div>
+<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>       VirtualBaseAdjustmentOffset = Src->getAggregateElement(I++);</div>
+<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>   }</div>
+<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span> </div>
+<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>   <span class="comment">// For data pointers, we adjust the field offset directly.  For functions, we</span></div>
+<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>   <span class="comment">// have a separate field.</span></div>
+<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>   llvm::Constant *Adj = getMemberPointerAdjustment(E);</div>
+<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>   <span class="keywordflow">if</span> (Adj) {</div>
+<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>     Adj = llvm::ConstantExpr::getTruncOrBitCast(Adj, CGM.IntTy);</div>
+<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>     llvm::Constant *&NVAdjustField =</div>
+<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>       IsFunc ? NonVirtualBaseAdjustment : FirstField;</div>
+<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>     <span class="keywordtype">bool</span> IsDerivedToBase = (E-><a class="code" href="classclang_1_1CastExpr.html#a9579ef9370fffd8c5e4bee485eac9265">getCastKind</a>() == <a class="code" href="namespaceclang.html#aa8bdb68daa57cbb2096f354001e2df8ca82cc4f2178c9c3b36d0790c155939350">CK_DerivedToBaseMemberPointer</a>);</div>
+<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>     <span class="keywordflow">if</span> (!NVAdjustField)  <span class="comment">// If this field didn't exist in src, it's zero.</span></div>
+<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>       NVAdjustField = getZeroInt();</div>
+<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>     <span class="keywordflow">if</span> (IsDerivedToBase)</div>
+<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>       NVAdjustField = llvm::ConstantExpr::getNSWSub(NVAdjustField, Adj);</div>
+<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>     <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>       NVAdjustField = llvm::ConstantExpr::getNSWAdd(NVAdjustField, Adj);</div>
+<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>   }</div>
+<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span> </div>
+<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>   <span class="comment">// FIXME PR15713: Support conversions through virtually derived classes.</span></div>
+<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div>
+<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>   <span class="comment">// Recompose dst from the null struct and the adjusted fields from src.</span></div>
+<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a993e611140be0dfd2849611202bede35">hasOnlyOneField</a>(IsFunc, DstInheritance))</div>
+<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>     <span class="keywordflow">return</span> FirstField;</div>
+<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span> </div>
+<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<llvm::Constant *, 4></a> Fields;</div>
+<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>   Fields.push_back(FirstField);</div>
+<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(IsFunc, DstInheritance))</div>
+<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>     Fields.push_back(getConstantOrZeroInt(NonVirtualBaseAdjustment));</div>
+<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(DstInheritance))</div>
+<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>     Fields.push_back(getConstantOrZeroInt(VBPtrOffset));</div>
+<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>   <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(DstInheritance))</div>
+<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>     Fields.push_back(getConstantOrZeroInt(VirtualBaseAdjustmentOffset));</div>
+<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>   <span class="keywordflow">return</span> llvm::ConstantStruct::getAnon(Fields);</div>
+<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span> }</div>
+<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> </div>
+<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span> <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *</div>
+<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span> MicrosoftCXXABI::EmitLoadOfMemberFunctionPointer(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>                                                  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *&This,</div>
+<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>                                                  <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *MemPtr,</div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>                                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT) {</div>
+<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>   assert(MPT-><a class="code" href="classclang_1_1MemberPointerType.html#aa8af73683ceba3bb02274d4ea9de2c00">isMemberFunctionPointer</a>());</div>
+<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1FunctionProtoType.html">FunctionProtoType</a> *FPT =</div>
+<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>     MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a3f0b2f25c4ad91d2e8bd2752d9552199">getPointeeType</a>()-><a class="code" href="classclang_1_1Type.html#ac4a3f2c505332c3c556bd20497d1a5c3">castAs</a><<a class="code" href="classclang_1_1FunctionProtoType.html">FunctionProtoType</a>>();</div>
+<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = MPT-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>()-><a class="code" href="classclang_1_1Type.html#a7dc6c3dbc192ad98871c3cc484376b9a" title="Retrieves the CXXRecordDecl that this type refers to, either because the type is a RecordType or beca...">getAsCXXRecordDecl</a>();</div>
+<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>   llvm::FunctionType *FTy =</div>
+<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>     CGM.getTypes().GetFunctionType(</div>
+<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>       CGM.getTypes().arrangeCXXMethodType(RD, FPT));</div>
+<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>   <a class="code" href="namespaceclang_1_1CodeGen.html#a5b4df39d75df3cedee71cc42402cc621">CGBuilderTy</a> &Builder = CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a982c1e3091df3de75723921687460d3d">Builder</a>;</div>
+<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span> </div>
+<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>   <a class="code" href="namespaceclang.html#ad3b44399e5a02cb6427596a4489bb3ae" title="The inheritance model to use for member pointers of a given CXXRecordDecl.">MSInheritanceModel</a> Inheritance = RD->getMSInheritanceModel();</div>
+<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span> </div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>   <span class="comment">// Extract the fields we need, regardless of model.  We'll apply them if we</span></div>
+<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>   <span class="comment">// have them.</span></div>
+<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *FunctionPointer = MemPtr;</div>
+<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *NonVirtualBaseAdjustment = <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VirtualBaseAdjustmentOffset = <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>   <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *VBPtrOffset = <a class="code" href="stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>;</div>
+<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>   <span class="keywordflow">if</span> (MemPtr->getType()->isStructTy()) {</div>
+<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>     <span class="comment">// We need to extract values.</span></div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>     <span class="keywordtype">unsigned</span> I = 0;</div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>     FunctionPointer = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a7adf6a2da2a5cb2425918ebb8507429f">hasNonVirtualBaseAdjustmentField</a>(MPT, Inheritance))</div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>       NonVirtualBaseAdjustment = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a34f164e3b0213967abc67c8ef4abc51d">hasVBPtrOffsetField</a>(Inheritance))</div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>       VBPtrOffset = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>     <span class="keywordflow">if</span> (<a class="code" href="CodeGen_2MicrosoftCXXABI_8cpp.html#a68595e9d7282262b55c5b8de7110bdb6">hasVirtualBaseAdjustmentField</a>(Inheritance))</div>
+<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>       VirtualBaseAdjustmentOffset = Builder.CreateExtractValue(MemPtr, I++);</div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>   }</div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> </div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>   <span class="keywordflow">if</span> (VirtualBaseAdjustmentOffset) {</div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>     This = AdjustVirtualBase(CGF, RD, This, VirtualBaseAdjustmentOffset,</div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>                              VBPtrOffset);</div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>   }</div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> </div>
+<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>   <span class="keywordflow">if</span> (NonVirtualBaseAdjustment) {</div>
+<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>     <span class="comment">// Apply the adjustment and cast back to the original struct type.</span></div>
+<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>     <a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">llvm::Value</a> *Ptr = Builder.CreateBitCast(This, Builder.getInt8PtrTy());</div>
+<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>     Ptr = Builder.CreateInBoundsGEP(Ptr, NonVirtualBaseAdjustment);</div>
+<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>     This = Builder.CreateBitCast(Ptr, This->getType(), <span class="stringliteral">"this.adjusted"</span>);</div>
+<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>   }</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>   <span class="keywordflow">return</span> Builder.CreateBitCast(FunctionPointer, FTy->getPointerTo());</div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> }</div>
+<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span> </div>
+<div class="line"><a name="l01939"></a><span class="lineno"><a class="code" href="namespaceclang_1_1CodeGen.html#aefad9804fcec4bf28c8c010a38840db7"> 1939</a></span> <a class="code" href="classclang_1_1CodeGen_1_1CGCXXABI.html" title="Implements C++ ABI-specific code generation functions.">CGCXXABI</a> *<a class="code" href="namespaceclang_1_1CodeGen.html#aefad9804fcec4bf28c8c010a38840db7" title="Creates a Microsoft-family ABI.">clang::CodeGen::CreateMicrosoftCXXABI</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &CGM) {</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>   <span class="keywordflow">return</span> <span class="keyword">new</span> MicrosoftCXXABI(CGM);</div>
+<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:43 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2ItaniumCXXABI_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2ItaniumCXXABI_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2ItaniumCXXABI_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2ItaniumCXXABI_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,669 @@
+<!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: ItaniumCXXABI.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_373837989a1dc63be881832a195d38c3.html">CodeGen</a></li><li class="navelem"><a class="el" href="dir_e8103833ce80ba077e945e011f96d4ad.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CodeGen/Release+Asserts/ItaniumCXXABI.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CodeGen_2Release_09Asserts_2ItaniumCXXABI_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/CodeGen/Release+Asserts/ItaniumCXXABI.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/Release+Asserts/ItaniumCXXABI.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  ItaniumCXXABI.cpp CGCXXABI.h CodeGenFunction.h CGBuilder.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/include/llvm/IR/IRBuilder.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/IR/BasicBlock.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/IR/User.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/IR/Use.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/Support/DebugLoc.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.def \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/IR/SymbolTableListTraits.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/IR/DataLayout.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/IR/Type.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/PassSupport.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/InitializePasses.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/PassRegistry.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/Valgrind.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/IR/Instructions.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/IR/Attributes.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="namespaceclang.html#ae6d16e133294b0b9c8c8d3108aadd25b" title="CallingConv - Specifies the calling convention that a function uses.">CallingConv</a>.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/IR/InstrTypes.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/IR/OperandTraits.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/IR/LLVMContext.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/IR/Operator.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/IR/Constants.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/IR/Constant.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/Support/ConstantFolder.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/Support/ValueHandle.h CGDebugInfo.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/include/llvm/DIBuilder.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/include/llvm/DebugInfo.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/include/llvm/IR/Metadata.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/include/llvm/Support/Dwarf.h CGValue.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h EHScopeStack.h \
+ CodeGenModule.h CGVTables.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ABI.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/include/llvm/IR/GlobalVariable.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/include/llvm/IR/GlobalValue.h CodeGenTypes.h \
+ CGCall.h ABIInfo.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/include/llvm/IR/Module.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/include/llvm/IR/Function.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/include/llvm/IR/Argument.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/include/llvm/IR/GlobalAlias.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Mangle.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>  /home/tstellar/llvm/include/llvm/Support/Debug.h CGRecordLayout.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>  /home/tstellar/llvm/include/llvm/IR/Intrinsics.h \</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>  /home/tstellar/llvm/include/llvm/IR/Intrinsics.gen</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> CGCXXABI.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> CodeGenFunction.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> CGBuilder.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/include/llvm/IR/IRBuilder.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/include/llvm/IR/BasicBlock.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/include/llvm/IR/Instruction.h:</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> /home/tstellar/llvm/include/llvm/IR/User.h:</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h:</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> </div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> /home/tstellar/llvm/include/llvm/IR/Use.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/include/llvm/Support/DebugLoc.h:</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> /home/tstellar/llvm/include/llvm/IR/Instruction.def:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/include/llvm/IR/SymbolTableListTraits.h:</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/include/llvm/IR/DataLayout.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/include/llvm/IR/Type.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/include/llvm/ADT/APInt.h:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/include/llvm/Pass.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/include/llvm/PassSupport.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> /home/tstellar/llvm/include/llvm/Pass.h:</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> /home/tstellar/llvm/include/llvm/InitializePasses.h:</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> </div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> /home/tstellar/llvm/include/llvm/PassRegistry.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/include/llvm/Support/Atomic.h:</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> /home/tstellar/llvm/include/llvm/Support/Valgrind.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> /home/tstellar/llvm/include/llvm/IR/Instructions.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> /home/tstellar/llvm/include/llvm/IR/Attributes.h:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/include/llvm/IR/<a class="code" href="namespaceclang.html#ae6d16e133294b0b9c8c8d3108aadd25b" title="CallingConv - Specifies the calling convention that a function uses.">CallingConv</a>.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> /home/tstellar/llvm/include/llvm/IR/InstrTypes.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> /home/tstellar/llvm/include/llvm/IR/OperandTraits.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/include/llvm/IR/LLVMContext.h:</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> /home/tstellar/llvm/include/llvm/IR/Operator.h:</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span> /home/tstellar/llvm/include/llvm/IR/Constants.h:</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span> </div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> /home/tstellar/llvm/include/llvm/IR/Constant.h:</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span> /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/include/llvm/Support/ConstantFolder.h:</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> /home/tstellar/llvm/include/llvm/Support/ValueHandle.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> CGDebugInfo.h:</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> </div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> /home/tstellar/llvm/include/llvm/ADT/APSInt.h:</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> </div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> </div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span> </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> </div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> </div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span> </div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span> </div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> </div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> </div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00389"></a><span class="lineno">  389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> /home/tstellar/llvm/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> </div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> /home/tstellar/llvm/include/llvm/Support/system_error.h:</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> </div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Stmt.h:</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtIterator.h:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtNodes.inc:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span> </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.h:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TypeTraits.h:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Builtins.def:</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> /home/tstellar/llvm/include/llvm/DIBuilder.h:</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> /home/tstellar/llvm/include/llvm/DebugInfo.h:</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h:</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> /home/tstellar/llvm/include/llvm/IR/Metadata.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> /home/tstellar/llvm/include/llvm/Support/Dwarf.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> CGValue.h:</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span> </div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> </div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTTypeTraits.h:</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span> </div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLoc.h:</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span> </div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CanonicalType.h:</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> </div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> </div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span> </div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ObjCRuntime.h:</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> </div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> /home/tstellar/llvm/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span> </div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.def:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OpenCLExtensions.def:</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> </div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileManager.h:</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span> </div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileSystemOptions.h:</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> </div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> </div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> </div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> </div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> EHScopeStack.h:</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> </div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> CodeGenModule.h:</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> </div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> CGVTables.h:</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> </div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h:</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> </div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h:</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> </div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> </div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> </div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> </div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00521"></a><span class="lineno">  521</span> </div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ABI.h:</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> </div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.h:</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> </div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeOrdering.h:</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</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> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> </div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.h:</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> </div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span> </div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> /home/tstellar/llvm/include/llvm/IR/GlobalVariable.h:</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> </div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> /home/tstellar/llvm/include/llvm/IR/GlobalValue.h:</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> </div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> CodeGenTypes.h:</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span> CGCall.h:</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> ABIInfo.h:</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span> </div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h:</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span> /home/tstellar/llvm/include/llvm/IR/Module.h:</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> </div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> /home/tstellar/llvm/include/llvm/IR/Function.h:</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> </div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> /home/tstellar/llvm/include/llvm/IR/Argument.h:</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> </div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> /home/tstellar/llvm/include/llvm/IR/GlobalAlias.h:</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span> </div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> </div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> </div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> </div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> </div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Mangle.h:</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span> </div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> </div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h:</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> </div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetInfo.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetCXXABI.h:</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span> </div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> /home/tstellar/llvm/include/llvm/Support/Debug.h:</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> CGRecordLayout.h:</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span> </div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> /home/tstellar/llvm/include/llvm/IR/Intrinsics.h:</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> </div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> /home/tstellar/llvm/include/llvm/IR/Intrinsics.gen:</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:41 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/CodeGen_2Release_09Asserts_2MicrosoftCXXABI_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2MicrosoftCXXABI_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2MicrosoftCXXABI_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CodeGen_2Release_09Asserts_2MicrosoftCXXABI_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,666 @@
+<!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: MicrosoftCXXABI.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_373837989a1dc63be881832a195d38c3.html">CodeGen</a></li><li class="navelem"><a class="el" href="dir_e8103833ce80ba077e945e011f96d4ad.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CodeGen/Release+Asserts/MicrosoftCXXABI.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CodeGen_2Release_09Asserts_2MicrosoftCXXABI_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/CodeGen/Release+Asserts/MicrosoftCXXABI.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/Release+Asserts/MicrosoftCXXABI.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  MicrosoftCXXABI.cpp CGCXXABI.h CodeGenFunction.h CGBuilder.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/include/llvm/IR/IRBuilder.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/IR/BasicBlock.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/IR/User.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/IR/Use.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/Support/DebugLoc.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.def \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/IR/SymbolTableListTraits.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/IR/DataLayout.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/IR/Type.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/PassSupport.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/include/llvm/InitializePasses.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/PassRegistry.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/Support/Valgrind.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/IR/Instructions.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/IR/Attributes.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="namespaceclang.html#ae6d16e133294b0b9c8c8d3108aadd25b" title="CallingConv - Specifies the calling convention that a function uses.">CallingConv</a>.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/include/llvm/IR/InstrTypes.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/include/llvm/IR/OperandTraits.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/IR/LLVMContext.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/IR/Operator.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/IR/Constants.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/IR/Constant.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/Support/ConstantFolder.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/Support/ValueHandle.h CGDebugInfo.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/include/llvm/DIBuilder.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/include/llvm/DebugInfo.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/include/llvm/IR/Metadata.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/include/llvm/Support/Dwarf.h CGValue.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h EHScopeStack.h \
+ CodeGenModule.h CGVTables.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ABI.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/include/llvm/IR/GlobalVariable.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/include/llvm/IR/GlobalValue.h CodeGenTypes.h \
+ CGCall.h ABIInfo.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/include/llvm/IR/Module.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/include/llvm/IR/Function.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/include/llvm/IR/Argument.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/include/llvm/IR/GlobalAlias.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Mangle.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>  /home/tstellar/llvm/include/llvm/Support/Debug.h MicrosoftVBTables.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>  /home/tstellar/llvm/include/llvm/ADT/StringSet.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> CGCXXABI.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> CodeGenFunction.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> CGBuilder.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/IR/IRBuilder.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/Support/Compiler.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/Config/llvm-config.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/Support/MathExtras.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.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/Support/type_traits.h:</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> /home/tstellar/llvm/include/llvm/ADT/Twine.h:</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> /home/tstellar/llvm/include/llvm/IR/BasicBlock.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> /home/tstellar/llvm/include/llvm/IR/Instruction.h:</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/include/llvm/IR/User.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/include/llvm/IR/Use.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/PointerIntPair.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.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/CBindingWrapping.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/Casting.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-c/Core.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/include/llvm/Support/DebugLoc.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/IR/Instruction.def:</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/IR/SymbolTableListTraits.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/IR/DataLayout.h:</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.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/IR/DerivedTypes.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/IR/Type.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/APFloat.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/include/llvm/ADT/APInt.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/include/llvm/Pass.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/PassSupport.h:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/include/llvm/Pass.h:</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span> /home/tstellar/llvm/include/llvm/InitializePasses.h:</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> /home/tstellar/llvm/include/llvm/PassRegistry.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/include/llvm/Support/Atomic.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/include/llvm/Support/Valgrind.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> /home/tstellar/llvm/include/llvm/IR/Instructions.h:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/include/llvm/IR/Attributes.h:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.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/IR/<a class="code" href="namespaceclang.html#ae6d16e133294b0b9c8c8d3108aadd25b" title="CallingConv - Specifies the calling convention that a function uses.">CallingConv</a>.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/IR/InstrTypes.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/IR/OperandTraits.h:</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> /home/tstellar/llvm/include/llvm/IR/LLVMContext.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/include/llvm/IR/Operator.h:</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/include/llvm/IR/Constants.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/IR/Constant.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.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/ConstantFolder.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/ValueHandle.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> CGDebugInfo.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/CodeGen/../../include/clang/AST/Expr.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/CodeGen/../../include/clang/AST/APValue.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/CodeGen/../../include/clang/Basic/LLVM.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/include/llvm/ADT/APSInt.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/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.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/CodeGen/../../include/clang/AST/Decl.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/CodeGen/../../include/clang/AST/DeclBase.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/CodeGen/../../include/clang/AST/DeclarationName.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/CodeGen/../../include/clang/Basic/IdentifierTable.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/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.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/CodeGen/../../include/clang/Basic/OperatorKinds.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/CodeGen/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.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/include/llvm/ADT/SmallString.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/include/llvm/ADT/StringMap.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/CodeGen/../../include/clang/Basic/PartialDiagnostic.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/CodeGen/../../include/clang/Basic/Diagnostic.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/CodeGen/../../include/clang/Basic/DiagnosticIDs.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/include/llvm/ADT/IntrusiveRefCntPtr.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/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/CodeGen/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def:</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/CodeGen/../../include/clang/Basic/SourceLocation.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/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="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/CodeGen/../../include/clang/Basic/Specifiers.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/include/llvm/Support/PrettyStackTrace.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/CodeGen/../../include/clang/AST/DeclNodes.inc:</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/CodeGen/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.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/CodeGen/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> /home/tstellar/llvm/include/llvm/ADT/Optional.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/CodeGen/../../include/clang/AST/TypeNodes.def:</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/CodeGen/../../include/clang/AST/BuiltinTypes.def:</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/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.h:</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span> /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h:</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.h:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> /home/tstellar/llvm/include/llvm/Support/system_error.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/CodeGen/../../include/clang/AST/DeclAccessPair.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/CodeGen/../../include/clang/AST/OperationKinds.h:</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span> </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Stmt.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/CodeGen/../../include/clang/AST/DeclGroup.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/CodeGen/../../include/clang/AST/StmtIterator.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/CodeGen/../../include/clang/Basic/CapturedStmt.h:</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtNodes.inc:</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/CodeGen/../../include/clang/AST/TemplateBase.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/CodeGen/../../include/clang/Basic/CharInfo.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/CodeGen/../../include/clang/Basic/TypeTraits.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/CodeGen/../../include/clang/Basic/Builtins.def:</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/CodeGen/../../include/clang/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> /home/tstellar/llvm/include/llvm/DIBuilder.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/include/llvm/DebugInfo.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/include/llvm/ADT/SmallPtrSet.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/include/llvm/IR/Metadata.h:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> /home/tstellar/llvm/include/llvm/Support/Dwarf.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> CGValue.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/CodeGen/../../include/clang/AST/ASTContext.h:</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span> </div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTTypeTraits.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/CodeGen/../../include/clang/AST/ASTFwd.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/CodeGen/../../include/clang/AST/TypeLoc.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/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CanonicalType.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/CodeGen/../../include/clang/AST/CommentCommandTraits.h:</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span> </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span> </div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.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/CodeGen/../../include/clang/Basic/LangOptions.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/CodeGen/../../include/clang/Basic/ObjCRuntime.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/CodeGen/../../include/clang/Basic/VersionTuple.h:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> /home/tstellar/llvm/include/llvm/ADT/Triple.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/CodeGen/../../include/clang/Basic/Sanitizers.def:</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.def:</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/CodeGen/../../include/clang/Basic/OpenCLExtensions.def:</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/tools/clang/lib/CodeGen/../../include/clang/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.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/CodeGen/../../include/clang/Basic/FileManager.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/CodeGen/../../include/clang/Basic/FileSystemOptions.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/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h:</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> EHScopeStack.h:</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> CodeGenModule.h:</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span> CGVTables.h:</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span> </div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h:</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span> </div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h:</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span> </div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span> </div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h:</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> </div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span> </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span> </div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.h:</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span> </div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h:</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span> </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../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="l00520"></a><span class="lineno">  520</span> </div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ABI.h:</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.h:</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span> </div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeOrdering.h:</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span> </div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span> </div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span> </div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.h:</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> </div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span> /home/tstellar/llvm/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span> /home/tstellar/llvm/include/llvm/IR/GlobalVariable.h:</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span> </div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> /home/tstellar/llvm/include/llvm/IR/GlobalValue.h:</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span> </div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span> CodeGenTypes.h:</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span> </div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span> CGCall.h:</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> ABIInfo.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h:</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span> </div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> /home/tstellar/llvm/include/llvm/IR/Module.h:</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> /home/tstellar/llvm/include/llvm/IR/Function.h:</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> </div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> /home/tstellar/llvm/include/llvm/IR/Argument.h:</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> </div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> /home/tstellar/llvm/include/llvm/IR/GlobalAlias.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.h:</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrKinds.h:</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> </div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc:</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span> </div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span> </div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc:</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span> </div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Mangle.h:</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.h:</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span> </div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span> /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h:</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetInfo.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetCXXABI.h:</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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetOptions.h:</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span> </div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> /home/tstellar/llvm/include/llvm/Support/Debug.h:</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> MicrosoftVBTables.h:</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> /home/tstellar/llvm/include/llvm/ADT/StringSet.h:</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:43 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>

Added: www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommandLineSourceLoc_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommandLineSourceLoc_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommandLineSourceLoc_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommandLineSourceLoc_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,166 @@
+<!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: CommandLineSourceLoc.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_3e61bbac0c8515a3c083eb51d03eb390.html">include</a></li><li class="navelem"><a class="el" href="dir_ee4f288247dc2d9ccd0382aea6916312.html">clang</a></li><li class="navelem"><a class="el" href="dir_86a50fedfdd177331e407e41b0c0394f.html">Frontend</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CommandLineSourceLoc.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommandLineSourceLoc_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> </div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//===--- CommandLineSourceLoc.h - Parsing for source locations-*- C++ -*---===//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">// License. See LICENSE.TXT for details.</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">//</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// Command line parsing for source locations.</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_FRONTEND_COMMANDLINESOURCELOC_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_FRONTEND_COMMANDLINESOURCELOC_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="LLVM_8h.html" title="Forward declares and imports various common LLVM datatypes that clang wants to use unqualified...">clang/Basic/LLVM.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "llvm/Support/CommandLine.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="comment"></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment">/// \brief A source location that has been parsed on the command line.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="structclang_1_1ParsedSourceLocation.html">   25</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1ParsedSourceLocation.html" title="A source location that has been parsed on the command line.">ParsedSourceLocation</a> {</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">   26</a></span>   std::string <a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="structclang_1_1ParsedSourceLocation.html#a06f4d9edc6baa398219dc2ba702f22ed">   27</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1ParsedSourceLocation.html#a06f4d9edc6baa398219dc2ba702f22ed">Line</a>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="structclang_1_1ParsedSourceLocation.html#a9b37cc5758c96017fc78fe52aec95c29">   28</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1ParsedSourceLocation.html#a9b37cc5758c96017fc78fe52aec95c29">Column</a>;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">  /// Construct a parsed source location from a string; the Filename is empty on</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">  /// error.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="structclang_1_1ParsedSourceLocation.html#acdc074ebe043044411f36b473bd528bf">   33</a></span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1ParsedSourceLocation.html" title="A source location that has been parsed on the command line.">ParsedSourceLocation</a> <a class="code" href="structclang_1_1ParsedSourceLocation.html#acdc074ebe043044411f36b473bd528bf">FromString</a>(StringRef Str) {</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>     <a class="code" href="structclang_1_1ParsedSourceLocation.html" title="A source location that has been parsed on the command line.">ParsedSourceLocation</a> PSL;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>     std::pair<StringRef, StringRef> ColSplit = Str.rsplit(<span class="charliteral">':'</span>);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>     std::pair<StringRef, StringRef> LineSplit =</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>       ColSplit.first.rsplit(<span class="charliteral">':'</span>);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     <span class="comment">// If both tail splits were valid integers, return success.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     <span class="keywordflow">if</span> (!ColSplit.second.getAsInteger(10, PSL.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a9b37cc5758c96017fc78fe52aec95c29">Column</a>) &&</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>         !LineSplit.second.getAsInteger(10, PSL.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a06f4d9edc6baa398219dc2ba702f22ed">Line</a>)) {</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>       PSL.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a> = LineSplit.first;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>       <span class="comment">// On the command-line, stdin may be specified via "-". Inside the</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>       <span class="comment">// compiler, stdin is called "<stdin>".</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>       <span class="keywordflow">if</span> (PSL.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a> == <span class="stringliteral">"-"</span>)</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>         PSL.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a> = <span class="stringliteral">"<stdin>"</span>;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>     }</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     <span class="keywordflow">return</span> PSL;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   }</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> };</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="namespacellvm_1_1cl.html">   57</a></span>   <span class="keyword">namespace </span>cl {<span class="comment"></span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">    /// \brief Command-line option parser that parses source locations.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">    ///</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">    /// Source locations are of the form filename:line:column.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment"></span>    <span class="keyword">template</span><></div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classllvm_1_1cl_1_1parser_3_01clang_1_1ParsedSourceLocation_01_4.html">   62</a></span>     <span class="keyword">class </span>parser<clang::ParsedSourceLocation></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>       : <span class="keyword">public</span> <a class="code" href="classbasic__parser.html">basic_parser</a><clang::ParsedSourceLocation> {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>     <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>       <span class="keyword">inline</span> <span class="keywordtype">bool</span> parse(Option &O, StringRef ArgName, StringRef ArgValue,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>                  <a class="code" href="structclang_1_1ParsedSourceLocation.html" title="A source location that has been parsed on the command line.">clang::ParsedSourceLocation</a> &Val);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>     };</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>     <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>     <a class="code" href="classllvm_1_1cl_1_1parser_3_01clang_1_1ParsedSourceLocation_01_4.html#a1df8026f18e81c2e87fa6db37608e93b">parser<clang::ParsedSourceLocation>::</a></div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="classllvm_1_1cl_1_1parser_3_01clang_1_1ParsedSourceLocation_01_4.html#a1df8026f18e81c2e87fa6db37608e93b">   71</a></span> <a class="code" href="classllvm_1_1cl_1_1parser_3_01clang_1_1ParsedSourceLocation_01_4.html#a1df8026f18e81c2e87fa6db37608e93b">    parse</a>(Option &O, StringRef ArgName, StringRef ArgValue,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>           <a class="code" href="structclang_1_1ParsedSourceLocation.html" title="A source location that has been parsed on the command line.">clang::ParsedSourceLocation</a> &Val) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>       <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>       Val = ParsedSourceLocation::FromString(ArgValue);</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>       <span class="keywordflow">if</span> (Val.<a class="code" href="structclang_1_1ParsedSourceLocation.html#a917c224d7d608bc1cf3aebdf4a0cbf7f">FileName</a>.empty()) {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>         errs() << <span class="stringliteral">"error: "</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>                << <span class="stringliteral">"source location must be of the form filename:line:column\n"</span>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>         <span class="keywordflow">return</span> <span class="keyword">true</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> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>     }</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   }</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> }</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 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/CommentBriefParser_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,234 @@
+<!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: CommentBriefParser.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_d3636efc55c6148efe36c59ffa01cb41.html">AST</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CommentBriefParser.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommentBriefParser_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">//===--- CommentBriefParser.cpp - Dumb comment parser ---------------------===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="preprocessor">#include "<a class="code" href="CommentBriefParser_8h.html">clang/AST/CommentBriefParser.h</a>"</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor">#include "<a class="code" href="CommentCommandTraits_8h.html">clang/AST/CommentCommandTraits.h</a>"</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor">#include "llvm/ADT/StringSwitch.h"</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="keyword">namespace </span>comments {</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> </div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(<span class="keywordtype">char</span> C) {</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>   <span class="keywordflow">return</span> C == <span class="charliteral">' '</span> || C == <span class="charliteral">'\n'</span> || C == <span class="charliteral">'\r'</span> ||</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>          C == <span class="charliteral">'\t'</span> || C == <span class="charliteral">'\f'</span> || C == <span class="charliteral">'\v'</span>;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> }</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="comment"></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="comment">/// Convert all whitespace into spaces, remove leading and trailing spaces,</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment">/// compress multiple spaces into one.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment"></span><span class="keywordtype">void</span> cleanupBrief(std::string &<a class="code" href="AnalysisBasedWarnings_8cpp.html#a33dc45a03958a0bf07b5da2dec4db648">S</a>) {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <span class="keywordtype">bool</span> PrevWasSpace = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   std::string::iterator O = S.begin();</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="keywordflow">for</span> (std::string::iterator I = S.begin(), E = S.end();</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>     <span class="keyword">const</span> <span class="keywordtype">char</span> C = *I;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>     <span class="keywordflow">if</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(C)) {</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>       <span class="keywordflow">if</span> (!PrevWasSpace) {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>         *O++ = <span class="charliteral">' '</span>;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>         PrevWasSpace = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>       }</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>       *O++ = C;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>       PrevWasSpace = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     }</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="keywordflow">if</span> (O != S.begin() && *(O - 1) == <span class="charliteral">' '</span>)</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>     --O;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   S.resize(O - S.begin());</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> }</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(StringRef Text) {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="keywordflow">for</span> (StringRef::const_iterator I = Text.begin(), E = Text.end();</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>        I != E; ++I) {</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>     <span class="keywordflow">if</span> (!<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(*I))</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   }</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> }</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> } <span class="comment">// unnamed namespace</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="classclang_1_1comments_1_1BriefParser.html#aab9d1ce75823eff763173f74548d923e">   58</a></span> <a class="code" href="classclang_1_1comments_1_1BriefParser.html#aab9d1ce75823eff763173f74548d923e">BriefParser::BriefParser</a>(<a class="code" href="classclang_1_1comments_1_1Lexer.html" title="Comment lexer.">Lexer</a> &L, <span class="keyword">const</span> <a class="code" href="classclang_1_1comments_1_1CommandTraits.html">CommandTraits</a> &Traits) :</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>     L(L), Traits(Traits) {</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   <span class="comment">// Get lookahead token.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   ConsumeToken();</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> }</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="classclang_1_1comments_1_1BriefParser.html#a257c87e4ba39396a8181b591c7ef83d1">   64</a></span> std::string <a class="code" href="classclang_1_1comments_1_1BriefParser.html#a257c87e4ba39396a8181b591c7ef83d1" title="Return the best "brief description" we can find.">BriefParser::Parse</a>() {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   std::string FirstParagraphOrBrief;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   std::string ReturnsParagraph;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>   <span class="keywordtype">bool</span> InFirstParagraph = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   <span class="keywordtype">bool</span> InBrief = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keywordtype">bool</span> InReturns = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   <span class="keywordflow">while</span> (Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#a0cab9e6063ce56b6de08c6ca8a57f3db">isNot</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aac4904dc9309fe9cf0fe76ff45d54f265">tok::eof</a>)) {</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>     <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#aa59afabe3fb2b770422a1bf41e4c7880">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aa6a48766d2ea39d447e6ffa3f85ce98d8">tok::text</a>)) {</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>       <span class="keywordflow">if</span> (InFirstParagraph || InBrief)</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>         FirstParagraphOrBrief += Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#a5aa0b43cb0854925f722dad475666636">getText</a>();</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (InReturns)</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>         ReturnsParagraph += Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#a5aa0b43cb0854925f722dad475666636">getText</a>();</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>       ConsumeToken();</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>     }</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#aa59afabe3fb2b770422a1bf41e4c7880">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aaa314958cb5293f45c69e5760d05065ac">tok::backslash_command</a>) || Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#aa59afabe3fb2b770422a1bf41e4c7880">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aa333075dcbeadbe31d3a69b538051c81e">tok::at_command</a>)) {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>       <span class="keyword">const</span> <a class="code" href="structclang_1_1comments_1_1CommandInfo.html" title="Information about a single command.">CommandInfo</a> *Info = Traits.<a class="code" href="classclang_1_1comments_1_1CommandTraits.html#aa2472693c090b50eb9b08ec37125df6e">getCommandInfo</a>(Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#a3297c1833f98a692090d2df42fff2323">getCommandID</a>());</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>       <span class="keywordflow">if</span> (Info-><a class="code" href="structclang_1_1comments_1_1CommandInfo.html#a8f3ac1a2a1c64ac3f8452cf9a59738a7">IsBriefCommand</a>) {</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>         FirstParagraphOrBrief.clear();</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>         InBrief = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>         ConsumeToken();</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>       }</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>       <span class="keywordflow">if</span> (Info-><a class="code" href="structclang_1_1comments_1_1CommandInfo.html#a7fdc253001c32dc8e8b2e9ae1cacaecf" title="True if this command is \returns or an alias.">IsReturnsCommand</a>) {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>         InReturns = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>         InBrief = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>         InFirstParagraph = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>         ReturnsParagraph += <span class="stringliteral">"Returns "</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>         ConsumeToken();</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>       }</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>       <span class="comment">// Block commands implicitly start a new paragraph.</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>       <span class="keywordflow">if</span> (Info-><a class="code" href="structclang_1_1comments_1_1CommandInfo.html#a37e64920d1ba136384a56e3cdc3bd0ab" title="True if this command is a block command (of any kind).">IsBlockCommand</a>) {</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>         <span class="comment">// We found an implicit paragraph end.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>         InFirstParagraph = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>         <span class="keywordflow">if</span> (InBrief)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>       }</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>     }</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>     <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#aa59afabe3fb2b770422a1bf41e4c7880">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aae3f9823808f732e524bb6e6851bf40dd">tok::newline</a>)) {</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>       <span class="keywordflow">if</span> (InFirstParagraph || InBrief)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>         FirstParagraphOrBrief += <span class="charliteral">' '</span>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>       <span class="keywordflow">else</span> <span class="keywordflow">if</span> (InReturns)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>         ReturnsParagraph += <span class="charliteral">' '</span>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>       ConsumeToken();</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="comment">// If the next token is a whitespace only text, ignore it.  Thus we allow</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>       <span class="comment">// two paragraphs to be separated by line that has only whitespace in it.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>       <span class="comment">//</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>       <span class="comment">// We don't need to add a space to the parsed text because we just added</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>       <span class="comment">// a space for the newline.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>       <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#aa59afabe3fb2b770422a1bf41e4c7880">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aa6a48766d2ea39d447e6ffa3f85ce98d8">tok::text</a>)) {</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>         <span class="keywordflow">if</span> (<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#a5aa0b43cb0854925f722dad475666636">getText</a>()))</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>           ConsumeToken();</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>       }</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>       <span class="keywordflow">if</span> (Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#aa59afabe3fb2b770422a1bf41e4c7880">is</a>(<a class="code" href="namespaceclang_1_1comments_1_1tok.html#af269e1299a7e813dd4471ab24630e01aae3f9823808f732e524bb6e6851bf40dd">tok::newline</a>)) {</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>         ConsumeToken();</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>         <span class="comment">// We found a paragraph end.  This ends the brief description if</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>         <span class="comment">// \\brief command or its equivalent was explicitly used.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>         <span class="comment">// Stop scanning text because an explicit \\brief paragraph is the</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>         <span class="comment">// preffered one.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>         <span class="keywordflow">if</span> (InBrief)</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>           <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>         <span class="comment">// End first paragraph if we found some non-whitespace text.</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>         <span class="keywordflow">if</span> (InFirstParagraph && !<a class="code" href="namespaceclang.html#a9e8ee1f386e910f4ea6e2640a5d4617a">isWhitespace</a>(FirstParagraphOrBrief))</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>           InFirstParagraph = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>         <span class="comment">// End the \\returns paragraph because we found the paragraph end.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>         InReturns = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>       }</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>     }</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="comment">// We didn't handle this token, so just drop it.</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     ConsumeToken();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   }</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   cleanupBrief(FirstParagraphOrBrief);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   <span class="keywordflow">if</span> (!FirstParagraphOrBrief.empty())</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>     <span class="keywordflow">return</span> FirstParagraphOrBrief;</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>   cleanupBrief(ReturnsParagraph);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>   <span class="keywordflow">return</span> ReturnsParagraph;</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> </div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> } <span class="comment">// end namespace comments</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> </div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 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/CommentBriefParser_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,226 @@
+<!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: CommentBriefParser.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_d3636efc55c6148efe36c59ffa01cb41.html">AST</a></li><li class="navelem"><a class="el" href="dir_e796beea07674cb14e7827e2d3a82e85.html">Release+Asserts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CommentBriefParser.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommentBriefParser_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/AST/Release+Asserts/CommentBriefParser.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/AST/Release+Asserts/CommentBriefParser.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CommentBriefParser.cpp \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentBriefParser.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentLexer.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.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/ADT/StringRef.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticOptions.def \</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/tools/clang/lib/AST/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h</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> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentBriefParser.h:</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/AST/CommentLexer.h:</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> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/SourceManager.h:</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileManager.h:</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> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/FileSystemOptions.h:</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> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</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> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> /home/tstellar/llvm/include/llvm/ADT/None.h:</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.h:</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.h:</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.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/ADT/OwningPtr.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/ADT/SmallVector.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/ADT/StringMap.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/StringRef.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/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/SmallString.h:</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> /home/tstellar/llvm/include/llvm/ADT/Twine.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/ErrorHandling.h:</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> /home/tstellar/llvm/include/llvm/Support/TimeValue.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/system_error.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/tools/clang/lib/AST/../../include/clang/Basic/SourceLocation.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/ArrayRef.h:</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h:</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> /home/tstellar/llvm/include/llvm-c/Core.h:</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/Diagnostic.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/AST/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> /home/tstellar/llvm/tools/clang/lib/AST/../../include/clang/Basic/DiagnosticOptions.def:</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/raw_ostream.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/AST/../../include/clang/AST/CommentCommandTraits.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/AST/../../include/clang/Basic/CommentOptions.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/AST/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h:</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 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/CommentBriefParser_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentBriefParser_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,134 @@
+<!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: CommentBriefParser.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_6152e82a4845f7e2a2888050f43c34d1.html">AST</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CommentBriefParser.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommentBriefParser_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">//===--- CommentBriefParser.h - Dumb comment parser -------------*- 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 very simple Doxygen comment parser.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> </div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#ifndef LLVM_CLANG_AST_BRIEF_COMMENT_PARSER_H</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CLANG_AST_BRIEF_COMMENT_PARSER_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="CommentLexer_8h.html">clang/AST/CommentLexer.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">namespace </span>comments {</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="comment"></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="comment">/// A very simple comment parser that extracts "a brief description".</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment">/// Due to a variety of comment styles, it considers the following as "a brief</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment">/// description", in order of priority:</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment">/// \li a \\brief or \\short command,</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">/// \li the first paragraph,</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">/// \li a \\result or \\return or \\returns paragraph.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="classclang_1_1comments_1_1BriefParser.html">   30</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1comments_1_1BriefParser.html">BriefParser</a> {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   <a class="code" href="classclang_1_1comments_1_1Lexer.html" title="Comment lexer.">Lexer</a> &L;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1comments_1_1CommandTraits.html">CommandTraits</a> &Traits;</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> <span class="comment">  /// Current lookahead token.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment"></span>  <a class="code" href="classclang_1_1comments_1_1Token.html" title="Comment token.">Token</a> Tok;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> ConsumeToken() {</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     <a class="code" href="classclang_1_1SourceLocation.html" title="Encodes a location in the source. The SourceManager can decode this to get at the full include stack...">SourceLocation</a> Loc = Tok.<a class="code" href="classclang_1_1comments_1_1Token.html#ae3f04439e2165465985bd5e133bc8993">getLocation</a>();</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>     L.<a class="code" href="classclang_1_1comments_1_1Lexer.html#a9c0a739e4f2d1a71da70e72ac3797f71">lex</a>(Tok);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     <span class="keywordflow">return</span> Loc;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   }</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   <a class="code" href="classclang_1_1comments_1_1BriefParser.html#aab9d1ce75823eff763173f74548d923e">BriefParser</a>(<a class="code" href="classclang_1_1comments_1_1Lexer.html" title="Comment lexer.">Lexer</a> &L, <span class="keyword">const</span> <a class="code" href="classclang_1_1comments_1_1CommandTraits.html">CommandTraits</a> &Traits);</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">  /// Return the best "brief description" we can find.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment"></span>  std::string <a class="code" href="classclang_1_1comments_1_1BriefParser.html#a257c87e4ba39396a8181b591c7ef83d1" title="Return the best "brief description" we can find.">Parse</a>();</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> };</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> } <span class="comment">// end namespace comments</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> } <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:29 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/CommentCommandInfo_8inc_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentCommandInfo_8inc_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentCommandInfo_8inc_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CommentCommandInfo_8inc_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,879 @@
+<!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: CommentCommandInfo.inc 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_6152e82a4845f7e2a2888050f43c34d1.html">AST</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CommentCommandInfo.inc</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CommentCommandInfo_8inc.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">/*===- TableGen'erated file -------------------------------------*- 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">|*A list of commands useable in documentation comments                        *|</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">|* Automatically generated file, do not edit!                                 *|</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">|*                                                                            *|</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> </div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="keyword">const</span> CommandInfo Commands[] = {</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>   { <span class="stringliteral">"a"</span>, <span class="stringliteral">""</span>, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>   { <span class="stringliteral">"abstract"</span>, <span class="stringliteral">""</span>, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>   { <span class="stringliteral">"addtogroup"</span>, <span class="stringliteral">""</span>, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>   { <span class="stringliteral">"arg"</span>, <span class="stringliteral">""</span>, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>   { <span class="stringliteral">"attention"</span>, <span class="stringliteral">""</span>, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>   { <span class="stringliteral">"author"</span>, <span class="stringliteral">""</span>, 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>   { <span class="stringliteral">"authors"</span>, <span class="stringliteral">""</span>, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>   { <span class="stringliteral">"b"</span>, <span class="stringliteral">""</span>, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>   { <span class="stringliteral">"brief"</span>, <span class="stringliteral">""</span>, 8, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>   { <span class="stringliteral">"bug"</span>, <span class="stringliteral">""</span>, 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>   { <span class="stringliteral">"c"</span>, <span class="stringliteral">""</span>, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>   { <span class="stringliteral">"callback"</span>, <span class="stringliteral">""</span>, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>   { <span class="stringliteral">"category"</span>, <span class="stringliteral">""</span>, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>   { <span class="stringliteral">"class"</span>, <span class="stringliteral">""</span>, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>   { <span class="stringliteral">"classdesign"</span>, <span class="stringliteral">""</span>, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   { <span class="stringliteral">"coclass"</span>, <span class="stringliteral">""</span>, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   { <span class="stringliteral">"code"</span>, <span class="stringliteral">"endcode"</span>, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   { <span class="stringliteral">"endcode"</span>, <span class="stringliteral">""</span>, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   { <span class="stringliteral">"const"</span>, <span class="stringliteral">""</span>, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>   { <span class="stringliteral">"constant"</span>, <span class="stringliteral">""</span>, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>   { <span class="stringliteral">"copyright"</span>, <span class="stringliteral">""</span>, 20, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>   { <span class="stringliteral">"date"</span>, <span class="stringliteral">""</span>, 21, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   { <span class="stringliteral">"def"</span>, <span class="stringliteral">""</span>, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   { <span class="stringliteral">"defgroup"</span>, <span class="stringliteral">""</span>, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>   { <span class="stringliteral">"dependency"</span>, <span class="stringliteral">""</span>, 24, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>   { <span class="stringliteral">"deprecated"</span>, <span class="stringliteral">""</span>, 25, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   { <span class="stringliteral">"details"</span>, <span class="stringliteral">""</span>, 26, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   { <span class="stringliteral">"discussion"</span>, <span class="stringliteral">""</span>, 27, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   { <span class="stringliteral">"dot"</span>, <span class="stringliteral">"enddot"</span>, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   { <span class="stringliteral">"enddot"</span>, <span class="stringliteral">""</span>, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>   { <span class="stringliteral">"e"</span>, <span class="stringliteral">""</span>, 30, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   { <span class="stringliteral">"em"</span>, <span class="stringliteral">""</span>, 31, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   { <span class="stringliteral">"enum"</span>, <span class="stringliteral">""</span>, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>   { <span class="stringliteral">"exception"</span>, <span class="stringliteral">""</span>, 33, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>   { <span class="stringliteral">"f{"</span>, <span class="stringliteral">"f}"</span>, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   { <span class="stringliteral">"f}"</span>, <span class="stringliteral">""</span>, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>   { <span class="stringliteral">"f["</span>, <span class="stringliteral">"f]"</span>, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>   { <span class="stringliteral">"f]"</span>, <span class="stringliteral">""</span>, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   { <span class="stringliteral">"f$"</span>, <span class="stringliteral">"f$"</span>, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>   { <span class="stringliteral">"fn"</span>, <span class="stringliteral">""</span>, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>   { <span class="stringliteral">"function"</span>, <span class="stringliteral">""</span>, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   { <span class="stringliteral">"functiongroup"</span>, <span class="stringliteral">""</span>, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>   { <span class="stringliteral">"headerfile"</span>, <span class="stringliteral">""</span>, 42, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>   { <span class="stringliteral">"helper"</span>, <span class="stringliteral">""</span>, 43, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   { <span class="stringliteral">"helperclass"</span>, <span class="stringliteral">""</span>, 44, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>   { <span class="stringliteral">"helps"</span>, <span class="stringliteral">""</span>, 45, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>   { <span class="stringliteral">"htmlonly"</span>, <span class="stringliteral">"endhtmlonly"</span>, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   { <span class="stringliteral">"endhtmlonly"</span>, <span class="stringliteral">""</span>, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>   { <span class="stringliteral">"ingroup"</span>, <span class="stringliteral">""</span>, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   { <span class="stringliteral">"instancesize"</span>, <span class="stringliteral">""</span>, 49, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>   { <span class="stringliteral">"interface"</span>, <span class="stringliteral">""</span>, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>   { <span class="stringliteral">"invariant"</span>, <span class="stringliteral">""</span>, 51, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   { <span class="stringliteral">"latexonly"</span>, <span class="stringliteral">"endlatexonly"</span>, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   { <span class="stringliteral">"endlatexonly"</span>, <span class="stringliteral">""</span>, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   { <span class="stringliteral">"li"</span>, <span class="stringliteral">""</span>, 54, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>   { <span class="stringliteral">"link"</span>, <span class="stringliteral">"/link"</span>, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>   { <span class="stringliteral">"/link"</span>, <span class="stringliteral">""</span>, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   { <span class="stringliteral">"mainpage"</span>, <span class="stringliteral">""</span>, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   { <span class="stringliteral">"manonly"</span>, <span class="stringliteral">"endmanonly"</span>, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>   { <span class="stringliteral">"endmanonly"</span>, <span class="stringliteral">""</span>, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>   { <span class="stringliteral">"method"</span>, <span class="stringliteral">""</span>, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>   { <span class="stringliteral">"methodgroup"</span>, <span class="stringliteral">""</span>, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   { <span class="stringliteral">"msc"</span>, <span class="stringliteral">"endmsc"</span>, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>   { <span class="stringliteral">"endmsc"</span>, <span class="stringliteral">""</span>, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>   { <span class="stringliteral">"name"</span>, <span class="stringliteral">""</span>, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>   { <span class="stringliteral">"namespace"</span>, <span class="stringliteral">""</span>, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   { <span class="stringliteral">"note"</span>, <span class="stringliteral">""</span>, 66, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>   { <span class="stringliteral">"overload"</span>, <span class="stringliteral">""</span>, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>   { <span class="stringliteral">"ownership"</span>, <span class="stringliteral">""</span>, 68, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>   { <span class="stringliteral">"p"</span>, <span class="stringliteral">""</span>, 69, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>   { <span class="stringliteral">"par"</span>, <span class="stringliteral">""</span>, 70, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>   { <span class="stringliteral">"paragraph"</span>, <span class="stringliteral">""</span>, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   { <span class="stringliteral">"param"</span>, <span class="stringliteral">""</span>, 72, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>   { <span class="stringliteral">"performance"</span>, <span class="stringliteral">""</span>, 73, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>   { <span class="stringliteral">"post"</span>, <span class="stringliteral">""</span>, 74, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>   { <span class="stringliteral">"pre"</span>, <span class="stringliteral">""</span>, 75, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>   { <span class="stringliteral">"property"</span>, <span class="stringliteral">""</span>, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   { <span class="stringliteral">"protocol"</span>, <span class="stringliteral">""</span>, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>   { <span class="stringliteral">"ref"</span>, <span class="stringliteral">""</span>, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>   { <span class="stringliteral">"related"</span>, <span class="stringliteral">""</span>, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>   { <span class="stringliteral">"relatedalso"</span>, <span class="stringliteral">""</span>, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   { <span class="stringliteral">"relates"</span>, <span class="stringliteral">""</span>, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   { <span class="stringliteral">"relatesalso"</span>, <span class="stringliteral">""</span>, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   { <span class="stringliteral">"remark"</span>, <span class="stringliteral">""</span>, 83, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   { <span class="stringliteral">"remarks"</span>, <span class="stringliteral">""</span>, 84, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   { <span class="stringliteral">"result"</span>, <span class="stringliteral">""</span>, 85, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   { <span class="stringliteral">"return"</span>, <span class="stringliteral">""</span>, 86, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>   { <span class="stringliteral">"returns"</span>, <span class="stringliteral">""</span>, 87, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>   { <span class="stringliteral">"rtfonly"</span>, <span class="stringliteral">"endrtfonly"</span>, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>   { <span class="stringliteral">"endrtfonly"</span>, <span class="stringliteral">""</span>, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>   { <span class="stringliteral">"sa"</span>, <span class="stringliteral">""</span>, 90, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>   { <span class="stringliteral">"section"</span>, <span class="stringliteral">""</span>, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   { <span class="stringliteral">"security"</span>, <span class="stringliteral">""</span>, 92, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   { <span class="stringliteral">"see"</span>, <span class="stringliteral">""</span>, 93, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>   { <span class="stringliteral">"seealso"</span>, <span class="stringliteral">""</span>, 94, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>   { <span class="stringliteral">"short"</span>, <span class="stringliteral">""</span>, 95, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   { <span class="stringliteral">"since"</span>, <span class="stringliteral">""</span>, 96, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>   { <span class="stringliteral">"struct"</span>, <span class="stringliteral">""</span>, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>   { <span class="stringliteral">"subpage"</span>, <span class="stringliteral">""</span>, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>   { <span class="stringliteral">"subsection"</span>, <span class="stringliteral">""</span>, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>   { <span class="stringliteral">"subsubsection"</span>, <span class="stringliteral">""</span>, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   { <span class="stringliteral">"superclass"</span>, <span class="stringliteral">""</span>, 101, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>   { <span class="stringliteral">"template"</span>, <span class="stringliteral">""</span>, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>   { <span class="stringliteral">"templatefield"</span>, <span class="stringliteral">""</span>, 103, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   { <span class="stringliteral">"textblock"</span>, <span class="stringliteral">"/textblock"</span>, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   { <span class="stringliteral">"/textblock"</span>, <span class="stringliteral">""</span>, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   { <span class="stringliteral">"throw"</span>, <span class="stringliteral">""</span>, 106, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   { <span class="stringliteral">"throws"</span>, <span class="stringliteral">""</span>, 107, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   { <span class="stringliteral">"todo"</span>, <span class="stringliteral">""</span>, 108, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>   { <span class="stringliteral">"tparam"</span>, <span class="stringliteral">""</span>, 109, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   { <span class="stringliteral">"typedef"</span>, <span class="stringliteral">""</span>, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   { <span class="stringliteral">"union"</span>, <span class="stringliteral">""</span>, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   { <span class="stringliteral">"var"</span>, <span class="stringliteral">""</span>, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   { <span class="stringliteral">"verbatim"</span>, <span class="stringliteral">"endverbatim"</span>, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>   { <span class="stringliteral">"endverbatim"</span>, <span class="stringliteral">""</span>, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>   { <span class="stringliteral">"version"</span>, <span class="stringliteral">""</span>, 115, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>   { <span class="stringliteral">"warning"</span>, <span class="stringliteral">""</span>, 116, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>   { <span class="stringliteral">"weakgroup"</span>, <span class="stringliteral">""</span>, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>   { <span class="stringliteral">"xmlonly"</span>, <span class="stringliteral">"endxmlonly"</span>, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   { <span class="stringliteral">"endxmlonly"</span>, <span class="stringliteral">""</span>, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }</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="comment">// unnamed namespace</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="keyword">const</span> CommandInfo *CommandTraits::getBuiltinCommandInfo(</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>                                          StringRef Name) {</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   <span class="keywordflow">switch</span> (Name.size()) {</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   <span class="keywordflow">case</span> 1:  <span class="comment">// 5 strings to match.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>     <span class="keywordflow">switch</span> (Name[0]) {</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>     <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>     <span class="keywordflow">case</span> <span class="charliteral">'a'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>       <span class="keywordflow">return</span> &Commands[0];   <span class="comment">// "a"</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>     <span class="keywordflow">case</span> <span class="charliteral">'b'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>       <span class="keywordflow">return</span> &Commands[7];   <span class="comment">// "b"</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>     <span class="keywordflow">case</span> <span class="charliteral">'c'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>       <span class="keywordflow">return</span> &Commands[10];  <span class="comment">// "c"</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     <span class="keywordflow">case</span> <span class="charliteral">'e'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>       <span class="keywordflow">return</span> &Commands[30];  <span class="comment">// "e"</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>     <span class="keywordflow">case</span> <span class="charliteral">'p'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>       <span class="keywordflow">return</span> &Commands[69];  <span class="comment">// "p"</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>     }</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>   <span class="keywordflow">case</span> 2:  <span class="comment">// 9 strings to match.</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     <span class="keywordflow">switch</span> (Name[0]) {</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>     <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>     <span class="keywordflow">case</span> <span class="charliteral">'e'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       <span class="keywordflow">if</span> (Name[1] != <span class="charliteral">'m'</span>)</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>       <span class="keywordflow">return</span> &Commands[31];  <span class="comment">// "em"</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>     <span class="keywordflow">case</span> <span class="charliteral">'f'</span>:  <span class="comment">// 6 strings to match.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>       <span class="keywordflow">switch</span> (Name[1]) {</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>       <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>       <span class="keywordflow">case</span> <span class="charliteral">'$'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>         <span class="keywordflow">return</span> &Commands[38];  <span class="comment">// "f$"</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>       <span class="keywordflow">case</span> <span class="charliteral">'['</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>         <span class="keywordflow">return</span> &Commands[36];  <span class="comment">// "f["</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>       <span class="keywordflow">case</span> <span class="charliteral">']'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>         <span class="keywordflow">return</span> &Commands[37];  <span class="comment">// "f]"</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>       <span class="keywordflow">case</span> <span class="charliteral">'n'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>         <span class="keywordflow">return</span> &Commands[39];  <span class="comment">// "fn"</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>       <span class="keywordflow">case</span> <span class="charliteral">'{'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>         <span class="keywordflow">return</span> &Commands[34];  <span class="comment">// "f{"</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>       <span class="keywordflow">case</span> <span class="charliteral">'}'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>         <span class="keywordflow">return</span> &Commands[35];  <span class="comment">// "f}"</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>       }</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="keywordflow">case</span> <span class="charliteral">'l'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>       <span class="keywordflow">if</span> (Name[1] != <span class="charliteral">'i'</span>)</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>       <span class="keywordflow">return</span> &Commands[54];  <span class="comment">// "li"</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     <span class="keywordflow">case</span> <span class="charliteral">'s'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>       <span class="keywordflow">if</span> (Name[1] != <span class="charliteral">'a'</span>)</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>       <span class="keywordflow">return</span> &Commands[90];  <span class="comment">// "sa"</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     }</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>   <span class="keywordflow">case</span> 3:  <span class="comment">// 10 strings to match.</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     <span class="keywordflow">switch</span> (Name[0]) {</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <span class="keywordflow">case</span> <span class="charliteral">'a'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>       <span class="keywordflow">if</span> (memcmp(Name.data()+1, <span class="stringliteral">"rg"</span>, 2))</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>       <span class="keywordflow">return</span> &Commands[3];   <span class="comment">// "arg"</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     <span class="keywordflow">case</span> <span class="charliteral">'b'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>       <span class="keywordflow">if</span> (memcmp(Name.data()+1, <span class="stringliteral">"ug"</span>, 2))</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>         <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>       <span class="keywordflow">return</span> &Commands[9];   <span class="comment">// "bug"</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     <span class="keywordflow">case</span> <span class="charliteral">'d'</span>:  <span class="comment">// 2 strings to match.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>       <span class="keywordflow">switch</span> (Name[1]) {</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>       <span class="keywordflow">default</span>: <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>       <span class="keywordflow">case</span> <span class="charliteral">'e'</span>:  <span class="comment">// 1 string to match.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>