[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/CGObjC_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGObjC_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGObjC_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGObjC_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,673 @@
+<!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: CGObjC.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">CGObjC.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGObjC_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/CGObjC.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/Release+Asserts/CGObjC.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CGObjC.cpp CGDebugInfo.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 \</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 CGObjCRuntime.h \
+ CGCall.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 \
+ ABIInfo.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</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 \
+ CodeGenFunction.h CodeGenModule.h CGVTables.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.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 \</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 TargetInfo.h \</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtObjC.h \</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>  /home/tstellar/llvm/include/llvm/Support/CallSite.h \</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>  /home/tstellar/llvm/include/llvm/IR/InlineAsm.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> CGDebugInfo.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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.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/APValue.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/Basic/LLVM.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/include/llvm/ADT/APSInt.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/PointerUnion.h:</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.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/AttrIterator.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span> </div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.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/DeclBase.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/DeclarationName.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/Basic/IdentifierTable.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/OperatorKinds.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.def:</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/TokenKinds.h:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.h:</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.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/Diagnostic.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/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span> </div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc:</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/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> </div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> /home/tstellar/llvm/tools/clang/lib/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="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/Specifiers.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc:</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/ExternalASTSource.h:</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.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/Redeclarable.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/Type.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/NestedNameSpecifier.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/TemplateName.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/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="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#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</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/include/llvm/ADT/Optional.h:</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> </div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def:</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/BuiltinTypes.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/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/ADT/OwningPtr.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/Support/TimeValue.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/system_error.h:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.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/OperationKinds.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/Stmt.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/DeclGroup.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/StmtIterator.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/Basic/CapturedStmt.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/AST/StmtNodes.inc:</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/TemplateBase.h:</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.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/TypeTraits.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/Builtins.def:</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/Frontend/CodeGenOptions.h:</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> </div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def:</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> /home/tstellar/llvm/include/llvm/DIBuilder.h:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> /home/tstellar/llvm/include/llvm/DebugInfo.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/ADT/SmallPtrSet.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/IR/Metadata.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/Support/Dwarf.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> CGObjCRuntime.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> CGCall.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> CGValue.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/ASTContext.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/ASTTypeTraits.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/ASTFwd.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/TypeLoc.h:</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def:</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/CanonicalType.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/AST/CommentCommandTraits.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/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc:</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/AST/PrettyPrinter.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/LangOptions.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/ObjCRuntime.h:</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> </div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/VersionTuple.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/include/llvm/ADT/Triple.h:</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span> </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.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/LangOptions.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/Basic/OpenCLExtensions.def:</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/AST/RawCommentList.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/SourceManager.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/FileManager.h:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileSystemOptions.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/ADT/DenseSet.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/include/llvm/Support/MemoryBuffer.h:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span> </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h:</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> </div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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> EHScopeStack.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> ABIInfo.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/DeclObjC.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/<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="l00504"></a><span class="lineno">  504</span> </div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span> CodeGenFunction.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> CodeGenModule.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> CGVTables.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/BaseSubobject.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/AST/GlobalDecl.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/AST/DeclCXX.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/ASTUnresolvedSet.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/UnresolvedSet.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/AST/ExprCXX.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/Basic/ExpressionTraits.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/Basic/Lambda.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/Basic/ABI.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/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.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/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.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/TypeOrdering.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/MapVector.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/ADT/SmallSet.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/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.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> /home/tstellar/llvm/include/llvm/ADT/SetVector.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> /home/tstellar/llvm/include/llvm/IR/GlobalVariable.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> /home/tstellar/llvm/include/llvm/IR/GlobalValue.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> CodeGenTypes.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/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.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/Module.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/Function.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/Argument.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/include/llvm/IR/GlobalAlias.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/AST/Attr.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/AttrKinds.h:</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/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc:</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/include/llvm/ADT/StringSwitch.h:</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/Attrs.inc:</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/AST/Mangle.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/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.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/include/llvm/Transforms/Utils/SpecialCaseList.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/AST/ExprObjC.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/TargetInfo.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/TargetCXXABI.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/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetOptions.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> /home/tstellar/llvm/include/llvm/Support/Debug.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> TargetInfo.h:</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span> </div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtObjC.h:</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> </div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> /home/tstellar/llvm/include/llvm/Support/CallSite.h:</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span> </div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span> /home/tstellar/llvm/include/llvm/IR/InlineAsm.h:</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:25 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/CGOpenCLRuntime_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,143 @@
+<!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: CGOpenCLRuntime.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">CGOpenCLRuntime.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGOpenCLRuntime_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">//===----- CGOpenCLRuntime.cpp - Interface to OpenCL Runtimes -------------===//</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 an abstract class for OpenCL code generation.  Concrete</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// subclasses of this implement code generation for specific OpenCL</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">// runtime libraries.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="CGOpenCLRuntime_8h.html">CGOpenCLRuntime.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="CodeGenFunction_8h.html">CodeGenFunction.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "llvm/IR/DerivedTypes.h"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "llvm/IR/GlobalValue.h"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include <assert.h></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">using namespace </span>CodeGen;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#aea6d5bcb265fc2817679ace4bb02a491">   25</a></span> <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#aea6d5bcb265fc2817679ace4bb02a491">CGOpenCLRuntime::~CGOpenCLRuntime</a>() {}</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#af62c1aa86ee3315731490dbe7b6b7ba5">   27</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#af62c1aa86ee3315731490dbe7b6b7ba5">CGOpenCLRuntime::EmitWorkGroupLocalVarDecl</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>                                                 <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> &D) {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>   <span class="keywordflow">return</span> CGF.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html#a67456de2ca28ad5e4771c440300c35e9">EmitStaticVarDecl</a>(D, <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="l00030"></a><span class="lineno">   30</span> }</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a9d25bcd2a96fe311b7e0d59a5f5ef17d">   32</a></span> llvm::Type *<a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a9d25bcd2a96fe311b7e0d59a5f5ef17d">CGOpenCLRuntime::convertOpenCLSpecificType</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *T) {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>   assert(T-><a class="code" href="classclang_1_1Type.html#ac0fa8c24158a4a16141f41d794c0b5ad">isOpenCLSpecificType</a>() &&</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>          <span class="stringliteral">"Not an OpenCL specific type!"</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">switch</span> (cast<BuiltinType>(T)->getKind()) {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>   <span class="keywordflow">default</span>: </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>     llvm_unreachable(<span class="stringliteral">"Unexpected opencl builtin type!"</span>);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>     <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>   <span class="keywordflow">case</span> BuiltinType::OCLImage1d:</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.image1d_t"</span>), 0);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>   <span class="keywordflow">case</span> BuiltinType::OCLImage1dArray:</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.image1d_array_t"</span>), 0);</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keywordflow">case</span> BuiltinType::OCLImage1dBuffer:</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.image1d_buffer_t"</span>), 0);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>   <span class="keywordflow">case</span> BuiltinType::OCLImage2d:</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.image2d_t"</span>), 0);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>   <span class="keywordflow">case</span> BuiltinType::OCLImage2dArray:</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.image2d_array_t"</span>), 0);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>   <span class="keywordflow">case</span> BuiltinType::OCLImage3d:</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.image3d_t"</span>), 0);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>   <span class="keywordflow">case</span> BuiltinType::OCLSampler:</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>     <span class="keywordflow">return</span> llvm::IntegerType::get(<a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(),32);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>   <span class="keywordflow">case</span> BuiltinType::OCLEvent:</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>     <span class="keywordflow">return</span> llvm::PointerType::get(<a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>                            <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a6c8cff399ad98c730cce0907b1acd44e">getLLVMContext</a>(), <span class="stringliteral">"opencl.event_t"</span>), 0);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>   }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGOpenCLRuntime_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,661 @@
+<!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: CGOpenCLRuntime.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">CGOpenCLRuntime.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGOpenCLRuntime_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/CGOpenCLRuntime.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/Release+Asserts/CGOpenCLRuntime.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CGOpenCLRuntime.cpp CGOpenCLRuntime.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</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="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/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="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</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="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/include/llvm/IR/Type.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/include/llvm/IR/Use.h CodeGenFunction.h CGBuilder.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/IR/IRBuilder.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/IR/BasicBlock.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/IR/User.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/Support/DebugLoc.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.def \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/IR/SymbolTableListTraits.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/IR/DataLayout.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/PassSupport.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/InitializePasses.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/PassRegistry.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/Support/Valgrind.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/IR/Instructions.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm/IR/Attributes.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</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="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/IR/InstrTypes.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/include/llvm/IR/OperandTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/include/llvm/IR/LLVMContext.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/include/llvm/IR/Operator.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/include/llvm/IR/Constants.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/include/llvm/IR/Constant.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/include/llvm/Support/ConstantFolder.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/Support/ValueHandle.h CGDebugInfo.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h \</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</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> CGOpenCLRuntime.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/Support/Casting.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/Support/type_traits.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/DataTypes.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/ADT/None.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/ADT/IntrusiveRefCntPtr.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/Compiler.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/Config/llvm-config.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/ADT/StringRef.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.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/ArrayRef.h:</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.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/Support/AlignOf.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/Support/MathExtras.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/Support/SwapByteOrder.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/ADT/DenseMap.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/DenseMapInfo.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/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.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/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def:</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/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/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="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/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="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.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/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> </div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.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/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="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/ADT/APSInt.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/ADT/APInt.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/ADT/Optional.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/include/llvm/ADT/Twine.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/Support/ErrorHandling.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/include/llvm/IR/Type.h:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> /home/tstellar/llvm/include/llvm/ADT/APFloat.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/Support/CBindingWrapping.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-c/Core.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/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.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/Use.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> CodeGenFunction.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> CGBuilder.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/IR/IRBuilder.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/IR/BasicBlock.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/include/llvm/ADT/ilist.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/include/llvm/IR/Instruction.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/include/llvm/ADT/ilist_node.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/include/llvm/IR/User.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/Support/DebugLoc.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/IR/Instruction.def:</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/include/llvm/IR/SymbolTableListTraits.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/include/llvm/IR/DataLayout.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/IR/DerivedTypes.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/include/llvm/Pass.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/include/llvm/PassSupport.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/include/llvm/Pass.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/include/llvm/InitializePasses.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/include/llvm/PassRegistry.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/include/llvm/Support/Atomic.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/include/llvm/Support/Valgrind.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/include/llvm/PassAnalysisSupport.h:</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/IR/Instructions.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/IR/Attributes.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/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="l00351"></a><span class="lineno">  351</span> </div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> /home/tstellar/llvm/include/llvm/IR/InstrTypes.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/include/llvm/IR/OperandTraits.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/IR/LLVMContext.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/include/llvm/IR/Operator.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> /home/tstellar/llvm/include/llvm/IR/Constants.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/include/llvm/IR/Constant.h:</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.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/Support/ConstantFolder.h:</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> /home/tstellar/llvm/include/llvm/Support/ValueHandle.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> CGDebugInfo.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/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.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/APValue.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.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/AttrIterator.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/Decl.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/DeclBase.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/DeclarationName.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/include/llvm/Support/PrettyStackTrace.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/AST/DeclNodes.inc:</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/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.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/Redeclarable.h:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/include/llvm/Support/raw_ostream.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/include/llvm/Support/FileSystem.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/ADT/OwningPtr.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/Support/TimeValue.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/system_error.h:</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> </div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.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/OperationKinds.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/Stmt.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/DeclGroup.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/StmtIterator.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/Basic/CapturedStmt.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/AST/StmtNodes.inc:</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/TemplateBase.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.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/TypeTraits.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/Builtins.def:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.h:</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.def:</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> /home/tstellar/llvm/include/llvm/DIBuilder.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> /home/tstellar/llvm/include/llvm/DebugInfo.h:</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span> </div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span> /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.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/IR/Metadata.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/Support/Dwarf.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> CGValue.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.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/ASTTypeTraits.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/ASTFwd.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/TypeLoc.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/TypeLocNodes.def:</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/CanonicalType.h:</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span> </div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.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/Basic/CommentOptions.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/AST/CommentCommandList.inc:</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/PrettyPrinter.h:</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/Basic/LangOptions.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/ObjCRuntime.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/VersionTuple.h:</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span> </div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> /home/tstellar/llvm/include/llvm/ADT/Triple.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/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.def:</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/LangOptions.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/OpenCLExtensions.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/AST/RawCommentList.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.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/FileManager.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/FileSystemOptions.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/include/llvm/ADT/DenseSet.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/Support/MemoryBuffer.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/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.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/include/llvm/ADT/TinyPtrVector.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> EHScopeStack.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> CodeGenModule.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> CGVTables.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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.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/GlobalDecl.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/DeclCXX.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/ASTUnresolvedSet.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/UnresolvedSet.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/ExprCXX.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/Basic/ExpressionTraits.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/Lambda.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/AST/DeclObjC.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/<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="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/Basic/ABI.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/AST/VTableBuilder.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/CXXInheritance.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/TypeOrdering.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/include/llvm/ADT/MapVector.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/SmallSet.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/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.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/include/llvm/ADT/SetVector.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/IR/GlobalVariable.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/GlobalValue.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> CodeGenTypes.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> CGCall.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> ABIInfo.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> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.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/include/llvm/IR/Module.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/Function.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/Argument.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/GlobalAlias.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/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.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/Basic/AttrKinds.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/AttrList.inc:</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/include/llvm/ADT/StringSwitch.h:</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/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc:</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/Mangle.h:</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/Basic/Module.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/include/llvm/Transforms/Utils/SpecialCaseList.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/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.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/Basic/TargetInfo.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/TargetCXXABI.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/TargetOptions.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/include/llvm/Support/Debug.h:</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGOpenCLRuntime_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGOpenCLRuntime_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,131 @@
+<!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: CGOpenCLRuntime.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_373837989a1dc63be881832a195d38c3.html">CodeGen</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CGOpenCLRuntime.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGOpenCLRuntime_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">//===----- CGOpenCLRuntime.h - Interface to OpenCL Runtimes -----*- 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 provides an abstract class for OpenCL code generation.  Concrete</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">// subclasses of this implement code generation for specific OpenCL</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">// runtime libraries.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#ifndef CLANG_CODEGEN_OPENCLRUNTIME_H</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor"></span><span class="preprocessor">#define CLANG_CODEGEN_OPENCLRUNTIME_H</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="Type_8h.html">clang/AST/Type.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> <span class="preprocessor">#include "llvm/IR/Type.h"</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "llvm/IR/Value.h"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">class </span>VarDecl;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="keyword">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">class </span>CodeGenFunction;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">class </span>CodeGenModule;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html">   32</a></span> <span class="keyword">class </span><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html">CGOpenCLRuntime</a> {</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">   34</a></span>   <a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &<a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a964b8d4e51e20b0a32dbb4d699db438a">   37</a></span>   <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a964b8d4e51e20b0a32dbb4d699db438a">CGOpenCLRuntime</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &<a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a0ffc204dbd8f2c97a54632538ad3033a">CGM</a>) : CGM(CGM) {}</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">virtual</span> <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#aea6d5bcb265fc2817679ace4bb02a491">~CGOpenCLRuntime</a>();</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment"></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">  /// Emit the IR required for a work-group-local variable declaration, and add</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">  /// an entry to CGF's LocalDeclMap for D.  The base class does this using</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">  /// CodeGenFunction::EmitStaticVarDecl to emit an internal global for D.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#af62c1aa86ee3315731490dbe7b6b7ba5">EmitWorkGroupLocalVarDecl</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenFunction.html">CodeGenFunction</a> &CGF,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>                                          <span class="keyword">const</span> <a class="code" href="classclang_1_1VarDecl.html">VarDecl</a> &D);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">virtual</span> llvm::Type *<a class="code" href="classclang_1_1CodeGen_1_1CGOpenCLRuntime.html#a9d25bcd2a96fe311b7e0d59a5f5ef17d">convertOpenCLSpecificType</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *T);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> };</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> }</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> }</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGRTTI_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRTTI_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRTTI_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRTTI_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1056 @@
+<!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: CGRTTI.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">CGRTTI.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGRTTI_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">//===--- CGCXXRTTI.cpp - Emit LLVM Code for C++ RTTI descriptors ----------===//</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 contains code dealing with C++ code generation of RTTI descriptors.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="CodeGenModule_8h.html">CodeGenModule.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="CGCXXABI_8h.html">CGCXXABI.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="CGObjCRuntime_8h.html">CGObjCRuntime.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="RecordLayout_8h.html">clang/AST/RecordLayout.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Type_8h.html">clang/AST/Type.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="CodeGenOptions_8h.html">clang/Frontend/CodeGenOptions.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="keyword">using namespace </span>CodeGen;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="keyword">class </span>RTTIBuilder {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>   <a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &CGM;  <span class="comment">// Per-module state.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>   llvm::LLVMContext &VMContext;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">  /// Fields - The fields of the RTTI descriptor currently being built.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<llvm::Constant *, 16></a> Fields;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">  /// GetAddrOfTypeName - Returns the mangled type name of the given type.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment"></span>  llvm::GlobalVariable *</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>   GetAddrOfTypeName(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty, 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>);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment"></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">  /// GetAddrOfExternalRTTIDescriptor - Returns the constant for the RTTI </span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">  /// descriptor of the given type.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment"></span>  llvm::Constant *GetAddrOfExternalRTTIDescriptor(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">  /// BuildVTablePointer - Build the vtable pointer for the given type.</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment"></span>  <span class="keywordtype">void</span> BuildVTablePointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *Ty);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">  /// BuildSIClassTypeInfo - Build an abi::__si_class_type_info, used for single</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">  /// inheritance, according to the Itanium C++ ABI, 2.9.5p6b.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment"></span>  <span class="keywordtype">void</span> BuildSIClassTypeInfo(<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="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">  /// BuildVMIClassTypeInfo - Build an abi::__vmi_class_type_info, used for</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">  /// classes with bases that do not satisfy the abi::__si_class_type_info </span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">  /// constraints, according ti the Itanium C++ ABI, 2.9.5p5c.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment"></span>  <span class="keywordtype">void</span> BuildVMIClassTypeInfo(<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="l00051"></a><span class="lineno">   51</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">  /// BuildPointerTypeInfo - Build an abi::__pointer_type_info struct, used</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">  /// for pointer types.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment"></span>  <span class="keywordtype">void</span> BuildPointerTypeInfo(<a class="code" href="classclang_1_1QualType.html">QualType</a> PointeeTy);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment"></span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">  /// BuildObjCObjectTypeInfo - Build the appropriate kind of</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">  /// type_info for an object type.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment"></span>  <span class="keywordtype">void</span> BuildObjCObjectTypeInfo(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *Ty);</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">  /// BuildPointerToMemberTypeInfo - Build an abi::__pointer_to_member_type_info </span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment">  /// struct, used for member pointer types.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment"></span>  <span class="keywordtype">void</span> BuildPointerToMemberTypeInfo(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *Ty);</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="keyword">public</span>:</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>   RTTIBuilder(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &CGM) : CGM(CGM), </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>     VMContext(CGM.getModule().getContext()) { }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>   <span class="comment">// Pointer type info flags.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>   <span class="keyword">enum</span> {<span class="comment"></span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment">    /// PTI_Const - Type has const qualifier.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment"></span>    PTI_Const = 0x1,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment">    /// PTI_Volatile - Type has volatile qualifier.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment"></span>    PTI_Volatile = 0x2,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment">    /// PTI_Restrict - Type has restrict qualifier.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment"></span>    PTI_Restrict = 0x4,</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">    /// PTI_Incomplete - Type is incomplete.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment"></span>    PTI_Incomplete = 0x8,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span> <span class="comment">    /// PTI_ContainingClassIncomplete - Containing class is incomplete.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> <span class="comment">    /// (in pointer to member).</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment"></span>    PTI_ContainingClassIncomplete = 0x10</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="comment">// VMI type info flags.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>   <span class="keyword">enum</span> {<span class="comment"></span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span> <span class="comment">    /// VMI_NonDiamondRepeat - Class has non-diamond repeated inheritance.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span> <span class="comment"></span>    VMI_NonDiamondRepeat = 0x1,</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span> <span class="comment">    /// VMI_DiamondShaped - Class is diamond shaped.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span> <span class="comment"></span>    VMI_DiamondShaped = 0x2</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>   };</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>   <span class="comment">// Base class type info flags.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>   <span class="keyword">enum</span> {<span class="comment"></span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment">    /// BCTI_Virtual - Base class is virtual.</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment"></span>    BCTI_Virtual = 0x1,</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>     <span class="comment"></span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment">    /// BCTI_Public - Base class is public.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span> <span class="comment"></span>    BCTI_Public = 0x2</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>   };</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment">  /// BuildTypeInfo - Build the RTTI type info struct for the given type.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">  /// \param Force - true to force the creation of this RTTI value</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment"></span>  llvm::Constant *BuildTypeInfo(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty, <span class="keywordtype">bool</span> Force = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> };</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> }</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> llvm::GlobalVariable *</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span> RTTIBuilder::GetAddrOfTypeName(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty, </div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</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>) {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> OutName;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>   llvm::raw_svector_ostream Out(OutName);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>   CGM.getCXXABI().getMangleContext().mangleCXXRTTIName(Ty, Out);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>   Out.flush();</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>   StringRef Name = OutName.str();</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>   <span class="comment">// We know that the mangled name of the type starts at index 4 of the</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>   <span class="comment">// mangled name of the typename, so we can just index into it in order to</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>   <span class="comment">// get the mangled name of the type.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>   llvm::Constant *Init = llvm::ConstantDataArray::getString(VMContext,</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>                                                             Name.substr(4));</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>   llvm::GlobalVariable *GV = </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>     CGM.CreateOrReplaceCXXRuntimeVariable(Name, Init->getType(), <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>);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>   GV->setInitializer(Init);</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="keywordflow">return</span> GV;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> }</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> llvm::Constant *RTTIBuilder::GetAddrOfExternalRTTIDescriptor(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty) {</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>   <span class="comment">// Mangle the RTTI name.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> OutName;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   llvm::raw_svector_ostream Out(OutName);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>   CGM.getCXXABI().getMangleContext().mangleCXXRTTI(Ty, Out);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>   Out.flush();</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>   StringRef Name = OutName.str();</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="comment">// Look for an existing global.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>   llvm::GlobalVariable *GV = CGM.getModule().getNamedGlobal(Name);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>   </div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>   <span class="keywordflow">if</span> (!GV) {</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>     <span class="comment">// Create a new global variable.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>     GV = <span class="keyword">new</span> llvm::GlobalVariable(CGM.getModule(), CGM.Int8PtrTy,</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>                                   <span class="comment">/*Constant=*/</span><span class="keyword">true</span>,</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>                                   <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>, 0, Name);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>   }</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>   </div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>   <span class="keywordflow">return</span> llvm::ConstantExpr::getBitCast(GV, CGM.Int8PtrTy);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> }</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="comment"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> <span class="comment">/// TypeInfoIsInStandardLibrary - Given a builtin type, returns whether the type</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment">/// info for that type is defined in the standard library.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a9c31d9e604abd009c8aad71ebb7487c4">  158</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#a9c31d9e604abd009c8aad71ebb7487c4">TypeInfoIsInStandardLibrary</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *Ty) {</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>   <span class="comment">// Itanium C++ ABI 2.9.2:</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>   <span class="comment">//   Basic type information (e.g. for "int", "bool", etc.) will be kept in</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>   <span class="comment">//   the run-time support library. Specifically, the run-time support</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>   <span class="comment">//   library should contain type_info objects for the types X, X* and </span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>   <span class="comment">//   X const*, for every X in: void, std::nullptr_t, bool, wchar_t, char,</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>   <span class="comment">//   unsigned char, signed char, short, unsigned short, int, unsigned int,</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>   <span class="comment">//   long, unsigned long, long long, unsigned long long, float, double,</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>   <span class="comment">//   long double, char16_t, char32_t, and the IEEE 754r decimal and </span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>   <span class="comment">//   half-precision floating point types.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>   <span class="keywordflow">switch</span> (Ty-><a class="code" href="classclang_1_1BuiltinType.html#aa4dd813e340ed81bcb67bf090152af2a">getKind</a>()) {</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>     <span class="keywordflow">case</span> BuiltinType::Void:</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>     <span class="keywordflow">case</span> BuiltinType::NullPtr:</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>     <span class="keywordflow">case</span> BuiltinType::Bool:</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>     <span class="keywordflow">case</span> BuiltinType::WChar_S:</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>     <span class="keywordflow">case</span> BuiltinType::WChar_U:</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">case</span> BuiltinType::Char_U:</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>     <span class="keywordflow">case</span> BuiltinType::Char_S:</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>     <span class="keywordflow">case</span> BuiltinType::UChar:</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>     <span class="keywordflow">case</span> BuiltinType::SChar:</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>     <span class="keywordflow">case</span> BuiltinType::Short:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>     <span class="keywordflow">case</span> BuiltinType::UShort:</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>     <span class="keywordflow">case</span> BuiltinType::Int:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>     <span class="keywordflow">case</span> BuiltinType::UInt:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>     <span class="keywordflow">case</span> BuiltinType::Long:</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>     <span class="keywordflow">case</span> BuiltinType::ULong:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>     <span class="keywordflow">case</span> BuiltinType::LongLong:</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>     <span class="keywordflow">case</span> BuiltinType::ULongLong:</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>     <span class="keywordflow">case</span> BuiltinType::Half:</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     <span class="keywordflow">case</span> BuiltinType::Float:</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>     <span class="keywordflow">case</span> BuiltinType::Double:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>     <span class="keywordflow">case</span> BuiltinType::LongDouble:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>     <span class="keywordflow">case</span> BuiltinType::Char16:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>     <span class="keywordflow">case</span> BuiltinType::Char32:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <span class="keywordflow">case</span> BuiltinType::Int128:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>     <span class="keywordflow">case</span> BuiltinType::UInt128:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>     <span class="keywordflow">case</span> BuiltinType::OCLImage1d:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>     <span class="keywordflow">case</span> BuiltinType::OCLImage1dArray:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>     <span class="keywordflow">case</span> BuiltinType::OCLImage1dBuffer:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>     <span class="keywordflow">case</span> BuiltinType::OCLImage2d:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     <span class="keywordflow">case</span> BuiltinType::OCLImage2dArray:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     <span class="keywordflow">case</span> BuiltinType::OCLImage3d:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>     <span class="keywordflow">case</span> BuiltinType::OCLSampler:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>     <span class="keywordflow">case</span> BuiltinType::OCLEvent:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>       </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>     <span class="keywordflow">case</span> BuiltinType::Dependent:</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> <span class="preprocessor">#define BUILTIN_TYPE(Id, SingletonId)</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> <span class="preprocessor"></span><span class="preprocessor">#define PLACEHOLDER_TYPE(Id, SingletonId) \</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> <span class="preprocessor">    case BuiltinType::Id:</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/AST/BuiltinTypes.def"</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>       llvm_unreachable(<span class="stringliteral">"asking for RRTI for a placeholder type!"</span>);</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>       </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>     <span class="keywordflow">case</span> BuiltinType::ObjCId:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>     <span class="keywordflow">case</span> BuiltinType::ObjCClass:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>     <span class="keywordflow">case</span> BuiltinType::ObjCSel:</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>       llvm_unreachable(<span class="stringliteral">"FIXME: Objective-C types are unsupported!"</span>);</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>   }</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   llvm_unreachable(<span class="stringliteral">"Invalid BuiltinType Kind!"</span>);</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> }</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#ae10300e11874ba6b464b74e0d289e07b">  220</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#a9c31d9e604abd009c8aad71ebb7487c4">TypeInfoIsInStandardLibrary</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PointerTy) {</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> PointeeTy = PointerTy-><a class="code" href="classclang_1_1PointerType.html#a3d0af079431148f7da7e2c400052cc66">getPointeeType</a>();</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BuiltinTy = dyn_cast<<a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a>>(PointeeTy);</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   <span class="keywordflow">if</span> (!BuiltinTy)</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>     </div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>   <span class="comment">// Check the qualifiers.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>   <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> Quals = PointeeTy.<a class="code" href="classclang_1_1QualType.html#a4a3d75cf019a2e769498ef8d6878888b" title="Retrieve the set of qualifiers applied to this type.">getQualifiers</a>();</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>   Quals.<a class="code" href="classclang_1_1Qualifiers.html#a6e54373de505039b0d865a3199d6cbd5">removeConst</a>();</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>     </div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>   <span class="keywordflow">if</span> (!Quals.<a class="code" href="classclang_1_1Qualifiers.html#aeac630275fb4fe37713842978a0c8d7c">empty</a>())</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>     </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>   <span class="keywordflow">return</span> <a class="code" href="CGRTTI_8cpp.html#a9c31d9e604abd009c8aad71ebb7487c4">TypeInfoIsInStandardLibrary</a>(BuiltinTy);</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> }</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> <span class="comment"></span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> <span class="comment">/// IsStandardLibraryRTTIDescriptor - Returns whether the type</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> <span class="comment">/// information for the given type exists in the standard library.</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a7341515b1600a149e485103315550d72">  238</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#a7341515b1600a149e485103315550d72">IsStandardLibraryRTTIDescriptor</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty) {</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   <span class="comment">// Type info for builtin types is defined in the standard library.</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1BuiltinType.html">BuiltinType</a> *BuiltinTy = dyn_cast<BuiltinType>(Ty))</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>     <span class="keywordflow">return</span> <a class="code" href="CGRTTI_8cpp.html#a9c31d9e604abd009c8aad71ebb7487c4">TypeInfoIsInStandardLibrary</a>(BuiltinTy);</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>   </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>   <span class="comment">// Type info for some pointer types to builtin types is defined in the</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>   <span class="comment">// standard library.</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PointerTy = dyn_cast<PointerType>(Ty))</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="keywordflow">return</span> <a class="code" href="CGRTTI_8cpp.html#a9c31d9e604abd009c8aad71ebb7487c4">TypeInfoIsInStandardLibrary</a>(PointerTy);</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> }</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> <span class="comment"></span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> <span class="comment">/// ShouldUseExternalRTTIDescriptor - Returns whether the type information for</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> <span class="comment">/// the given type exists somewhere else, and that we should not emit the type</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> <span class="comment">/// information in this translation unit.  Assumes that it is not a</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> <span class="comment">/// standard-library type.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a25a5d802c926cb9897edb6fdeca8813c">  255</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#a25a5d802c926cb9897edb6fdeca8813c">ShouldUseExternalRTTIDescriptor</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &CGM,</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>                                             <a class="code" href="classclang_1_1QualType.html">QualType</a> Ty) {</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</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> = CGM.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a4a62f428c7e3d80e67885383b9263054">getContext</a>();</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>   <span class="comment">// If RTTI is disabled, assume it might be disabled in the</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   <span class="comment">// translation unit that defines any potential key function, too.</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>   <span class="keywordflow">if</span> (!Context.<a class="code" href="classclang_1_1ASTContext.html#a3faa7b5a5e8d1637c53dea680acca0ff">getLangOpts</a>().RTTI) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RecordTy = dyn_cast<RecordType>(Ty)) {</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = cast<CXXRecordDecl>(RecordTy->getDecl());</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>     <span class="keywordflow">if</span> (!RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a29a073661abb8822828dab8774075563">hasDefinition</a>())</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>     <span class="keywordflow">if</span> (!RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a33d393a3193c4006dcf7342caa73e535">isDynamicClass</a>())</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>     <span class="comment">// FIXME: this may need to be reconsidered if the key function</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>     <span class="comment">// changes.</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>     <span class="keywordflow">return</span> CGM.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a3cb12d9b5bbf010b0d482ae08f720eba">getVTables</a>().<a class="code" href="classclang_1_1CodeGen_1_1CodeGenVTables.html#ad0283020e5267fa414e32d7b926720d3">isVTableExternal</a>(RD);</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>   </div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span> }</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> <span class="comment"></span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> <span class="comment">/// IsIncompleteClassType - Returns whether the given record type is incomplete.</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a2a4f3d02d60e4d3e9df10568f753ecbe">  280</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#a2a4f3d02d60e4d3e9df10568f753ecbe" title="IsIncompleteClassType - Returns whether the given record type is incomplete.">IsIncompleteClassType</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RecordTy) {</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>   <span class="keywordflow">return</span> !RecordTy-><a class="code" href="classclang_1_1RecordType.html#a312ab3ebe179cc7d8692c07479c91076">getDecl</a>()-><a class="code" href="classclang_1_1TagDecl.html#a05518a8ffe57a8add6b7777796c12362">isCompleteDefinition</a>();</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> }  </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> <span class="comment"></span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> <span class="comment">/// ContainsIncompleteClassType - Returns whether the given type contains an</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> <span class="comment">/// incomplete class type. This is true if</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> <span class="comment">///   * The given type is an incomplete class type.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> <span class="comment">///   * The given type is a pointer type whose pointee type contains an </span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> <span class="comment">///     incomplete class type.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> <span class="comment">///   * The given type is a member pointer type whose class is an incomplete</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> <span class="comment">///     class type.</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> <span class="comment">///   * The given type is a member pointer type whoise pointee type contains an</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> <span class="comment">///     incomplete class type.</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> <span class="comment">/// is an indirect or direct pointer to an incomplete class type.</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">  295</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">ContainsIncompleteClassType</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty) {</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RecordTy = dyn_cast<RecordType>(Ty)) {</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>     <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#a2a4f3d02d60e4d3e9df10568f753ecbe" title="IsIncompleteClassType - Returns whether the given record type is incomplete.">IsIncompleteClassType</a>(RecordTy))</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>   }</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>   </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> *PointerTy = dyn_cast<PointerType>(Ty))</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>     <span class="keywordflow">return</span> <a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">ContainsIncompleteClassType</a>(PointerTy->getPointeeType());</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>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MemberPointerTy = </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>       dyn_cast<MemberPointerType>(Ty)) {</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>     <span class="comment">// Check if the class type is incomplete.</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *ClassType = cast<RecordType>(MemberPointerTy->getClass());</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>     <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#a2a4f3d02d60e4d3e9df10568f753ecbe" title="IsIncompleteClassType - Returns whether the given record type is incomplete.">IsIncompleteClassType</a>(ClassType))</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>       <span class="keywordflow">return</span> <span class="keyword">true</span>;</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>     <span class="keywordflow">return</span> <a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">ContainsIncompleteClassType</a>(MemberPointerTy->getPointeeType());</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>   }</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>   </div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>   <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span> }</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span> <span class="comment"></span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span> <span class="comment">/// getTypeInfoLinkage - Return the linkage that the type info and type info</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span> <span class="comment">/// name constants should have for the given type.</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span> <span class="comment"></span><span class="keyword">static</span> llvm::GlobalVariable::LinkageTypes </div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a6058790b215dc515d96c8effcf14c459">  320</a></span> <a class="code" href="CGRTTI_8cpp.html#a6058790b215dc515d96c8effcf14c459">getTypeInfoLinkage</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a> &CGM, <a class="code" href="classclang_1_1QualType.html">QualType</a> Ty) {</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="comment">//   In addition, it and all of the intermediate abi::__pointer_type_info </span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="comment">//   structs in the chain down to the abi::__class_type_info for the</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   <span class="comment">//   incomplete class type must be prevented from resolving to the </span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   <span class="comment">//   corresponding type_info structs for the complete class type, possibly</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   <span class="comment">//   by making them local static objects. Finally, a dummy class RTTI is</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <span class="comment">//   generated for the incomplete type that will not resolve to the final </span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>   <span class="comment">//   complete class RTTI (because the latter need not exist), possibly by </span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   <span class="comment">//   making it a local static object.</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>   <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">ContainsIncompleteClassType</a>(Ty))</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>     <span class="keywordflow">return</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="l00332"></a><span class="lineno">  332</span>   </div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="keywordflow">switch</span> (Ty-><a class="code" href="classclang_1_1Type.html#abb61b4c1449bb379f13d195a602fb6e7" title="Determine the linkage of this type.">getLinkage</a>()) {</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6a938d9ceab6cf5d67689c98f6b94500e9" title="No linkage, which means that the entity is unique and can only be referred to from within its scope...">NoLinkage</a>:</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6af787a9b57d13574c6c493a19ce5062bd" title="No linkage according to the standard, but is visible from other translation units because of types de...">VisibleNoLinkage</a>:</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="keywordflow">case</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...">InternalLinkage</a>:</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6ad6dddfd2cec600b1f2e2c0b633e684b4" title="External linkage within a unique namespace.">UniqueExternalLinkage</a>:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>     <span class="keywordflow">return</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="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="keywordflow">case</span> <a class="code" href="namespaceclang.html#a78aadfeaf316ded55fdd2d1a9c8815b6abf301cfab14d2b8fac6176f45e6bb54a" title="External linkage, which indicates that the entity can be referred to from other translation units...">ExternalLinkage</a>:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>     <span class="keywordflow">if</span> (!CGM.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#abae1594027ce284ce5b7f06c66d24ea7">getLangOpts</a>().RTTI) {</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>       <span class="comment">// RTTI is not enabled, which means that this type info struct is going</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>       <span class="comment">// to be used for exception handling. Give it linkonce_odr linkage.</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>       <span class="keywordflow">return</span> llvm::GlobalValue::LinkOnceODRLinkage;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     }</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span> </div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *Record = dyn_cast<RecordType>(Ty)) {</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = cast<CXXRecordDecl>(Record->getDecl());</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>       <span class="keywordflow">if</span> (RD-><a class="code" href="classclang_1_1Decl.html#ac60cc8b34313e03a5c40277c5c5ad61b">hasAttr</a><<a class="code" href="classclang_1_1WeakAttr.html">WeakAttr</a>>())</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>         <span class="keywordflow">return</span> llvm::GlobalValue::WeakODRLinkage;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>       <span class="keywordflow">if</span> (RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a33d393a3193c4006dcf7342caa73e535">isDynamicClass</a>())</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>         <span class="keywordflow">return</span> CGM.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#adf026f92c32e81dddbe11c8d31db7d69">getVTableLinkage</a>(RD);</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> </div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     <span class="keywordflow">return</span> llvm::GlobalValue::LinkOnceODRLinkage;</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> </div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   llvm_unreachable(<span class="stringliteral">"Invalid linkage!"</span>);</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> }</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span> <span class="comment">// CanUseSingleInheritance - Return whether the given record decl has a "single, </span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> <span class="comment">// public, non-virtual base at offset zero (i.e. the derived class is dynamic </span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> <span class="comment">// iff the base is)", according to Itanium C++ ABI, 2.95p6b.</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a9ec3968aaccf13cbed0a82f43b0ed01a">  364</a></span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="CGRTTI_8cpp.html#a9ec3968aaccf13cbed0a82f43b0ed01a">CanUseSingleInheritance</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="l00365"></a><span class="lineno">  365</span>   <span class="comment">// Check the number of bases.</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   <span class="keywordflow">if</span> (RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aa1473d233dd839572b3b93b53801be1f" title="Retrieves the number of base classes of this class.">getNumBases</a>() != 1)</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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">// Get the base.</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>   <a class="code" href="classclang_1_1CXXBaseSpecifier.html" title="Represents a base class of a C++ class.">CXXRecordDecl::base_class_const_iterator</a> <a class="code" href="classclang_1_1Base.html">Base</a> = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a830448d054e3dca2db6851bd4605492c">bases_begin</a>();</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>   </div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>   <span class="comment">// Check that the base is not virtual.</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>   <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a052cc9c7e1fb5a7095469c3be012c3a4" title="Determines whether the base class is a virtual base class (or not).">isVirtual</a>())</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   <span class="comment">// Check that the base is public.</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>   <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a381b2f957930913c9cedc4ae2fe9ff1a" title="Returns the access specifier for this base specifier.">getAccessSpecifier</a>() != <a class="code" href="namespaceclang.html#afc8aabd1f46cf32e805cd0d970ef988fa163ae3a419460301961bc458f8f01fd3">AS_public</a>)</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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">// Check that the class is dynamic iff the base is.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseDecl = </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>     cast<CXXRecordDecl>(Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a4e9241e65b4b20b372902d0873a9d838" title="Retrieves the type of the base class.">getType</a>()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>   <span class="keywordflow">if</span> (!BaseDecl-><a class="code" href="classclang_1_1CXXRecordDecl.html#a2c1511d7b34b98b0f9763a3d2a73d557" title="Determine whether this is an empty class in the sense of (C++11 [meta.unary.prop]).">isEmpty</a>() && </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>       BaseDecl-><a class="code" href="classclang_1_1CXXRecordDecl.html#a33d393a3193c4006dcf7342caa73e535">isDynamicClass</a>() != RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a33d393a3193c4006dcf7342caa73e535">isDynamicClass</a>())</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>     <span class="keywordflow">return</span> <span class="keyword">false</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>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> }</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> <span class="keywordtype">void</span> RTTIBuilder::BuildVTablePointer(<span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *Ty) {</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>   <span class="comment">// abi::__class_type_info.</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ClassTypeInfo =</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>     <span class="stringliteral">"_ZTVN10__cxxabiv117__class_type_infoE"</span>;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <span class="comment">// abi::__si_class_type_info.</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> SIClassTypeInfo =</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>     <span class="stringliteral">"_ZTVN10__cxxabiv120__si_class_type_infoE"</span>;</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <span class="comment">// abi::__vmi_class_type_info.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> VMIClassTypeInfo =</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     <span class="stringliteral">"_ZTVN10__cxxabiv121__vmi_class_type_infoE"</span>;</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   <span class="keyword">const</span> <span class="keywordtype">char</span> *VTableName = 0;</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>   <span class="keywordflow">switch</span> (Ty-><a class="code" href="classclang_1_1Type.html#a34cea2e4e1895806fbbac92110b66db0">getTypeClass</a>()) {</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> <span class="preprocessor">#define TYPE(Class, Base)</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> <span class="preprocessor"></span><span class="preprocessor">#define ABSTRACT_TYPE(Class, Base)</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span> <span class="preprocessor"></span><span class="preprocessor">#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class:</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span> <span class="preprocessor"></span><span class="preprocessor">#define NON_CANONICAL_TYPE(Class, Base) case Type::Class:</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span> <span class="preprocessor"></span><span class="preprocessor">#define DEPENDENT_TYPE(Class, Base) case Type::Class:</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/AST/TypeNodes.def"</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>     llvm_unreachable(<span class="stringliteral">"Non-canonical and dependent types shouldn't get here"</span>);</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   <span class="keywordflow">case</span> Type::LValueReference:</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>   <span class="keywordflow">case</span> Type::RValueReference:</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>     llvm_unreachable(<span class="stringliteral">"References shouldn't get here"</span>);</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span> </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>   <span class="keywordflow">case</span> Type::Auto:</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>     llvm_unreachable(<span class="stringliteral">"Undeduced auto type shouldn't get here"</span>);</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>   <span class="keywordflow">case</span> Type::Builtin:</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>   <span class="comment">// GCC treats vector and complex types as fundamental types.</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>   <span class="keywordflow">case</span> Type::Vector:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>   <span class="keywordflow">case</span> Type::ExtVector:</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>   <span class="keywordflow">case</span> Type::Complex:</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   <span class="keywordflow">case</span> Type::Atomic:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>   <span class="comment">// FIXME: GCC treats block pointers as fundamental types?!</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <span class="keywordflow">case</span> Type::BlockPointer:</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     <span class="comment">// abi::__fundamental_type_info.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     VTableName = <span class="stringliteral">"_ZTVN10__cxxabiv123__fundamental_type_infoE"</span>;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   <span class="keywordflow">case</span> Type::ConstantArray:</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>   <span class="keywordflow">case</span> Type::IncompleteArray:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   <span class="keywordflow">case</span> Type::VariableArray:</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>     <span class="comment">// abi::__array_type_info.</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>     VTableName = <span class="stringliteral">"_ZTVN10__cxxabiv117__array_type_infoE"</span>;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="keywordflow">case</span> Type::FunctionNoProto:</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>   <span class="keywordflow">case</span> Type::FunctionProto:</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>     <span class="comment">// abi::__function_type_info.</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>     VTableName = <span class="stringliteral">"_ZTVN10__cxxabiv120__function_type_infoE"</span>;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   <span class="keywordflow">case</span> Type::Enum:</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>     <span class="comment">// abi::__enum_type_info.</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     VTableName = <span class="stringliteral">"_ZTVN10__cxxabiv116__enum_type_infoE"</span>;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>     <span class="keywordflow">break</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="keywordflow">case</span> Type::Record: {</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</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="l00451"></a><span class="lineno">  451</span>       cast<CXXRecordDecl>(cast<RecordType>(Ty)->getDecl());</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>     </div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>     <span class="keywordflow">if</span> (!RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a29a073661abb8822828dab8774075563">hasDefinition</a>() || !RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aa1473d233dd839572b3b93b53801be1f" title="Retrieves the number of base classes of this class.">getNumBases</a>()) {</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>       VTableName = ClassTypeInfo;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#a9ec3968aaccf13cbed0a82f43b0ed01a">CanUseSingleInheritance</a>(RD)) {</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>       VTableName = SIClassTypeInfo;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>       VTableName = VMIClassTypeInfo;</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>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>   }</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>   <span class="keywordflow">case</span> Type::ObjCObject:</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     <span class="comment">// Ignore protocol qualifiers.</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>     Ty = cast<ObjCObjectType>(Ty)->getBaseType().getTypePtr();</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>     <span class="comment">// Handle id and Class.</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>     <span class="keywordflow">if</span> (isa<BuiltinType>(Ty)) {</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>       VTableName = ClassTypeInfo;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>       <span class="keywordflow">break</span>;</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> </div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>     assert(isa<ObjCInterfaceType>(Ty));</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>     <span class="comment">// Fall through.</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>   <span class="keywordflow">case</span> Type::ObjCInterface:</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>     <span class="keywordflow">if</span> (cast<ObjCInterfaceType>(Ty)->getDecl()->getSuperClass()) {</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>       VTableName = SIClassTypeInfo;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>       VTableName = ClassTypeInfo;</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">break</span>;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> </div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   <span class="keywordflow">case</span> Type::ObjCObjectPointer:</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>   <span class="keywordflow">case</span> Type::Pointer:</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>     <span class="comment">// abi::__pointer_type_info.</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>     VTableName = <span class="stringliteral">"_ZTVN10__cxxabiv119__pointer_type_infoE"</span>;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span> </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>   <span class="keywordflow">case</span> Type::MemberPointer:</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>     <span class="comment">// abi::__pointer_to_member_type_info.</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>     VTableName = <span class="stringliteral">"_ZTVN10__cxxabiv129__pointer_to_member_type_infoE"</span>;</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>   }</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>   llvm::Constant *VTable = </div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>     CGM.getModule().getOrInsertGlobal(VTableName, CGM.Int8PtrTy);</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>   llvm::Type *PtrDiffTy = </div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>     CGM.getTypes().ConvertType(CGM.getContext().getPointerDiffType());</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>   <span class="comment">// The vtable address point is 2.</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>   llvm::Constant *Two = llvm::ConstantInt::get(PtrDiffTy, 2);</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>   VTable = llvm::ConstantExpr::getInBoundsGetElementPtr(VTable, Two);</div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>   VTable = llvm::ConstantExpr::getBitCast(VTable, CGM.Int8PtrTy);</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>   Fields.push_back(VTable);</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> </div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span> llvm::Constant *RTTIBuilder::BuildTypeInfo(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty, <span class="keywordtype">bool</span> Force) {</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>   <span class="comment">// We want to operate on the canonical type.</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>   Ty = CGM.getContext().<a class="code" href="classclang_1_1QualType.html#abae06108b779ed32a4dc18fe8802fd6e">getCanonicalType</a>(Ty);</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>   <span class="comment">// Check if we've already emitted an RTTI descriptor for this type.</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   <a class="code" href="classllvm_1_1SmallString.html">SmallString<256></a> OutName;</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>   llvm::raw_svector_ostream Out(OutName);</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>   CGM.getCXXABI().getMangleContext().mangleCXXRTTI(Ty, Out);</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>   Out.flush();</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>   StringRef Name = OutName.str();</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>   llvm::GlobalVariable *OldGV = CGM.getModule().getNamedGlobal(Name);</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>   <span class="keywordflow">if</span> (OldGV && !OldGV->isDeclaration()) {</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>     assert(!OldGV->hasAvailableExternallyLinkage() &&</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>            <span class="stringliteral">"available_externally typeinfos not yet implemented"</span>);</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span> </div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>     <span class="keywordflow">return</span> llvm::ConstantExpr::getBitCast(OldGV, CGM.Int8PtrTy);</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>   }</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span> </div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>   <span class="comment">// Check if there is already an external RTTI descriptor for this type.</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>   <span class="keywordtype">bool</span> IsStdLib = <a class="code" href="CGRTTI_8cpp.html#a7341515b1600a149e485103315550d72">IsStandardLibraryRTTIDescriptor</a>(Ty);</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>   <span class="keywordflow">if</span> (!Force && (IsStdLib || <a class="code" href="CGRTTI_8cpp.html#a25a5d802c926cb9897edb6fdeca8813c">ShouldUseExternalRTTIDescriptor</a>(CGM, Ty)))</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>     <span class="keywordflow">return</span> GetAddrOfExternalRTTIDescriptor(Ty);</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span> </div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>   <span class="comment">// Emit the standard library with external linkage.</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</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>;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>   <span class="keywordflow">if</span> (IsStdLib)</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>     Linkage = <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="l00539"></a><span class="lineno">  539</span>   <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>     Linkage = <a class="code" href="CGRTTI_8cpp.html#a6058790b215dc515d96c8effcf14c459">getTypeInfoLinkage</a>(CGM, Ty);</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>   <span class="comment">// Add the vtable pointer.</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>   BuildVTablePointer(cast<Type>(Ty));</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>   <span class="comment">// And the name.</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>   llvm::GlobalVariable *TypeName = GetAddrOfTypeName(Ty, Linkage);</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>   Fields.push_back(llvm::ConstantExpr::getBitCast(TypeName, CGM.Int8PtrTy));</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   <span class="keywordflow">switch</span> (Ty-><a class="code" href="classclang_1_1Type.html#a34cea2e4e1895806fbbac92110b66db0">getTypeClass</a>()) {</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span> <span class="preprocessor">#define TYPE(Class, Base)</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span> <span class="preprocessor"></span><span class="preprocessor">#define ABSTRACT_TYPE(Class, Base)</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span> <span class="preprocessor"></span><span class="preprocessor">#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class:</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span> <span class="preprocessor"></span><span class="preprocessor">#define NON_CANONICAL_TYPE(Class, Base) case Type::Class:</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span> <span class="preprocessor"></span><span class="preprocessor">#define DEPENDENT_TYPE(Class, Base) case Type::Class:</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span> <span class="preprocessor"></span><span class="preprocessor">#include "clang/AST/TypeNodes.def"</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>     llvm_unreachable(<span class="stringliteral">"Non-canonical and dependent types shouldn't get here"</span>);</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> </div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>   <span class="comment">// GCC treats vector types as fundamental types.</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>   <span class="keywordflow">case</span> Type::Builtin:</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>   <span class="keywordflow">case</span> Type::Vector:</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="keywordflow">case</span> Type::ExtVector:</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   <span class="keywordflow">case</span> Type::Complex:</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>   <span class="keywordflow">case</span> Type::BlockPointer:</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>     <span class="comment">// Itanium C++ ABI 2.9.5p4:</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>     <span class="comment">// abi::__fundamental_type_info adds no data members to std::type_info.</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>   <span class="keywordflow">case</span> Type::LValueReference:</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>   <span class="keywordflow">case</span> Type::RValueReference:</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>     llvm_unreachable(<span class="stringliteral">"References shouldn't get here"</span>);</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>   <span class="keywordflow">case</span> Type::Auto:</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>     llvm_unreachable(<span class="stringliteral">"Undeduced auto type shouldn't get here"</span>);</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span> </div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   <span class="keywordflow">case</span> Type::ConstantArray:</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <span class="keywordflow">case</span> Type::IncompleteArray:</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>   <span class="keywordflow">case</span> Type::VariableArray:</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>     <span class="comment">// Itanium C++ ABI 2.9.5p5:</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>     <span class="comment">// abi::__array_type_info adds no data members to std::type_info.</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span> </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   <span class="keywordflow">case</span> Type::FunctionNoProto:</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>   <span class="keywordflow">case</span> Type::FunctionProto:</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>     <span class="comment">// Itanium C++ ABI 2.9.5p5:</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>     <span class="comment">// abi::__function_type_info adds no data members to std::type_info.</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span> </div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>   <span class="keywordflow">case</span> Type::Enum:</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>     <span class="comment">// Itanium C++ ABI 2.9.5p5:</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>     <span class="comment">// abi::__enum_type_info adds no data members to std::type_info.</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span> </div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>   <span class="keywordflow">case</span> Type::Record: {</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</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="l00596"></a><span class="lineno">  596</span>       cast<CXXRecordDecl>(cast<RecordType>(Ty)->getDecl());</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>     <span class="keywordflow">if</span> (!RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a29a073661abb8822828dab8774075563">hasDefinition</a>() || !RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aa1473d233dd839572b3b93b53801be1f" title="Retrieves the number of base classes of this class.">getNumBases</a>()) {</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>       <span class="comment">// We don't need to emit any fields.</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>       <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>     }</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>     </div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>     <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#a9ec3968aaccf13cbed0a82f43b0ed01a">CanUseSingleInheritance</a>(RD))</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>       BuildSIClassTypeInfo(RD);</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>     <span class="keywordflow">else</span> </div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>       BuildVMIClassTypeInfo(RD);</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="keywordflow">break</span>;</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>   }</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> </div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>   <span class="keywordflow">case</span> Type::ObjCObject:</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>   <span class="keywordflow">case</span> Type::ObjCInterface:</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>     BuildObjCObjectTypeInfo(cast<ObjCObjectType>(Ty));</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span> </div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>   <span class="keywordflow">case</span> Type::ObjCObjectPointer:</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>     BuildPointerTypeInfo(cast<ObjCObjectPointerType>(Ty)->getPointeeType());</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>     <span class="keywordflow">break</span>; </div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>       </div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>   <span class="keywordflow">case</span> Type::Pointer:</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>     BuildPointerTypeInfo(cast<PointerType>(Ty)->getPointeeType());</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span> </div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>   <span class="keywordflow">case</span> Type::MemberPointer:</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>     BuildPointerToMemberTypeInfo(cast<MemberPointerType>(Ty));</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span> </div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>   <span class="keywordflow">case</span> Type::Atomic:</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>     <span class="comment">// No fields, at least for the moment.</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>     <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>   }</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span> </div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>   llvm::Constant *Init = llvm::ConstantStruct::getAnon(Fields);</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span> </div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>   llvm::GlobalVariable *GV = </div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>     <span class="keyword">new</span> llvm::GlobalVariable(CGM.getModule(), Init->getType(), </div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>                              <span class="comment">/*Constant=*/</span><span class="keyword">true</span>, <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>, Init, Name);</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>   </div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>   <span class="comment">// If there's already an old global variable, replace it with the new one.</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>   <span class="keywordflow">if</span> (OldGV) {</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>     GV->takeName(OldGV);</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>     llvm::Constant *NewPtr = </div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>       llvm::ConstantExpr::getBitCast(GV, OldGV->getType());</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>     OldGV->replaceAllUsesWith(NewPtr);</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>     OldGV->eraseFromParent();</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   }</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span> </div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>   <span class="comment">// GCC only relies on the uniqueness of the type names, not the</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>   <span class="comment">// type_infos themselves, so we can emit these as hidden symbols.</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>   <span class="comment">// But don't do this if we're worried about strict visibility</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>   <span class="comment">// compatibility.</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RT = dyn_cast<RecordType>(Ty)) {</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = cast<CXXRecordDecl>(RT->getDecl());</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> </div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>     CGM.setTypeVisibility(GV, RD, <a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a83e0bdf7e055b9b39ca6653fdd4da6a3a081e932da9f3c6226e983916fc4eb03b">CodeGenModule::TVK_ForRTTI</a>);</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>     CGM.setTypeVisibility(TypeName, RD, <a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a83e0bdf7e055b9b39ca6653fdd4da6a3a94a15d23ed017688caabe5d000c104fc">CodeGenModule::TVK_ForRTTIName</a>);</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>     <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a> TypeInfoVisibility = <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102af3e12fac676a05b300d4bbb673d8fa5b">DefaultVisibility</a>;</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>     <span class="keywordflow">if</span> (CGM.getCodeGenOpts().HiddenWeakVTables &&</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>         Linkage == llvm::GlobalValue::LinkOnceODRLinkage)</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>       TypeInfoVisibility = <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102a6dddfc0d585a6867a79d44a43ad55324">HiddenVisibility</a>;</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span> </div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>     <span class="comment">// The type name should have the same visibility as the type itself.</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>     <a class="code" href="namespaceclang.html#afbab15cd4aa598c4e6d9192f7ac4f102" title="Describes the different kinds of visibility that a declaration may have.">Visibility</a> ExplicitVisibility = Ty-><a class="code" href="classclang_1_1Type.html#ae70019837ea70dd0cd17b841b69c17de" title="Determine the visibility of this type.">getVisibility</a>();</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>     TypeName->setVisibility(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html">CodeGenModule</a>::</div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>                             GetLLVMVisibility(ExplicitVisibility));</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>   </div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>     TypeInfoVisibility = <a class="code" href="namespaceclang.html#a8f46651fa99fd480cec3b95e00d6d11c">minVisibility</a>(TypeInfoVisibility, Ty-><a class="code" href="classclang_1_1Type.html#ae70019837ea70dd0cd17b841b69c17de" title="Determine the visibility of this type.">getVisibility</a>());</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>     GV->setVisibility(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a805a8799c1755c409d8a87765dbc67c5">CodeGenModule::GetLLVMVisibility</a>(TypeInfoVisibility));</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> </div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>   GV->setUnnamedAddr(<span class="keyword">true</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">  673</span>   <span class="keywordflow">return</span> llvm::ConstantExpr::getBitCast(GV, CGM.Int8PtrTy);</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span> }</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span> <span class="comment"></span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span> <span class="comment">/// ComputeQualifierFlags - Compute the pointer type info flags from the</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span> <span class="comment">/// given qualifier.</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a0b32477322b6e39a7ea5a71526950c3e">  678</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="CGRTTI_8cpp.html#a0b32477322b6e39a7ea5a71526950c3e">ComputeQualifierFlags</a>(<a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> Quals) {</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>   <span class="keywordtype">unsigned</span> Flags = 0;</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span> </div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>   <span class="keywordflow">if</span> (Quals.<a class="code" href="classclang_1_1Qualifiers.html#aa4c1d746c952f79ff74dc3f3a88c21fa">hasConst</a>())</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>     Flags |= RTTIBuilder::PTI_Const;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>   <span class="keywordflow">if</span> (Quals.<a class="code" href="classclang_1_1Qualifiers.html#acde218ec4de3ae41e2e9c9fc3b5e7c07">hasVolatile</a>())</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>     Flags |= RTTIBuilder::PTI_Volatile;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>   <span class="keywordflow">if</span> (Quals.<a class="code" href="classclang_1_1Qualifiers.html#a1cd13ada53a5c2091dd59f0e433ca577">hasRestrict</a>())</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>     Flags |= RTTIBuilder::PTI_Restrict;</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>   <span class="keywordflow">return</span> Flags;</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span> }</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span> <span class="comment"></span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span> <span class="comment">/// BuildObjCObjectTypeInfo - Build the appropriate kind of type_info</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span> <span class="comment">/// for the given Objective-C object type.</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span> <span class="comment"></span><span class="keywordtype">void</span> RTTIBuilder::BuildObjCObjectTypeInfo(<span class="keyword">const</span> <a class="code" href="classclang_1_1ObjCObjectType.html">ObjCObjectType</a> *OT) {</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>   <span class="comment">// Drop qualifiers.</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *T = OT-><a class="code" href="classclang_1_1ObjCObjectType.html#aba1d123748b1cc7d77232844bd1e6680">getBaseType</a>().<a class="code" href="classclang_1_1QualType.html#a669d7ba0645cd05d53508e3c1895075a">getTypePtr</a>();</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>   assert(isa<BuiltinType>(T) || isa<ObjCInterfaceType>(T));</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span> </div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>   <span class="comment">// The builtin types are abi::__class_type_infos and don't require</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>   <span class="comment">// extra fields.</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>   <span class="keywordflow">if</span> (isa<BuiltinType>(T)) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span> </div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>   <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *Class = cast<ObjCInterfaceType>(T)->getDecl();</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>   <a class="code" href="classclang_1_1ObjCInterfaceDecl.html" title="Represents an ObjC class declaration.">ObjCInterfaceDecl</a> *Super = Class-><a class="code" href="classclang_1_1ObjCInterfaceDecl.html#a5f23eb5cda9e27622e71382d1dc4b95d">getSuperClass</a>();</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span> </div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>   <span class="comment">// Root classes are also __class_type_info.</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>   <span class="keywordflow">if</span> (!Super) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span> </div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> SuperTy = CGM.getContext().getObjCInterfaceType(Super);</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span> </div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>   <span class="comment">// Everything else is single inheritance.</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>   llvm::Constant *BaseTypeInfo = RTTIBuilder(CGM).BuildTypeInfo(SuperTy);</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>   Fields.push_back(BaseTypeInfo);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> }</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span> <span class="comment"></span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span> <span class="comment">/// BuildSIClassTypeInfo - Build an abi::__si_class_type_info, used for single</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span> <span class="comment">/// inheritance, according to the Itanium C++ ABI, 2.95p6b.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span> <span class="comment"></span><span class="keywordtype">void</span> RTTIBuilder::BuildSIClassTypeInfo(<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="l00718"></a><span class="lineno">  718</span>   <span class="comment">// Itanium C++ ABI 2.9.5p6b:</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>   <span class="comment">// It adds to abi::__class_type_info a single member pointing to the </span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>   <span class="comment">// type_info structure for the base type,</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>   llvm::Constant *BaseTypeInfo = </div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>     RTTIBuilder(CGM).BuildTypeInfo(RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a830448d054e3dca2db6851bd4605492c">bases_begin</a>()-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a4e9241e65b4b20b372902d0873a9d838" title="Retrieves the type of the base class.">getType</a>());</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>   Fields.push_back(BaseTypeInfo);</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span> }</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span> </div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span> <span class="keyword">namespace </span>{<span class="comment"></span></div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> <span class="comment">  /// SeenBases - Contains virtual and non-virtual bases seen when traversing</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span> <span class="comment">  /// a class hierarchy.</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span> <span class="comment"></span>  <span class="keyword">struct </span>SeenBases {</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>     llvm::SmallPtrSet<const CXXRecordDecl *, 16> NonVirtualBases;</div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>     llvm::SmallPtrSet<const CXXRecordDecl *, 16> VirtualBases;</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>   };</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span> }</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span> <span class="comment"></span></div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span> <span class="comment">/// ComputeVMIClassTypeInfoFlags - Compute the value of the flags member in</span></div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span> <span class="comment">/// abi::__vmi_class_type_info.</span></div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a2ae47f667baade297a6a5927d8266c57">  738</a></span> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="CGRTTI_8cpp.html#a2ae47f667baade297a6a5927d8266c57">ComputeVMIClassTypeInfoFlags</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXBaseSpecifier.html" title="Represents a base class of a C++ class.">CXXBaseSpecifier</a> *<a class="code" href="classclang_1_1Base.html">Base</a>, </div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>                                              SeenBases &Bases) {</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>   </div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>   <span class="keywordtype">unsigned</span> Flags = 0;</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>   </div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseDecl = </div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>     cast<CXXRecordDecl>(Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a4e9241e65b4b20b372902d0873a9d838" title="Retrieves the type of the base class.">getType</a>()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>   </div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>   <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a052cc9c7e1fb5a7095469c3be012c3a4" title="Determines whether the base class is a virtual base class (or not).">isVirtual</a>()) {</div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>     <span class="comment">// Mark the virtual base as seen.</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>     <span class="keywordflow">if</span> (!Bases.VirtualBases.insert(BaseDecl)) {</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>       <span class="comment">// If this virtual base has been seen before, then the class is diamond</span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>       <span class="comment">// shaped.</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>       Flags |= RTTIBuilder::VMI_DiamondShaped;</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>       <span class="keywordflow">if</span> (Bases.NonVirtualBases.count(BaseDecl))</div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>         Flags |= RTTIBuilder::VMI_NonDiamondRepeat;</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>     }</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>   } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>     <span class="comment">// Mark the non-virtual base as seen.</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <span class="keywordflow">if</span> (!Bases.NonVirtualBases.insert(BaseDecl)) {</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>       <span class="comment">// If this non-virtual base has been seen before, then the class has non-</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>       <span class="comment">// diamond shaped repeated inheritance.</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>       Flags |= RTTIBuilder::VMI_NonDiamondRepeat;</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>       <span class="keywordflow">if</span> (Bases.VirtualBases.count(BaseDecl))</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>         Flags |= RTTIBuilder::VMI_NonDiamondRepeat;</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     }</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>   }</div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span> </div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>   <span class="comment">// Walk all bases.</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</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 = BaseDecl-><a class="code" href="classclang_1_1CXXRecordDecl.html#a830448d054e3dca2db6851bd4605492c">bases_begin</a>(),</div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>        E = BaseDecl-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) </div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>     Flags |= <a class="code" href="CGRTTI_8cpp.html#a2ae47f667baade297a6a5927d8266c57">ComputeVMIClassTypeInfoFlags</a>(I, Bases);</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>   </div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>   <span class="keywordflow">return</span> Flags;</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span> }</div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span> </div>
+<div class="line"><a name="l00776"></a><span class="lineno"><a class="code" href="CGRTTI_8cpp.html#a9a9b96119bafe7090125d3a7f79f7aa1">  776</a></span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="CGRTTI_8cpp.html#a2ae47f667baade297a6a5927d8266c57">ComputeVMIClassTypeInfoFlags</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="l00777"></a><span class="lineno">  777</span>   <span class="keywordtype">unsigned</span> Flags = 0;</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>   SeenBases Bases;</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>   </div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>   <span class="comment">// Walk all bases.</span></div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</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="l00782"></a><span class="lineno">  782</span>        E = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) </div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>     Flags |= <a class="code" href="CGRTTI_8cpp.html#a2ae47f667baade297a6a5927d8266c57">ComputeVMIClassTypeInfoFlags</a>(I, Bases);</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>   </div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>   <span class="keywordflow">return</span> Flags;</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="comment"></span></div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span> <span class="comment">/// BuildVMIClassTypeInfo - Build an abi::__vmi_class_type_info, used for</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span> <span class="comment">/// classes with bases that do not satisfy the abi::__si_class_type_info </span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span> <span class="comment">/// constraints, according ti the Itanium C++ ABI, 2.9.5p5c.</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span> <span class="comment"></span><span class="keywordtype">void</span> RTTIBuilder::BuildVMIClassTypeInfo(<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="l00792"></a><span class="lineno">  792</span>   llvm::Type *UnsignedIntLTy = </div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>     CGM.getTypes().ConvertType(CGM.getContext().UnsignedIntTy);</div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>   </div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>   <span class="comment">// Itanium C++ ABI 2.9.5p6c:</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>   <span class="comment">//   __flags is a word with flags describing details about the class </span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>   <span class="comment">//   structure, which may be referenced by using the __flags_masks </span></div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>   <span class="comment">//   enumeration. These flags refer to both direct and indirect bases. </span></div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>   <span class="keywordtype">unsigned</span> Flags = <a class="code" href="CGRTTI_8cpp.html#a2ae47f667baade297a6a5927d8266c57">ComputeVMIClassTypeInfoFlags</a>(RD);</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>   Fields.push_back(llvm::ConstantInt::get(UnsignedIntLTy, Flags));</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span> </div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>   <span class="comment">// Itanium C++ ABI 2.9.5p6c:</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>   <span class="comment">//   __base_count is a word with the number of direct proper base class </span></div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>   <span class="comment">//   descriptions that follow.</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>   Fields.push_back(llvm::ConstantInt::get(UnsignedIntLTy, RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aa1473d233dd839572b3b93b53801be1f" title="Retrieves the number of base classes of this class.">getNumBases</a>()));</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>   </div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>   <span class="keywordflow">if</span> (!RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#aa1473d233dd839572b3b93b53801be1f" title="Retrieves the number of base classes of this class.">getNumBases</a>())</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>     <span class="keywordflow">return</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>   llvm::Type *LongLTy = </div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>     CGM.getTypes().ConvertType(CGM.getContext().LongTy);</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span> </div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   <span class="comment">// Now add the base class descriptions.</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>   </div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>   <span class="comment">// Itanium C++ ABI 2.9.5p6c:</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>   <span class="comment">//   __base_info[] is an array of base class descriptions -- one for every </span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>   <span class="comment">//   direct proper base. Each description is of the type:</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>   <span class="comment">//   struct abi::__base_class_type_info {</span></div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>   <span class="comment">//   public:</span></div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>   <span class="comment">//     const __class_type_info *__base_type;</span></div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>   <span class="comment">//     long __offset_flags;</span></div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>   <span class="comment">//     enum __offset_flags_masks {</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>   <span class="comment">//       __virtual_mask = 0x1,</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>   <span class="comment">//       __public_mask = 0x2,</span></div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>   <span class="comment">//       __offset_shift = 8</span></div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>   <span class="comment">//     };</span></div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>   <span class="comment">//   };</span></div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</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="l00831"></a><span class="lineno">  831</span>        E = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXBaseSpecifier.html" title="Represents a base class of a C++ class.">CXXBaseSpecifier</a> *<a class="code" href="classclang_1_1Base.html">Base</a> = I;</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>     <span class="comment">// The __base_type member points to the RTTI for the base type.</span></div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>     Fields.push_back(RTTIBuilder(CGM).BuildTypeInfo(Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a4e9241e65b4b20b372902d0873a9d838" title="Retrieves the type of the base class.">getType</a>()));</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span> </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> *BaseDecl = </div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>       cast<CXXRecordDecl>(Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a4e9241e65b4b20b372902d0873a9d838" title="Retrieves the type of the base class.">getType</a>()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</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>     int64_t OffsetFlags = 0;</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>     </div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>     <span class="comment">// All but the lower 8 bits of __offset_flags are a signed offset. </span></div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>     <span class="comment">// For a non-virtual base, this is the offset in the object of the base</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>     <span class="comment">// subobject. For a virtual base, this is the offset in the virtual table of</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>     <span class="comment">// the virtual base offset for the virtual base referenced (negative).</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>     <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a052cc9c7e1fb5a7095469c3be012c3a4" title="Determines whether the base class is a virtual base class (or not).">isVirtual</a>())</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>       Offset = </div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>         CGM.getItaniumVTableContext().getVirtualBaseOffsetOffset(RD, BaseDecl);</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>     <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout = CGM.getContext().getASTRecordLayout(RD);</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>       Offset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a23d0a748e9b3b4515c23c5f9beabb2d7" title="getBaseClassOffset - Get the offset, in chars, for the given base class.">getBaseClassOffset</a>(BaseDecl);</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>     };</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>     OffsetFlags = uint64_t(Offset.<a class="code" href="classclang_1_1CharUnits.html#a09546c4bc2fefb3cb4d964eb9f25d33a" title="getQuantity - Get the raw integer representation of this quantity.">getQuantity</a>()) << 8;</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>     </div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>     <span class="comment">// The low-order byte of __offset_flags contains flags, as given by the </span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>     <span class="comment">// masks from the enumeration __offset_flags_masks.</span></div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>     <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a052cc9c7e1fb5a7095469c3be012c3a4" title="Determines whether the base class is a virtual base class (or not).">isVirtual</a>())</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>       OffsetFlags |= BCTI_Virtual;</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>     <span class="keywordflow">if</span> (Base-><a class="code" href="classclang_1_1CXXBaseSpecifier.html#a381b2f957930913c9cedc4ae2fe9ff1a" title="Returns the access specifier for this base specifier.">getAccessSpecifier</a>() == <a class="code" href="namespaceclang.html#afc8aabd1f46cf32e805cd0d970ef988fa163ae3a419460301961bc458f8f01fd3">AS_public</a>)</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>       OffsetFlags |= BCTI_Public;</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> </div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>     Fields.push_back(llvm::ConstantInt::get(LongLTy, OffsetFlags));</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>   }</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span> }</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span> <span class="comment"></span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span> <span class="comment">/// BuildPointerTypeInfo - Build an abi::__pointer_type_info struct,</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span> <span class="comment">/// used for pointer types.</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span> <span class="comment"></span><span class="keywordtype">void</span> RTTIBuilder::BuildPointerTypeInfo(<a class="code" href="classclang_1_1QualType.html">QualType</a> PointeeTy) {  </div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>   <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> Quals;</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> UnqualifiedPointeeTy = </div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>     CGM.getContext().getUnqualifiedArrayType(PointeeTy, Quals);</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>   </div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>   <span class="comment">//   __flags is a flag word describing the cv-qualification and other </span></div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>   <span class="comment">//   attributes of the type pointed to</span></div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   <span class="keywordtype">unsigned</span> Flags = <a class="code" href="CGRTTI_8cpp.html#a0b32477322b6e39a7ea5a71526950c3e">ComputeQualifierFlags</a>(Quals);</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span> </div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>   <span class="comment">//   When the abi::__pbase_type_info is for a direct or indirect pointer to an</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>   <span class="comment">//   incomplete class type, the incomplete target type flag is set. </span></div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>   <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">ContainsIncompleteClassType</a>(UnqualifiedPointeeTy))</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>     Flags |= PTI_Incomplete;</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span> </div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>   llvm::Type *UnsignedIntLTy = </div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>     CGM.getTypes().ConvertType(CGM.getContext().UnsignedIntTy);</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>   Fields.push_back(llvm::ConstantInt::get(UnsignedIntLTy, Flags));</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>   </div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>   <span class="comment">//  __pointee is a pointer to the std::type_info derivation for the </span></div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>   <span class="comment">//  unqualified type being pointed to.</span></div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>   llvm::Constant *PointeeTypeInfo = </div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>     RTTIBuilder(CGM).BuildTypeInfo(UnqualifiedPointeeTy);</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   Fields.push_back(PointeeTypeInfo);</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="comment"></span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span> <span class="comment">/// BuildPointerToMemberTypeInfo - Build an abi::__pointer_to_member_type_info </span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span> <span class="comment">/// struct, used for member pointer types.</span></div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span> <span class="comment"></span><span class="keywordtype">void</span> RTTIBuilder::BuildPointerToMemberTypeInfo(<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *Ty) {</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> PointeeTy = Ty-><a class="code" href="classclang_1_1MemberPointerType.html#a3f0b2f25c4ad91d2e8bd2752d9552199">getPointeeType</a>();</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>   </div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>   <a class="code" href="classclang_1_1Qualifiers.html">Qualifiers</a> Quals;</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> UnqualifiedPointeeTy = </div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>     CGM.getContext().getUnqualifiedArrayType(PointeeTy, Quals);</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>   </div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>   <span class="comment">//   __flags is a flag word describing the cv-qualification and other </span></div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>   <span class="comment">//   attributes of the type pointed to.</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>   <span class="keywordtype">unsigned</span> Flags = <a class="code" href="CGRTTI_8cpp.html#a0b32477322b6e39a7ea5a71526950c3e">ComputeQualifierFlags</a>(Quals);</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span> </div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *ClassType = cast<RecordType>(Ty-><a class="code" href="classclang_1_1MemberPointerType.html#a74f40efdd2bcca293720459931fba7ea">getClass</a>());</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span> </div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>   <span class="comment">//   When the abi::__pbase_type_info is for a direct or indirect pointer to an</span></div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>   <span class="comment">//   incomplete class type, the incomplete target type flag is set. </span></div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>   <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#adfa59e7b076a96ebbe4d6ae18e8e88bc">ContainsIncompleteClassType</a>(UnqualifiedPointeeTy))</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>     Flags |= PTI_Incomplete;</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span> </div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>   <span class="keywordflow">if</span> (<a class="code" href="CGRTTI_8cpp.html#a2a4f3d02d60e4d3e9df10568f753ecbe" title="IsIncompleteClassType - Returns whether the given record type is incomplete.">IsIncompleteClassType</a>(ClassType))</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>     Flags |= PTI_ContainingClassIncomplete;</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>   </div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>   llvm::Type *UnsignedIntLTy = </div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>     CGM.getTypes().ConvertType(CGM.getContext().UnsignedIntTy);</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>   Fields.push_back(llvm::ConstantInt::get(UnsignedIntLTy, Flags));</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>   <span class="comment">// Itanium C++ ABI 2.9.5p7:</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>   <span class="comment">//   __pointee is a pointer to the std::type_info derivation for the </span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>   <span class="comment">//   unqualified type being pointed to.</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>   llvm::Constant *PointeeTypeInfo = </div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>     RTTIBuilder(CGM).BuildTypeInfo(UnqualifiedPointeeTy);</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>   Fields.push_back(PointeeTypeInfo);</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span> </div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>   <span class="comment">// Itanium C++ ABI 2.9.5p9:</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>   <span class="comment">//   __context is a pointer to an abi::__class_type_info corresponding to the</span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>   <span class="comment">//   class type containing the member pointed to </span></div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>   <span class="comment">//   (e.g., the "A" in "int A::*").</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>   Fields.push_back(RTTIBuilder(CGM).BuildTypeInfo(<a class="code" href="classclang_1_1QualType.html">QualType</a>(ClassType, 0)));</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span> }</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span> </div>
+<div class="line"><a name="l00941"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a26dd0d4d938af486c3ed61a04cf97ed5">  941</a></span> llvm::Constant *<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#a26dd0d4d938af486c3ed61a04cf97ed5">CodeGenModule::GetAddrOfRTTIDescriptor</a>(<a class="code" href="classclang_1_1QualType.html">QualType</a> Ty,</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>                                                        <span class="keywordtype">bool</span> ForEH) {</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>   <span class="comment">// Return a bogus pointer if RTTI is disabled, unless it's for EH.</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>   <span class="comment">// FIXME: should we even be calling this method if RTTI is disabled</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>   <span class="comment">// and it's not for EH?</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>   <span class="keywordflow">if</span> (!ForEH && !<a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#abae1594027ce284ce5b7f06c66d24ea7">getLangOpts</a>().RTTI)</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>     <span class="keywordflow">return</span> llvm::Constant::getNullValue(<a class="code" href="structclang_1_1CodeGen_1_1CodeGenTypeCache.html#ac3ec7e3938996c5354dbee1a103ed4d2">Int8PtrTy</a>);</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>   </div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>   <span class="keywordflow">if</span> (ForEH && Ty-><a class="code" href="classclang_1_1Type.html#aa9be9c3ceec53da8edbbb86bbf895fff">isObjCObjectPointerType</a>() &&</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>       LangOpts.<a class="code" href="classclang_1_1LangOptions.html#a34a8b84f730051971c84c36daa84dda7">ObjCRuntime</a>.<a class="code" href="classclang_1_1ObjCRuntime.html#a862ec9a2d6a891a16580f1c5d63cd7a2" title="Is this runtime basically of the GNU family of runtimes?">isGNUFamily</a>())</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1ObjCRuntime.html" title="The basic abstraction for the target Objective-C runtime.">ObjCRuntime</a>->GetEHType(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>   <span class="keywordflow">return</span> RTTIBuilder(*this).BuildTypeInfo(Ty);</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span> }</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span> </div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span> <span class="keywordtype">void</span> CodeGenModule::EmitFundamentalRTTIDescriptor(<a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1Type.html">Type</a>) {</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> <a class="code" href="classclang_1_1PointerType.html">PointerType</a> = Context.<a class="code" href="classclang_1_1ASTContext.html#a3574cad49cba0fc48ab7b4c953e7e31e" title="Return the uniqued reference to the type for a pointer to the specified type.">getPointerType</a>(Type);</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> PointerTypeConst = Context.<a class="code" href="classclang_1_1ASTContext.html#a3574cad49cba0fc48ab7b4c953e7e31e" title="Return the uniqued reference to the type for a pointer to the specified type.">getPointerType</a>(Type.<a class="code" href="classclang_1_1QualType.html#af67a97892c8d03335815654b4b1b27db">withConst</a>());</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>   RTTIBuilder(*this).BuildTypeInfo(Type, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>   RTTIBuilder(*this).BuildTypeInfo(PointerType, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>   RTTIBuilder(*this).BuildTypeInfo(PointerTypeConst, <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span> }</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span> </div>
+<div class="line"><a name="l00964"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#aeccc561a8c2da3f239a6cb5ad866762e">  964</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CodeGenModule.html#aeccc561a8c2da3f239a6cb5ad866762e">CodeGenModule::EmitFundamentalRTTIDescriptors</a>() {</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>   <a class="code" href="classclang_1_1QualType.html">QualType</a> FundamentalTypes[] = { Context.<a class="code" href="classclang_1_1ASTContext.html#aaa9dd0ebd4ff2e55c572f5718b7af508">VoidTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#a4eb591aa13a2b8d1fe0635de7b78afd1">NullPtrTy</a>,</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a699510ff594ec09506e02c3ec68e4ff5">BoolTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#ae128b93f45385b80c046cae6669f3dc7">WCharTy</a>,</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a80ed5a736a74c76bbbd66b90821d1689">CharTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#aab61651b1e4d7e541343e7155263e861">UnsignedCharTy</a>,</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a92063d19fd6dd12d2d3c1a016ffc849f">SignedCharTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#ac369991763a2aa6bf9a8a3ded653afd8">ShortTy</a>, </div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#ab9a777cc7ccb5b943f68c7d443b3cc86">UnsignedShortTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#a873a1148a8ffe184f0e5bd27bf90c0dc">IntTy</a>,</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#aad4fc6bf8d266a4dbc03cd9d3a86aab4">UnsignedIntTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#a0ba7f01d5d975ce7f18b482b052f10fb">LongTy</a>, </div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a76182acff43ec4d01c06751bb8a2f7bc">UnsignedLongTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#adca2e7646f51ee1e280cfad7b108bc60">LongLongTy</a>, </div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#ab61a96bf1fc99d696d00eefe6104ea70">UnsignedLongLongTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#a30d239b8f8a7995d23cb4349038fa74f">FloatTy</a>,</div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a366594144d93311decc086cb980d69c2">DoubleTy</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#a3c4917789ce7a56eb126523906975140">LongDoubleTy</a>,</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>                                   Context.<a class="code" href="classclang_1_1ASTContext.html#a3d6a0672fdf5a30b9acab8ee9531c412">Char16Ty</a>, Context.<a class="code" href="classclang_1_1ASTContext.html#acb8f246b353fa5927d539a987e965de4">Char32Ty</a> };</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < llvm::array_lengthof(FundamentalTypes); ++i)</div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>     EmitFundamentalRTTIDescriptor(FundamentalTypes[i]);</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGRTTI_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRTTI_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRTTI_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRTTI_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,663 @@
+<!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: CGRTTI.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">CGRTTI.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGRTTI_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/CGRTTI.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/Release+Asserts/CGRTTI.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CGRTTI.cpp CodeGenModule.h CGVTables.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.h \</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>  /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.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/Support/AlignOf.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</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="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</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="l00066"></a><span class="lineno">   66</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="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</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="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ABI.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/include/llvm/IR/GlobalVariable.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/include/llvm/IR/GlobalValue.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/include/llvm/IR/Constant.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/include/llvm/IR/User.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/include/llvm/IR/Use.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/include/llvm-c/Core.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/include/llvm/IR/Type.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/include/llvm/IR/OperandTraits.h CodeGenTypes.h \
+ CGCall.h CGValue.h \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h EHScopeStack.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/include/llvm/IR/BasicBlock.h \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.h \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/include/llvm/Support/DebugLoc.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.def \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/include/llvm/IR/SymbolTableListTraits.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/include/llvm/IR/Instructions.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/include/llvm/IR/Attributes.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</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="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/include/llvm/IR/InstrTypes.h ABIInfo.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/include/llvm/IR/Module.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/include/llvm/IR/Function.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/include/llvm/IR/Argument.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/include/llvm/IR/GlobalAlias.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/include/llvm/IR/Metadata.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Mangle.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/include/llvm/Support/ValueHandle.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h \
+ CGCXXABI.h CodeGenFunction.h CGBuilder.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/include/llvm/IR/IRBuilder.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/include/llvm/IR/DataLayout.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/include/llvm/PassSupport.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/include/llvm/InitializePasses.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/include/llvm/PassRegistry.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/include/llvm/Support/Valgrind.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/include/llvm/IR/LLVMContext.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/include/llvm/IR/Operator.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/include/llvm/IR/Constants.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/include/llvm/Support/ConstantFolder.h CGDebugInfo.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>  /home/tstellar/llvm/include/llvm/DIBuilder.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>  /home/tstellar/llvm/include/llvm/DebugInfo.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/include/llvm/Support/Dwarf.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 CGObjCRuntime.h</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> CodeGenModule.h:</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> CGVTables.h:</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> </div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> /home/tstellar/llvm/include/llvm/Support/type_traits.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/MathExtras.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/SwapByteOrder.h:</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> /home/tstellar/llvm/include/llvm/ADT/DenseMap.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/AlignOf.h:</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h:</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h:</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.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/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.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/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h:</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.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/Support/Casting.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/None.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/ADT/PointerIntPair.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</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/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h:</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.h:</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.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/ADT/APFloat.h:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> /home/tstellar/llvm/include/llvm/ADT/APInt.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/ADT/APSInt.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/PointerUnion.h:</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> </div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> </div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def:</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/ADT/SmallString.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/ADT/StringRef.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/ADT/StringMap.h:</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> </div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h:</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h:</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> </div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> </div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h:</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> /home/tstellar/llvm/include/llvm/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> /home/tstellar/llvm/tools/clang/lib/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="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/Support/PrettyStackTrace.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/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc:</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/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.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/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.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/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h:</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span> /home/tstellar/llvm/include/llvm/ADT/FoldingSet.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/TemplateName.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/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="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/<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="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/Optional.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/Twine.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/include/llvm/Support/ErrorHandling.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/TypeNodes.def:</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def:</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/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/include/llvm/Support/TimeValue.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/include/llvm/Support/system_error.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/AST/Expr.h:</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/OperationKinds.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/AST/Stmt.h:</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/tools/clang/lib/CodeGen/../../include/clang/AST/DeclGroup.h:</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtIterator.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/CapturedStmt.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/AST/StmtNodes.inc:</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/AST/TemplateBase.h:</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span> </div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.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/TypeTraits.h:</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Builtins.def:</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/AST/ExprCXX.h:</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h:</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span> </div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.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/AST/TypeLoc.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/AST/TypeLocNodes.def:</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/ADT/SmallPtrSet.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/DeclObjC.h:</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> </div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> /home/tstellar/llvm/tools/clang/lib/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="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/Basic/ABI.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/VTableBuilder.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/CXXInheritance.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/TypeOrdering.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/CanonicalType.h:</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> </div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> /home/tstellar/llvm/include/llvm/ADT/MapVector.h:</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span> /home/tstellar/llvm/include/llvm/ADT/SmallSet.h:</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span> </div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.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/include/llvm/ADT/SetVector.h:</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> /home/tstellar/llvm/include/llvm/ADT/DenseSet.h:</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span> /home/tstellar/llvm/include/llvm/IR/GlobalVariable.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/ADT/ilist_node.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/IR/GlobalValue.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/IR/Constant.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/IR/User.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/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.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/include/llvm/IR/Use.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/include/llvm/Support/CBindingWrapping.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/include/llvm-c/Core.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/include/llvm/IR/DerivedTypes.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/include/llvm/IR/Type.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/include/llvm/IR/OperandTraits.h:</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span> CodeGenTypes.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> CGCall.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> CGValue.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/AST/ASTContext.h:</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/AST/ASTTypeTraits.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/AST/ASTFwd.h:</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.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/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h:</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span> </div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc:</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span> </div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.h:</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> </div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.h:</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ObjCRuntime.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/Basic/VersionTuple.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/include/llvm/ADT/Triple.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/Basic/Sanitizers.def:</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/Basic/LangOptions.def:</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/Basic/OpenCLExtensions.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/RawCommentList.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/Basic/SourceManager.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/FileManager.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/Basic/FileSystemOptions.h:</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/include/llvm/Support/MemoryBuffer.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/AddressSpaces.h:</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span> /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.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> EHScopeStack.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/IR/BasicBlock.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/include/llvm/ADT/ilist.h:</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span> </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span> /home/tstellar/llvm/include/llvm/IR/Instruction.h:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span> /home/tstellar/llvm/include/llvm/Support/DebugLoc.h:</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span> </div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span> /home/tstellar/llvm/include/llvm/IR/Instruction.def:</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/include/llvm/IR/SymbolTableListTraits.h:</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span> </div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span> /home/tstellar/llvm/include/llvm/IR/Instructions.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/include/llvm/IR/Attributes.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/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="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/IR/InstrTypes.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> ABIInfo.h:</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h:</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span> </div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span> /home/tstellar/llvm/include/llvm/IR/Module.h:</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span> </div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span> /home/tstellar/llvm/include/llvm/IR/Function.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> /home/tstellar/llvm/include/llvm/IR/Argument.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/include/llvm/IR/GlobalAlias.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/include/llvm/IR/Metadata.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/Attr.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/Basic/AttrKinds.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/Basic/AttrList.inc:</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/include/llvm/ADT/StringSwitch.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/AST/Attrs.inc:</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/AST/Mangle.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/Basic/Module.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/include/llvm/Support/ValueHandle.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/include/llvm/Transforms/Utils/SpecialCaseList.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> CGCXXABI.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> CodeGenFunction.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> CGBuilder.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/IR/IRBuilder.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/IR/DataLayout.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/include/llvm/Pass.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/PassSupport.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/Pass.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/InitializePasses.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> /home/tstellar/llvm/include/llvm/PassRegistry.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> /home/tstellar/llvm/include/llvm/Support/Atomic.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> /home/tstellar/llvm/include/llvm/Support/Valgrind.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/include/llvm/PassAnalysisSupport.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/LLVMContext.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/Operator.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/Constants.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/Support/GetElementPtrTypeIterator.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/include/llvm/Support/ConstantFolder.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> CGDebugInfo.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/Frontend/CodeGenOptions.h:</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/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def:</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/include/llvm/DIBuilder.h:</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/include/llvm/DebugInfo.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/include/llvm/Support/Dwarf.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/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.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/Basic/TargetInfo.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/TargetCXXABI.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/TargetOptions.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/include/llvm/Support/Debug.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> CGObjCRuntime.h:</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span> </div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGRecordLayoutBuilder_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayoutBuilder_8cpp_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayoutBuilder_8cpp_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayoutBuilder_8cpp_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,1194 @@
+<!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: CGRecordLayoutBuilder.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">CGRecordLayoutBuilder.cpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGRecordLayoutBuilder_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">//===--- CGRecordLayoutBuilder.cpp - CGRecordLayout builder  ----*- 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">// Builder implementation for CGRecordLayout objects.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="CGRecordLayout_8h.html">CGRecordLayout.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span> <span class="preprocessor">#include "<a class="code" href="CGCXXABI_8h.html">CGCXXABI.h</a>"</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "<a class="code" href="CodeGenTypes_8h.html">CodeGenTypes.h</a>"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "<a class="code" href="ASTContext_8h.html" title="Defines the clang::ASTContext interface.">clang/AST/ASTContext.h</a>"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> <span class="preprocessor">#include "<a class="code" href="Attr_8h.html">clang/AST/Attr.h</a>"</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="preprocessor">#include "<a class="code" href="CXXInheritance_8h.html">clang/AST/CXXInheritance.h</a>"</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</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="l00021"></a><span class="lineno">   21</span> <span class="preprocessor">#include "<a class="code" href="Expr_8h.html">clang/AST/Expr.h</a>"</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span> <span class="preprocessor">#include "<a class="code" href="RecordLayout_8h.html">clang/AST/RecordLayout.h</a>"</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="preprocessor">#include "<a class="code" href="CodeGenOptions_8h.html">clang/Frontend/CodeGenOptions.h</a>"</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="preprocessor">#include "llvm/IR/DataLayout.h"</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="preprocessor">#include "llvm/IR/DerivedTypes.h"</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="preprocessor">#include "llvm/IR/Type.h"</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="preprocessor">#include "llvm/Support/Debug.h"</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="preprocessor">#include "llvm/Support/raw_ostream.h"</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="keyword">using namespace </span>clang;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="keyword">using namespace </span>CodeGen;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="keyword">namespace </span>{</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="keyword">class </span>CGRecordLayoutBuilder {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="keyword">public</span>:<span class="comment"></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">  /// FieldTypes - Holds the LLVM types that the struct is created from.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">  /// </span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<llvm::Type *, 16></a> FieldTypes;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment"></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">  /// BaseSubobjectType - Holds the LLVM type for the non-virtual part</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">  /// of the struct. For example, consider:</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">  /// struct A { int i; };</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">  /// struct B { void *v; };</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">  /// struct C : virtual A, B { };</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">  /// The LLVM type of C will be</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">  /// %struct.C = type { i32 (...)**, %struct.A, i32, %struct.B }</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">  /// And the LLVM type of the non-virtual base struct will be</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">  /// %struct.C.base = type { i32 (...)**, %struct.A, i32 }</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">  ///</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">  /// This only gets initialized if the base subobject type is</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">  /// different from the complete-object type.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment"></span>  llvm::StructType *BaseSubobjectType;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment"></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">  /// FieldInfo - Holds a field and its corresponding LLVM field number.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment"></span>  llvm::DenseMap<const FieldDecl *, unsigned> Fields;</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">  /// BitFieldInfo - Holds location and size information about a bit field.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment"></span>  llvm::DenseMap<const FieldDecl *, CGBitFieldInfo> BitFields;</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>   llvm::DenseMap<const CXXRecordDecl *, unsigned> NonVirtualBases;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>   llvm::DenseMap<const CXXRecordDecl *, unsigned> VirtualBases;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment"></span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span> <span class="comment">  /// IndirectPrimaryBases - Virtual base classes, direct or indirect, that are</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment">  /// primary base classes for some other direct or indirect base class.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CXXIndirectPrimaryBaseSet.html" title="A set of all the primary bases for a class.">CXXIndirectPrimaryBaseSet</a> IndirectPrimaryBases;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span> <span class="comment"></span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment">  /// LaidOutVirtualBases - A set of all laid out virtual bases, used to avoid</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">  /// avoid laying out virtual bases more than once.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span> <span class="comment"></span>  llvm::SmallPtrSet<const CXXRecordDecl *, 4> LaidOutVirtualBases;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment">  /// IsZeroInitializable - Whether this struct can be C++</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span> <span class="comment">  /// zero-initialized with an LLVM zeroinitializer.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment"></span>  <span class="keywordtype">bool</span> IsZeroInitializable;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>   <span class="keywordtype">bool</span> IsZeroInitializableAsBase;</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">  /// Packed - Whether the resulting LLVM struct will be packed or not.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment"></span>  <span class="keywordtype">bool</span> Packed;</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="keyword">private</span>:</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>   <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html">CodeGenTypes</a> &Types;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span> <span class="comment"></span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span> <span class="comment">  /// LastLaidOutBaseInfo - Contains the offset and non-virtual size of the</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> <span class="comment">  /// last base laid out. Used so that we can replace the last laid out base</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span> <span class="comment">  /// type with an i8 array if needed.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span> <span class="comment"></span>  <span class="keyword">struct </span>LastLaidOutBaseInfo {</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualSize;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>     <span class="keywordtype">bool</span> isValid()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !NonVirtualSize.<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="l00093"></a><span class="lineno">   93</span>     <span class="keywordtype">void</span> invalidate() { NonVirtualSize = <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="l00094"></a><span class="lineno">   94</span>   </div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>   } LastLaidOutBase;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  /// Alignment - Contains the alignment of the RecordDecl.</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> Alignment;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span> <span class="comment">  /// NextFieldOffset - Holds the next field offset.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NextFieldOffset;</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">  /// LayoutUnionField - Will layout a field in an union and return the type</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment">  /// that the field will have.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment"></span>  llvm::Type *LayoutUnionField(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *Field,</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>                                <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout);</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment">  /// LayoutUnion - Will layout a union RecordDecl.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span> <span class="comment"></span>  <span class="keywordtype">void</span> LayoutUnion(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span> <span class="comment"></span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> <span class="comment">  /// Lay out a sequence of contiguous bitfields.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutBitfields(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout,</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>                        <span class="keywordtype">unsigned</span> &FirstFieldNo,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>                        <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> &FI,</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>                        <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> FE);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment"></span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment">  /// LayoutFields - try to layout all fields in the record decl.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment">  /// Returns false if the operation failed because the struct is not packed.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutFields(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment"></span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment">  /// Layout a single base, virtual or non-virtual</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutBase(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>                   <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &baseLayout,</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>                   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> baseOffset);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment"></span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment">  /// LayoutVirtualBase - layout a single virtual base.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutVirtualBase(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base,</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>                          <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> baseOffset);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment"></span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment">  /// LayoutVirtualBases - layout the virtual bases of a record decl.</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutVirtualBases(<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="l00132"></a><span class="lineno">  132</span>                           <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span> <span class="comment"></span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span> <span class="comment">  /// MSLayoutVirtualBases - layout the virtual bases of a record decl,</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment">  /// like MSVC.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment"></span>  <span class="keywordtype">bool</span> MSLayoutVirtualBases(<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="l00137"></a><span class="lineno">  137</span>                             <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">  /// LayoutNonVirtualBase - layout a single non-virtual base.</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutNonVirtualBase(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base,</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>                             <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> baseOffset);</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="comment">  /// LayoutNonVirtualBases - layout the virtual bases of a record decl.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutNonVirtualBases(<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="l00145"></a><span class="lineno">  145</span>                              <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment">  /// ComputeNonVirtualBaseType - Compute the non-virtual base field types.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> <span class="comment"></span>  <span class="keywordtype">bool</span> ComputeNonVirtualBaseType(<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="l00149"></a><span class="lineno">  149</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span> <span class="comment">  /// LayoutField - layout a single field. Returns false if the operation failed</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span> <span class="comment">  /// because the current struct is not packed.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span> <span class="comment"></span>  <span class="keywordtype">bool</span> LayoutField(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *D, uint64_t FieldOffset);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span> <span class="comment"></span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span> <span class="comment">  /// LayoutBitField - layout a single bit field.</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span> <span class="comment"></span>  <span class="keywordtype">void</span> LayoutBitField(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *D, uint64_t FieldOffset);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span> <span class="comment"></span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span> <span class="comment">  /// AppendField - Appends a field with the given offset and type.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> <span class="comment"></span>  <span class="keywordtype">void</span> AppendField(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldOffset, llvm::Type *FieldTy);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment"></span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment">  /// AppendPadding - Appends enough padding bytes so that the total</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span> <span class="comment">  /// struct size is a multiple of the field alignment.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span> <span class="comment"></span>  <span class="keywordtype">void</span> AppendPadding(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldOffset, <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldAlignment);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span> <span class="comment"></span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment">  /// ResizeLastBaseFieldIfNecessary - Fields and bases can be laid out in the</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">  /// tail padding of a previous base. If this happens, the type of the previous</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment">  /// base needs to be changed to an array of i8. Returns true if the last</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span> <span class="comment">  /// laid out base was resized.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span> <span class="comment"></span>  <span class="keywordtype">bool</span> ResizeLastBaseFieldIfNecessary(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> offset);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span> <span class="comment"></span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment">  /// getByteArrayType - Returns a byte array type with the given number of</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> <span class="comment">  /// elements.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment"></span>  llvm::Type *getByteArrayType(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NumBytes);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>   <span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span> <span class="comment">  /// AppendBytes - Append a given number of bytes to the record.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span> <span class="comment"></span>  <span class="keywordtype">void</span> AppendBytes(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> numBytes);</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span> <span class="comment"></span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment">  /// AppendTailPadding - Append enough tail padding so that the type will have</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment">  /// the passed size.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span> <span class="comment"></span>  <span class="keywordtype">void</span> AppendTailPadding(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> RecordSize);</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>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> getTypeAlignment(llvm::Type *Ty) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment"></span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> <span class="comment">  /// getAlignmentAsLLVMStruct - Returns the maximum alignment of all the</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment">  /// LLVM element types.</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span> <span class="comment"></span>  <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> getAlignmentAsLLVMStruct() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span> <span class="comment"></span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span> <span class="comment">  /// CheckZeroInitializable - Check if the given type contains a pointer</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> <span class="comment">  /// to data member.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> <span class="comment"></span>  <span class="keywordtype">void</span> CheckZeroInitializable(<a class="code" href="classclang_1_1QualType.html">QualType</a> T);</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="keyword">public</span>:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>   CGRecordLayoutBuilder(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html">CodeGenTypes</a> &Types)</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>     : BaseSubobjectType(0),</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>       IsZeroInitializable(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>), IsZeroInitializableAsBase(<a class="code" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">true</a>),</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>       Packed(<a class="code" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">false</a>), Types(Types) { }</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment"></span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> <span class="comment">  /// Layout - Will layout a RecordDecl.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> <span class="comment"></span>  <span class="keywordtype">void</span> Layout(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> };</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> }</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> <span class="keywordtype">void</span> CGRecordLayoutBuilder::Layout(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D) {</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout = Types.getContext().getASTRecordLayout(D);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>   Alignment = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a0a415308b868a9b10df3c05b68e61db1" title="getAlignment - Get the record alignment in characters.">getAlignment</a>();</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>   Packed = D-><a class="code" href="classclang_1_1Decl.html#ac60cc8b34313e03a5c40277c5c5ad61b">hasAttr</a><<a class="code" href="classclang_1_1PackedAttr.html">PackedAttr</a>>() || Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a43a5213b8bf9e017693c3b25fd0fb767" title="getSize - Get the record size in characters.">getSize</a>() % Alignment != 0;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>   <span class="keywordflow">if</span> (D-><a class="code" href="classclang_1_1TagDecl.html#a76233fd9169fc9bfa27603ad5477f02a">isUnion</a>()) {</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>     LayoutUnion(D);</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   }</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>   <span class="keywordflow">if</span> (LayoutFields(D))</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>   <span class="comment">// We weren't able to layout the struct. Try again with a packed struct</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>   Packed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>   LastLaidOutBase.invalidate();</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>   NextFieldOffset = <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="l00220"></a><span class="lineno">  220</span>   FieldTypes.clear();</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>   Fields.clear();</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>   BitFields.clear();</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>   NonVirtualBases.clear();</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>   VirtualBases.clear();</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>   LayoutFields(D);</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> </div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad8d73df07814bda59cacfb267bc586c7">  229</a></span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html" title="Structure with information about how a bitfield should be accessed.">CGBitFieldInfo</a> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad8d73df07814bda59cacfb267bc586c7" title="Given a bit-field decl, build an appropriate helper object for accessing that field (which is expecte...">CGBitFieldInfo::MakeInfo</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html">CodeGenTypes</a> &Types,</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD,</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>                                         uint64_t <a class="code" href="namespaceclang_1_1io.html#ae0bbdf4a2b076935546931e52d48d29b">Offset</a>, uint64_t Size,</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>                                         uint64_t StorageSize,</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>                                         uint64_t StorageAlignment) {</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>   llvm::Type *Ty = Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a9e549d382da897b9d23ed3e2c65e6cf7">ConvertTypeForMem</a>(FD-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>());</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> TypeSizeInBytes =</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>     <a class="code" href="classclang_1_1CharUnits.html#adf6d3a79993b58285a0626b61c2c6c82" title="fromQuantity - Construct a CharUnits quantity from a raw integer type.">CharUnits::fromQuantity</a>(Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().getTypeAllocSize(Ty));</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>   uint64_t TypeSizeInBits = Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a95106fc9aa2f8cbcf459d9915bacbfd2" title="Convert a size in characters to a size in bits.">toBits</a>(TypeSizeInBytes);</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>   <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad681db49ae8862638d0de8e5edab7b33" title="Whether the bit-field is signed.">IsSigned</a> = FD-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>()-><a class="code" href="classclang_1_1Type.html#ac1a93888d84731955cd5e95d6510aea6">isSignedIntegerOrEnumerationType</a>();</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>   <span class="keywordflow">if</span> (Size > TypeSizeInBits) {</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>     <span class="comment">// We have a wide bit-field. The extra bits are only used for padding, so</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>     <span class="comment">// if we have a bitfield of type T, with size N:</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>     <span class="comment">// T t : N;</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>     <span class="comment">// We can just assume that it's:</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>     <span class="comment">// T t : sizeof(T);</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>     <span class="comment">//</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>     Size = TypeSizeInBits;</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> </div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>   <span class="comment">// Reverse the bit offsets for big endian machines. Because we represent</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>   <span class="comment">// a bitfield as a single large integer load, we can imagine the bits</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>   <span class="comment">// counting from the most-significant-bit instead of the</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>   <span class="comment">// least-significant-bit.</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>   <span class="keywordflow">if</span> (Types.<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().isBigEndian()) {</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>     Offset = StorageSize - (Offset + <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a>);</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>   }</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>   <span class="keywordflow">return</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#aae92f8f390fbac0f246f4a325658f263">CGBitFieldInfo</a>(Offset, Size, IsSigned, StorageSize, StorageAlignment);</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span> }</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span> <span class="comment"></span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span> <span class="comment">/// \brief Layout the range of bitfields from BFI to BFE as contiguous storage.</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> <span class="comment"></span><span class="keywordtype">bool</span> CGRecordLayoutBuilder::LayoutBitfields(<span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout,</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>                                             <span class="keywordtype">unsigned</span> &FirstFieldNo,</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>                                             <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> &FI,</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>                                             <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> FE) {</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>   assert(FI != FE);</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>   uint64_t FirstFieldOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(FirstFieldNo);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>   uint64_t NextFieldOffsetInBits = Types.getContext().toBits(NextFieldOffset);</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>   <span class="keywordtype">unsigned</span> CharAlign = Types.getTarget().getCharAlign();</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>   assert(FirstFieldOffset % CharAlign == 0 &&</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>          <span class="stringliteral">"First field offset is misaligned"</span>);</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> FirstFieldOffsetInBytes</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>     = Types.getContext().toCharUnitsFromBits(FirstFieldOffset);</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>   <span class="keywordtype">unsigned</span> StorageAlignment</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>     = llvm::MinAlign(Alignment.getQuantity(),</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>                      FirstFieldOffsetInBytes.<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="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>   <span class="keywordflow">if</span> (FirstFieldOffset < NextFieldOffsetInBits) {</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> FieldOffsetInCharUnits =</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>       Types.getContext().toCharUnitsFromBits(FirstFieldOffset);</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">// Try to resize the last base field.</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>     <span class="keywordflow">if</span> (!ResizeLastBaseFieldIfNecessary(FieldOffsetInCharUnits))</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>       llvm_unreachable(<span class="stringliteral">"We must be able to resize the last base if we need to "</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>                        <span class="stringliteral">"pack bits into it."</span>);</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>     NextFieldOffsetInBits = Types.getContext().toBits(NextFieldOffset);</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>     assert(FirstFieldOffset >= NextFieldOffsetInBits);</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> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>   <span class="comment">// Append padding if necessary.</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>   AppendPadding(Types.getContext().toCharUnitsFromBits(FirstFieldOffset),</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>                 <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>());</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>   <span class="comment">// Find the last bitfield in a contiguous run of bitfields.</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>   <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> BFI = FI;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>   <span class="keywordtype">unsigned</span> LastFieldNo = FirstFieldNo;</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>   uint64_t NextContiguousFieldOffset = FirstFieldOffset;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> FJ = FI;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>        (FJ != FE && (*FJ)->isBitField() &&</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>         NextContiguousFieldOffset == Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(LastFieldNo) &&</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>         (*FJ)->getBitWidthValue(Types.getContext()) != 0); FI = FJ++) {</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>     NextContiguousFieldOffset += (*FJ)->getBitWidthValue(Types.getContext());</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>     ++LastFieldNo;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>     <span class="comment">// We must use packed structs for packed fields, and also unnamed bit</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>     <span class="comment">// fields since they don't affect the struct alignment.</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>     <span class="keywordflow">if</span> (!Packed && ((*FJ)->hasAttr<<a class="code" href="classclang_1_1PackedAttr.html">PackedAttr</a>>() || !(*FJ)->getDeclName()))</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>   }</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>   <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> BFE = llvm::next(FI);</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>   --LastFieldNo;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>   assert(LastFieldNo >= FirstFieldNo && <span class="stringliteral">"Empty run of contiguous bitfields"</span>);</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>   <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *LastFD = *FI;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>   <span class="comment">// Find the last bitfield's offset, add its size, and round it up to the</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>   <span class="comment">// character alignment to compute the storage required.</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>   uint64_t LastFieldOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(LastFieldNo);</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>   uint64_t LastFieldSize = LastFD-><a class="code" href="classclang_1_1FieldDecl.html#ae5e97c5f219d8bd73934ef38453ae44a">getBitWidthValue</a>(Types.getContext());</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>   uint64_t TotalBits = (LastFieldOffset + LastFieldSize) - FirstFieldOffset;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> StorageBytes = Types.getContext().toCharUnitsFromBits(</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>     llvm::RoundUpToAlignment(TotalBits, CharAlign));</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>   uint64_t StorageBits = Types.getContext().toBits(StorageBytes);</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>   <span class="comment">// Grow the storage to encompass any known padding in the layout when doing</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>   <span class="comment">// so will make the storage a power-of-two. There are two cases when we can</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>   <span class="comment">// do this. The first is when we have a subsequent field and can widen up to</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>   <span class="comment">// its offset. The second is when the data size of the AST record layout is</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>   <span class="comment">// past the end of the current storage. The latter is true when there is tail</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>   <span class="comment">// padding on a struct and no members of a super class can be packed into it.</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>   <span class="comment">//</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>   <span class="comment">// Note that we widen the storage as much as possible here to express the</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>   <span class="comment">// maximum latitude the language provides, and rely on the backend to lower</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>   <span class="comment">// these in conjunction with shifts and masks to narrower operations where</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>   <span class="comment">// beneficial.</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>   uint64_t EndOffset = Types.getContext().toBits(Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a770fa0626bdbb73a03d6fedbda252033">getDataSize</a>());</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>   <span class="keywordflow">if</span> (BFE != FE)</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>     <span class="comment">// If there are more fields to be laid out, the offset at the end of the</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>     <span class="comment">// bitfield is the offset of the next field in the record.</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>     EndOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(LastFieldNo + 1);</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>   assert(EndOffset >= (FirstFieldOffset + TotalBits) &&</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>          <span class="stringliteral">"End offset is not past the end of the known storage bits."</span>);</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>   uint64_t SpaceBits = EndOffset - FirstFieldOffset;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>   uint64_t LongBits = Types.getTarget().getLongWidth();</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>   uint64_t WidenedBits = (StorageBits / LongBits) * LongBits +</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>                          llvm::NextPowerOf2(StorageBits % LongBits - 1);</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>   assert(WidenedBits >= StorageBits && <span class="stringliteral">"Widening shrunk the bits!"</span>);</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>   <span class="keywordflow">if</span> (WidenedBits <= SpaceBits) {</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>     StorageBits = WidenedBits;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>     StorageBytes = Types.getContext().toCharUnitsFromBits(StorageBits);</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>     assert(StorageBits == (uint64_t)Types.getContext().toBits(StorageBytes));</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>   }</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> </div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>   <span class="keywordtype">unsigned</span> FieldIndex = FieldTypes.size();</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>   AppendBytes(StorageBytes);</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>   <span class="comment">// Now walk the bitfields associating them with this field of storage and</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>   <span class="comment">// building up the bitfield specific info.</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>   <span class="keywordtype">unsigned</span> FieldNo = FirstFieldNo;</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>   <span class="keywordflow">for</span> (; BFI != BFE; ++BFI, ++FieldNo) {</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>     <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD = *BFI;</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>     uint64_t FieldOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(FieldNo) - FirstFieldOffset;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>     uint64_t FieldSize = FD-><a class="code" href="classclang_1_1FieldDecl.html#ae5e97c5f219d8bd73934ef38453ae44a">getBitWidthValue</a>(Types.getContext());</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>     Fields[FD] = FieldIndex;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>     BitFields[FD] = <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad8d73df07814bda59cacfb267bc586c7" title="Given a bit-field decl, build an appropriate helper object for accessing that field (which is expecte...">CGBitFieldInfo::MakeInfo</a>(Types, FD, FieldOffset, FieldSize,</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>                                              StorageBits, StorageAlignment);</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>   FirstFieldNo = LastFieldNo;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> }</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> </div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> <span class="keywordtype">bool</span> CGRecordLayoutBuilder::LayoutField(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *D,</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>                                         uint64_t fieldOffset) {</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>   <span class="comment">// If the field is packed, then we need a packed struct.</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>   <span class="keywordflow">if</span> (!Packed && D-><a class="code" href="classclang_1_1Decl.html#ac60cc8b34313e03a5c40277c5c5ad61b">hasAttr</a><<a class="code" href="classclang_1_1PackedAttr.html">PackedAttr</a>>())</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   assert(!D-><a class="code" href="classclang_1_1FieldDecl.html#af8c123e193d426f26496c15e2f168a49" title="isBitfield - Determines whether this field is a bitfield.">isBitField</a>() && <span class="stringliteral">"Bitfields should be laid out seperately."</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>   CheckZeroInitializable(D-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>());</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>   assert(fieldOffset % Types.getTarget().getCharWidth() == 0</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>          && <span class="stringliteral">"field offset is not on a byte boundary!"</span>);</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldOffsetInBytes</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>     = Types.getContext().toCharUnitsFromBits(fieldOffset);</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>   llvm::Type *Ty = Types.ConvertTypeForMem(D-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>());</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> typeAlignment = getTypeAlignment(Ty);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>   <span class="comment">// If the type alignment is larger then the struct alignment, we must use</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>   <span class="comment">// a packed struct.</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>   <span class="keywordflow">if</span> (typeAlignment > Alignment) {</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>     assert(!Packed && <span class="stringliteral">"Alignment is wrong even with packed struct!"</span>);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>   }</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>   <span class="keywordflow">if</span> (!Packed) {</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RT = D-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>()-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()) {</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>       <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RD = cast<RecordDecl>(RT->getDecl());</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>       <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1MaxFieldAlignmentAttr.html">MaxFieldAlignmentAttr</a> *MFAA =</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>             RD-><a class="code" href="classclang_1_1Decl.html#a6a041df02fad17a6fabe51af5de0ea3c">getAttr</a><<a class="code" href="classclang_1_1MaxFieldAlignmentAttr.html">MaxFieldAlignmentAttr</a>>()) {</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>         <span class="keywordflow">if</span> (MFAA->getAlignment() != Types.getContext().toBits(typeAlignment))</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>       }</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>     }</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>   }</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span> </div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>   <span class="comment">// Round up the field offset to the alignment of the field type.</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> alignedNextFieldOffsetInBytes =</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>     NextFieldOffset.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(typeAlignment);</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span> </div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>   <span class="keywordflow">if</span> (fieldOffsetInBytes < alignedNextFieldOffsetInBytes) {</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>     <span class="comment">// Try to resize the last base field.</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>     <span class="keywordflow">if</span> (ResizeLastBaseFieldIfNecessary(fieldOffsetInBytes)) {</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>       alignedNextFieldOffsetInBytes = </div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>         NextFieldOffset.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(typeAlignment);</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>     }</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>   }</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span> </div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>   <span class="keywordflow">if</span> (fieldOffsetInBytes < alignedNextFieldOffsetInBytes) {</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>     assert(!Packed && <span class="stringliteral">"Could not place field even with packed struct!"</span>);</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>   }</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span> </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>   AppendPadding(fieldOffsetInBytes, typeAlignment);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>   <span class="comment">// Now append the field.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>   Fields[D] = FieldTypes.size();</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>   AppendField(fieldOffsetInBytes, Ty);</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>   LastLaidOutBase.invalidate();</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span> llvm::Type *</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span> CGRecordLayoutBuilder::LayoutUnionField(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *Field,</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>                                         <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout) {</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>   Fields[Field] = 0;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>   <span class="keywordflow">if</span> (Field-><a class="code" href="classclang_1_1FieldDecl.html#af8c123e193d426f26496c15e2f168a49" title="isBitfield - Determines whether this field is a bitfield.">isBitField</a>()) {</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>     uint64_t FieldSize = Field-><a class="code" href="classclang_1_1FieldDecl.html#ae5e97c5f219d8bd73934ef38453ae44a">getBitWidthValue</a>(Types.getContext());</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>     <span class="comment">// Ignore zero sized bit fields.</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>     <span class="keywordflow">if</span> (FieldSize == 0)</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>       <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>     <span class="keywordtype">unsigned</span> StorageBits = llvm::RoundUpToAlignment(</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>       FieldSize, Types.getTarget().getCharAlign());</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NumBytesToAppend</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>       = Types.getContext().toCharUnitsFromBits(StorageBits);</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>     llvm::Type *FieldTy = llvm::Type::getInt8Ty(Types.getLLVMContext());</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>     <span class="keywordflow">if</span> (NumBytesToAppend > <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>())</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>       FieldTy = llvm::ArrayType::get(FieldTy, NumBytesToAppend.getQuantity());</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>     <span class="comment">// Add the bit field info.</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>     BitFields[Field] = <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad8d73df07814bda59cacfb267bc586c7" title="Given a bit-field decl, build an appropriate helper object for accessing that field (which is expecte...">CGBitFieldInfo::MakeInfo</a>(Types, Field, 0, FieldSize,</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>                                                 StorageBits,</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>                                                 Alignment.getQuantity());</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>     <span class="keywordflow">return</span> FieldTy;</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> </div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>   <span class="comment">// This is a regular union field.</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>   <span class="keywordflow">return</span> Types.ConvertTypeForMem(Field-><a class="code" href="classclang_1_1ValueDecl.html#aefa6d3327144aee23d2935f41d993484">getType</a>());</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span> }</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span> <span class="keywordtype">void</span> CGRecordLayoutBuilder::LayoutUnion(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D) {</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>   assert(D-><a class="code" href="classclang_1_1TagDecl.html#a76233fd9169fc9bfa27603ad5477f02a">isUnion</a>() && <span class="stringliteral">"Can't call LayoutUnion on a non-union record!"</span>);</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>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &layout = Types.getContext().getASTRecordLayout(D);</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>   llvm::Type *unionType = 0;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> unionSize = <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="l00479"></a><span class="lineno">  479</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> unionAlign = <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="l00480"></a><span class="lineno">  480</span> </div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>   <span class="keywordtype">bool</span> hasOnlyZeroSizedBitFields = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>   <span class="keywordtype">bool</span> checkedFirstFieldZeroInit = <span class="keyword">false</span>;</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>   <span class="keywordtype">unsigned</span> fieldNo = 0;</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> field = D-><a class="code" href="classclang_1_1RecordDecl.html#a723c70951c30c075e7a516d1933683e4">field_begin</a>(),</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>        fieldEnd = D-><a class="code" href="classclang_1_1RecordDecl.html#a118f17574e4199f2d26cd20902dc88ca">field_end</a>(); field != fieldEnd; ++field, ++fieldNo) {</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>     assert(layout.getFieldOffset(fieldNo) == 0 &&</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>           <span class="stringliteral">"Union field offset did not start at the beginning of record!"</span>);</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>     llvm::Type *fieldType = LayoutUnionField(*field, layout);</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>     <span class="keywordflow">if</span> (!fieldType)</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>       <span class="keywordflow">continue</span>;</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>     <span class="keywordflow">if</span> (field->getDeclName() && !checkedFirstFieldZeroInit) {</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>       CheckZeroInitializable(field->getType());</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>       checkedFirstFieldZeroInit = <span class="keyword">true</span>;</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> </div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>     hasOnlyZeroSizedBitFields = <span class="keyword">false</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>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldAlign = <a class="code" href="classclang_1_1CharUnits.html#adf6d3a79993b58285a0626b61c2c6c82" title="fromQuantity - Construct a CharUnits quantity from a raw integer type.">CharUnits::fromQuantity</a>(</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>                           Types.getDataLayout().getABITypeAlignment(fieldType));</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldSize = <a class="code" href="classclang_1_1CharUnits.html#adf6d3a79993b58285a0626b61c2c6c82" title="fromQuantity - Construct a CharUnits quantity from a raw integer type.">CharUnits::fromQuantity</a>(</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>                              Types.getDataLayout().getTypeAllocSize(fieldType));</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="keywordflow">if</span> (fieldAlign < unionAlign)</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span> </div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>     <span class="keywordflow">if</span> (fieldAlign > unionAlign || fieldSize > unionSize) {</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>       unionType = fieldType;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>       unionAlign = fieldAlign;</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>       unionSize = fieldSize;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>     }</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>   }</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>   <span class="comment">// Now add our field.</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>   <span class="keywordflow">if</span> (unionType) {</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>     AppendField(<a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>(), unionType);</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>     <span class="keywordflow">if</span> (getTypeAlignment(unionType) > layout.getAlignment()) {</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>       <span class="comment">// We need a packed struct.</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>       Packed = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>       unionAlign = <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>();</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>   }</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>   <span class="keywordflow">if</span> (unionAlign.<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="l00527"></a><span class="lineno">  527</span>     (void)hasOnlyZeroSizedBitFields;</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>     assert(hasOnlyZeroSizedBitFields &&</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>            <span class="stringliteral">"0-align record did not have all zero-sized bit-fields!"</span>);</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>     unionAlign = <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>();</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> </div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>   <span class="comment">// Append tail padding.</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> recordSize = layout.getSize();</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>   <span class="keywordflow">if</span> (recordSize > unionSize)</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>     AppendPadding(recordSize, unionAlign);</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> </div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span> <span class="keywordtype">bool</span> CGRecordLayoutBuilder::LayoutBase(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base,</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>                                        <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &baseLayout,</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>                                        <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> baseOffset) {</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>   ResizeLastBaseFieldIfNecessary(baseOffset);</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>   AppendPadding(baseOffset, <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>());</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="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &baseASTLayout</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>     = Types.getContext().getASTRecordLayout(base);</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>   LastLaidOutBase.Offset = NextFieldOffset;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>   LastLaidOutBase.NonVirtualSize = baseASTLayout.<a class="code" href="classclang_1_1ASTRecordLayout.html#aa1bd731febbd3352b47620e7e363b5f4">getNonVirtualSize</a>();</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>   llvm::StructType *subobjectType = baseLayout.<a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#ad6217e47473e424ce7ea143b28557e7a" title="Return the "base subobject" LLVM type associated with this record.">getBaseSubobjectLLVMType</a>();</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>   <span class="keywordflow">if</span> (getTypeAlignment(subobjectType) > Alignment)</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>   AppendField(baseOffset, subobjectType);</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span> }</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span> </div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span> <span class="keywordtype">bool</span> CGRecordLayoutBuilder::LayoutNonVirtualBase(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base,</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>                                                  <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> baseOffset) {</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>   <span class="comment">// Ignore empty bases.</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>   <span class="keywordflow">if</span> (base-><a class="code" href="classclang_1_1CXXRecordDecl.html#a2c1511d7b34b98b0f9763a3d2a73d557" title="Determine whether this is an empty class in the sense of (C++11 [meta.unary.prop]).">isEmpty</a>()) <span class="keywordflow">return</span> <span class="keyword">true</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>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &baseLayout = Types.getCGRecordLayout(base);</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>   <span class="keywordflow">if</span> (IsZeroInitializableAsBase) {</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>     assert(IsZeroInitializable &&</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>            <span class="stringliteral">"class zero-initializable as base but not as complete object"</span>);</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>     IsZeroInitializable = IsZeroInitializableAsBase =</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>       baseLayout.<a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a23f5306bf21a364e8223bf602114566e" title="Check whether this struct can be C++ zero-initialized with a zeroinitializer when considered as a bas...">isZeroInitializableAsBase</a>();</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> </div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>   <span class="keywordflow">if</span> (!LayoutBase(base, baseLayout, baseOffset))</div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>   NonVirtualBases[base] = (FieldTypes.size() - 1);</div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>   <span class="keywordflow">return</span> <span class="keyword">true</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">bool</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span> CGRecordLayoutBuilder::LayoutVirtualBase(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base,</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>                                          <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> baseOffset) {</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>   <span class="comment">// Ignore empty bases.</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>   <span class="keywordflow">if</span> (base-><a class="code" href="classclang_1_1CXXRecordDecl.html#a2c1511d7b34b98b0f9763a3d2a73d557" title="Determine whether this is an empty class in the sense of (C++11 [meta.unary.prop]).">isEmpty</a>()) <span class="keywordflow">return</span> <span class="keyword">true</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>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &baseLayout = Types.getCGRecordLayout(base);</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>   <span class="keywordflow">if</span> (IsZeroInitializable)</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>     IsZeroInitializable = baseLayout.<a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a23f5306bf21a364e8223bf602114566e" title="Check whether this struct can be C++ zero-initialized with a zeroinitializer when considered as a bas...">isZeroInitializableAsBase</a>();</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span> </div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>   <span class="keywordflow">if</span> (!LayoutBase(base, baseLayout, baseOffset))</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>   VirtualBases[base] = (FieldTypes.size() - 1);</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span> }</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span> </div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span> CGRecordLayoutBuilder::MSLayoutVirtualBases(<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="l00598"></a><span class="lineno">  598</span>                                           <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout) {</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</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="l00600"></a><span class="lineno">  600</span>     <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span> </div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>   <span class="comment">// The vbases list is uniqued and ordered by a depth-first</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>   <span class="comment">// traversal, which is what we need here.</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</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#a8b9f14b77ec81f85caa231179c888a88">vbases_begin</a>(),</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>         E = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#ac1d277188897e80f1b69bddad6a7f27e">vbases_end</a>(); I != E; ++I) {</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="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseDecl = </div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>       cast<CXXRecordDecl>(I->getType()->castAs<<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span> </div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> vbaseOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#afc9e06582d41a24ec356be836bb8775c" title="getVBaseClassOffset - Get the offset, in chars, for the given base class.">getVBaseClassOffset</a>(BaseDecl);</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>     <span class="keywordflow">if</span> (!LayoutVirtualBase(BaseDecl, vbaseOffset))</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>   }</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span> }</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span> <span class="comment"></span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span> <span class="comment">/// LayoutVirtualBases - layout the non-virtual bases of a record decl.</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span> <span class="comment"></span><span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span> CGRecordLayoutBuilder::LayoutVirtualBases(<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="l00620"></a><span class="lineno">  620</span>                                           <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout) {</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</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="l00622"></a><span class="lineno">  622</span>        E = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseDecl = </div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>       cast<CXXRecordDecl>(I->getType()->getAs<<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span> </div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>     <span class="comment">// We only want to lay out virtual bases that aren't indirect primary bases</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>     <span class="comment">// of some other base.</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>     <span class="keywordflow">if</span> (I->isVirtual() && !IndirectPrimaryBases.count(BaseDecl)) {</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>       <span class="comment">// Only lay out the base once.</span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>       <span class="keywordflow">if</span> (!LaidOutVirtualBases.insert(BaseDecl))</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span> </div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>       <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> vbaseOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#afc9e06582d41a24ec356be836bb8775c" title="getVBaseClassOffset - Get the offset, in chars, for the given base class.">getVBaseClassOffset</a>(BaseDecl);</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>       <span class="keywordflow">if</span> (!LayoutVirtualBase(BaseDecl, vbaseOffset))</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>     }</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span> </div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>     <span class="keywordflow">if</span> (!BaseDecl-><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="l00639"></a><span class="lineno">  639</span>       <span class="comment">// This base isn't interesting since it doesn't have any virtual bases.</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>       <span class="keywordflow">continue</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>     <span class="keywordflow">if</span> (!LayoutVirtualBases(BaseDecl, Layout))</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>   }</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span> }</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span> </div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span> CGRecordLayoutBuilder::LayoutNonVirtualBases(<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="l00651"></a><span class="lineno">  651</span>                                              <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout) {</div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *PrimaryBase = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5b69ad223192d7201e8c4f8700352a7d" title="getPrimaryBase - Get the primary base for this record.">getPrimaryBase</a>();</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span> </div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>   <span class="comment">// If we have a primary base, lay it out first.</span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>   <span class="keywordflow">if</span> (PrimaryBase) {</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>     <span class="keywordflow">if</span> (!Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#aa44b34392b81e94c10f6a8c1f50884a4">isPrimaryBaseVirtual</a>()) {</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>       <span class="keywordflow">if</span> (!LayoutNonVirtualBase(PrimaryBase, <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="l00658"></a><span class="lineno">  658</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>       <span class="keywordflow">if</span> (!LayoutVirtualBase(PrimaryBase, <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="l00661"></a><span class="lineno">  661</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>     }</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span> </div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>   <span class="comment">// Otherwise, add a vtable / vf-table if the layout says to do so.</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a1d106fb5e7400218b54a660b487678b8">hasOwnVFPtr</a>()) {</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>     llvm::Type *<a class="code" href="classclang_1_1FunctionType.html">FunctionType</a> =</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>       llvm::FunctionType::get(llvm::Type::getInt32Ty(Types.getLLVMContext()),</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>                               <span class="comment">/*isVarArg=*/</span><span class="keyword">true</span>);</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>     llvm::Type *VTableTy = FunctionType->getPointerTo();</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span> </div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>     <span class="keywordflow">if</span> (getTypeAlignment(VTableTy) > Alignment) {</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>       <span class="comment">// FIXME: Should we allow this to happen in Sema?</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>       assert(!Packed && <span class="stringliteral">"Alignment is wrong even with packed struct!"</span>);</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>     }</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span> </div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>     assert(NextFieldOffset.isZero() &&</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>            <span class="stringliteral">"VTable pointer must come first!"</span>);</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>     AppendField(<a class="code" href="classclang_1_1CharUnits.html#ae8fbc6063b513b85cd488904994ac8c2" title="Zero - Construct a CharUnits quantity of zero.">CharUnits::Zero</a>(), VTableTy->getPointerTo());</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>   }</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span> </div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>   <span class="comment">// Layout the non-virtual bases.</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</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="l00684"></a><span class="lineno">  684</span>        E = RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#a1e27f3ddd2de050a298094ea732bd321">bases_end</a>(); I != E; ++I) {</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>     <span class="keywordflow">if</span> (I->isVirtual())</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span> </div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *BaseDecl = </div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>       cast<CXXRecordDecl>(I->getType()->getAs<<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()->getDecl());</div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span> </div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>     <span class="comment">// We've already laid out the primary base.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>     <span class="keywordflow">if</span> (BaseDecl == PrimaryBase && !Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#aa44b34392b81e94c10f6a8c1f50884a4">isPrimaryBaseVirtual</a>())</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span> </div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>     <span class="keywordflow">if</span> (!LayoutNonVirtualBase(BaseDecl, Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a23d0a748e9b3b4515c23c5f9beabb2d7" title="getBaseClassOffset - Get the offset, in chars, for the given base class.">getBaseClassOffset</a>(BaseDecl)))</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>   }</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span> </div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>   <span class="comment">// Add a vb-table pointer if the layout insists.</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>     <span class="keywordflow">if</span> (Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#aee98247cba7c8563e9de787e028609c1">hasOwnVBPtr</a>()) {</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> VBPtrOffset = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a4fd9d976e7cb353b6035ba405850beea">getVBPtrOffset</a>();</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>     llvm::Type *Vbptr = llvm::Type::getInt32PtrTy(Types.getLLVMContext());</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>     AppendPadding(VBPtrOffset, getTypeAlignment(Vbptr));</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>     AppendField(VBPtrOffset, Vbptr);</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>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span> }</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span> </div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span> <span class="keywordtype">bool</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span> CGRecordLayoutBuilder::ComputeNonVirtualBaseType(<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="l00712"></a><span class="lineno">  712</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout = Types.getContext().getASTRecordLayout(RD);</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span> </div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualSize  = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#aa1bd731febbd3352b47620e7e363b5f4">getNonVirtualSize</a>();</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualAlign = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#ad9896934d81f332620f7d2048c345bae">getNonVirtualAlign</a>();</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> AlignedNonVirtualTypeSize =</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>     NonVirtualSize.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(NonVirtualAlign);</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">// First check if we can use the same fields as for the complete class.</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> RecordSize = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a43a5213b8bf9e017693c3b25fd0fb767" title="getSize - Get the record size in characters.">getSize</a>();</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>   <span class="keywordflow">if</span> (AlignedNonVirtualTypeSize == RecordSize)</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>     <span class="keywordflow">return</span> <span class="keyword">true</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">// Check if we need padding.</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> AlignedNextFieldOffset =</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>     NextFieldOffset.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(getAlignmentAsLLVMStruct());</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span> </div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>   <span class="keywordflow">if</span> (AlignedNextFieldOffset > AlignedNonVirtualTypeSize) {</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>     assert(!Packed && <span class="stringliteral">"cannot layout even as packed struct"</span>);</div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// Needs packing.</span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>   }</div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span> </div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>   <span class="keywordtype">bool</span> needsPadding = (AlignedNonVirtualTypeSize != AlignedNextFieldOffset);</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>   <span class="keywordflow">if</span> (needsPadding) {</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NumBytes = AlignedNonVirtualTypeSize - AlignedNextFieldOffset;</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>     FieldTypes.push_back(getByteArrayType(NumBytes));</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>   BaseSubobjectType = <a class="code" href="namespaceclang_1_1serialized__diags.html#a36bc44b1b04b3c0c421e02761c2d0282" title="Returns a DiagnosticConsumer that serializes diagnostics to a bitcode file.">llvm::StructType::create</a>(Types.getLLVMContext(),</div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>                                                FieldTypes, <span class="stringliteral">""</span>, Packed);</div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>   Types.addRecordTypeName(RD, BaseSubobjectType, <span class="stringliteral">".base"</span>);</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span> </div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>   <span class="comment">// Pull the padding back off.</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>   <span class="keywordflow">if</span> (needsPadding)</div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>     FieldTypes.pop_back();</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span> </div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span> }</div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span> </div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span> <span class="keywordtype">bool</span> CGRecordLayoutBuilder::LayoutFields(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D) {</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>   assert(!D-><a class="code" href="classclang_1_1TagDecl.html#a76233fd9169fc9bfa27603ad5477f02a">isUnion</a>() && <span class="stringliteral">"Can't call LayoutFields on a union!"</span>);</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>   assert(!Alignment.isZero() && <span class="stringliteral">"Did not set alignment!"</span>);</div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span> </div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout = Types.getContext().getASTRecordLayout(D);</div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span> </div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = dyn_cast<<a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a>>(D);</div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>   <span class="keywordflow">if</span> (RD)</div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>     <span class="keywordflow">if</span> (!LayoutNonVirtualBases(RD, Layout))</div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span> </div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>   <span class="keywordtype">unsigned</span> FieldNo = 0;</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>   </div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>   <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> FI = D-><a class="code" href="classclang_1_1RecordDecl.html#a723c70951c30c075e7a516d1933683e4">field_begin</a>(), FE = D-><a class="code" href="classclang_1_1RecordDecl.html#a118f17574e4199f2d26cd20902dc88ca">field_end</a>();</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>        FI != FE; ++FI, ++FieldNo) {</div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>     <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD = *FI;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span> </div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>     <span class="comment">// If this field is a bitfield, layout all of the consecutive</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>     <span class="comment">// non-zero-length bitfields and the last zero-length bitfield; these will</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>     <span class="comment">// all share storage.</span></div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>     <span class="keywordflow">if</span> (FD-><a class="code" href="classclang_1_1FieldDecl.html#af8c123e193d426f26496c15e2f168a49" title="isBitfield - Determines whether this field is a bitfield.">isBitField</a>()) {</div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>       <span class="comment">// If all we have is a zero-width bitfield, skip it.</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>       <span class="keywordflow">if</span> (FD-><a class="code" href="classclang_1_1FieldDecl.html#ae5e97c5f219d8bd73934ef38453ae44a">getBitWidthValue</a>(Types.getContext()) == 0)</div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>         <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span> </div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>       <span class="comment">// Layout this range of bitfields.</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>       <span class="keywordflow">if</span> (!LayoutBitfields(Layout, FieldNo, FI, FE)) {</div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>         assert(!Packed &&</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>                <span class="stringliteral">"Could not layout bitfields even with a packed LLVM struct!"</span>);</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>       }</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>       assert(FI != FE && <span class="stringliteral">"Advanced past the last bitfield"</span>);</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>     }</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span> </div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>     <span class="keywordflow">if</span> (!LayoutField(FD, Layout.getFieldOffset(FieldNo))) {</div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>       assert(!Packed &&</div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>              <span class="stringliteral">"Could not layout fields even with a packed LLVM struct!"</span>);</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>     }</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>   }</div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span> </div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>   <span class="keywordflow">if</span> (RD) {</div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>     <span class="comment">// We've laid out the non-virtual bases and the fields, now compute the</span></div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>     <span class="comment">// non-virtual base field types.</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>     <span class="keywordflow">if</span> (!ComputeNonVirtualBaseType(RD)) {</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>       assert(!Packed && <span class="stringliteral">"Could not layout even with a packed LLVM struct!"</span>);</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>       <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>     }</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span> </div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>     <span class="comment">// Lay out the virtual bases.  The MS ABI uses a different</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>     <span class="comment">// algorithm here due to the lack of primary virtual bases.</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>     <span class="keywordflow">if</span> (Types.getTarget().getCXXABI().hasPrimaryVBases()) {</div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>       RD-><a class="code" href="classclang_1_1CXXRecordDecl.html#af0e3cc6d03ea01750c6d4ffb8e9f48f8" title="Get the indirect primary bases for this class.">getIndirectPrimaryBases</a>(IndirectPrimaryBases);</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>       <span class="keywordflow">if</span> (Layout.isPrimaryBaseVirtual())</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>         IndirectPrimaryBases.insert(Layout.getPrimaryBase());</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span> </div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>       <span class="keywordflow">if</span> (!LayoutVirtualBases(RD, Layout))</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>       <span class="keywordflow">if</span> (!MSLayoutVirtualBases(RD, Layout))</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>         <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>     }</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>   }</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>   </div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>   <span class="comment">// Append tail padding if necessary.</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>   AppendTailPadding(Layout.getSize());</div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span> </div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span> }</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span> </div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span> <span class="keywordtype">void</span> CGRecordLayoutBuilder::AppendTailPadding(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> RecordSize) {</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>   ResizeLastBaseFieldIfNecessary(RecordSize);</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span> </div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>   assert(NextFieldOffset <= RecordSize && <span class="stringliteral">"Size mismatch!"</span>);</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span> </div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> AlignedNextFieldOffset =</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>     NextFieldOffset.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(getAlignmentAsLLVMStruct());</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span> </div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>   <span class="keywordflow">if</span> (AlignedNextFieldOffset == RecordSize) {</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>     <span class="comment">// We don't need any padding.</span></div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>     <span class="keywordflow">return</span>;</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>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NumPadBytes = RecordSize - NextFieldOffset;</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>   AppendBytes(NumPadBytes);</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span> }</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span> </div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span> <span class="keywordtype">void</span> CGRecordLayoutBuilder::AppendField(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldOffset,</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>                                         llvm::Type *fieldType) {</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldSize =</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>     <a class="code" href="classclang_1_1CharUnits.html#adf6d3a79993b58285a0626b61c2c6c82" title="fromQuantity - Construct a CharUnits quantity from a raw integer type.">CharUnits::fromQuantity</a>(Types.getDataLayout().getTypeAllocSize(fieldType));</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span> </div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>   FieldTypes.push_back(fieldType);</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span> </div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>   NextFieldOffset = fieldOffset + fieldSize;</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span> }</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> <span class="keywordtype">void</span> CGRecordLayoutBuilder::AppendPadding(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldOffset,</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>                                           <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> fieldAlignment) {</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>   assert(NextFieldOffset <= fieldOffset &&</div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>          <span class="stringliteral">"Incorrect field layout!"</span>);</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span> </div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>   <span class="comment">// Do nothing if we're already at the right offset.</span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>   <span class="keywordflow">if</span> (fieldOffset == NextFieldOffset) <span class="keywordflow">return</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>   <span class="comment">// If we're not emitting a packed LLVM type, try to avoid adding</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>   <span class="comment">// unnecessary padding fields.</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>   <span class="keywordflow">if</span> (!Packed) {</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>     <span class="comment">// Round up the field offset to the alignment of the field type.</span></div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> alignedNextFieldOffset =</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>       NextFieldOffset.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(fieldAlignment);</div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>     assert(alignedNextFieldOffset <= fieldOffset);</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span> </div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>     <span class="comment">// If that's the right offset, we're done.</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>     <span class="keywordflow">if</span> (alignedNextFieldOffset == fieldOffset) <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>   }</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span> </div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>   <span class="comment">// Otherwise we need explicit padding.</span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>   <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> padding = fieldOffset - NextFieldOffset;</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>   AppendBytes(padding);</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span> }</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span> </div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span> <span class="keywordtype">bool</span> CGRecordLayoutBuilder::ResizeLastBaseFieldIfNecessary(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> offset) {</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>   <span class="comment">// Check if we have a base to resize.</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>   <span class="keywordflow">if</span> (!LastLaidOutBase.isValid())</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span> </div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>   <span class="comment">// This offset does not overlap with the tail padding.</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>   <span class="keywordflow">if</span> (offset >= NextFieldOffset)</div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>     <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="comment">// Restore the field offset and append an i8 array instead.</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>   FieldTypes.pop_back();</div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>   NextFieldOffset = LastLaidOutBase.Offset;</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>   AppendBytes(LastLaidOutBase.NonVirtualSize);</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>   LastLaidOutBase.invalidate();</div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span> </div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>   <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span> }</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span> </div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span> llvm::Type *CGRecordLayoutBuilder::getByteArrayType(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> numBytes) {</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>   assert(!numBytes.<a class="code" href="classclang_1_1CharUnits.html#af39b99432339c76e577a5149b6c59e4e" title="isZero - Test whether the quantity equals zero.">isZero</a>() && <span class="stringliteral">"Empty byte arrays aren't allowed."</span>);</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span> </div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>   llvm::Type *Ty = llvm::Type::getInt8Ty(Types.getLLVMContext());</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>   <span class="keywordflow">if</span> (numBytes > <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>())</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>     Ty = llvm::ArrayType::get(Ty, numBytes.<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="l00897"></a><span class="lineno">  897</span> </div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>   <span class="keywordflow">return</span> Ty;</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> </div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span> <span class="keywordtype">void</span> CGRecordLayoutBuilder::AppendBytes(<a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> numBytes) {</div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>   <span class="keywordflow">if</span> (numBytes.<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="l00903"></a><span class="lineno">  903</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span> </div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>   <span class="comment">// Append the padding field</span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>   AppendField(NextFieldOffset, getByteArrayType(numBytes));</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span> }</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span> </div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span> <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> CGRecordLayoutBuilder::getTypeAlignment(llvm::Type *Ty)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>   <span class="keywordflow">if</span> (Packed)</div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>();</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span> </div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>   <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CharUnits.html#adf6d3a79993b58285a0626b61c2c6c82" title="fromQuantity - Construct a CharUnits quantity from a raw integer type.">CharUnits::fromQuantity</a>(Types.getDataLayout().getABITypeAlignment(Ty));</div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span> }</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span> </div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span> <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> CGRecordLayoutBuilder::getAlignmentAsLLVMStruct()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>   <span class="keywordflow">if</span> (Packed)</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>     <span class="keywordflow">return</span> <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>();</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="classclang_1_1CharUnits.html">CharUnits</a> maxAlignment = <a class="code" href="classclang_1_1CharUnits.html#a99127c36c05fcfabd84a0e26f83a35f6" title="One - Construct a CharUnits quantity of one.">CharUnits::One</a>();</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i != FieldTypes.size(); ++i)</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>     maxAlignment = std::max(maxAlignment, getTypeAlignment(FieldTypes[i]));</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span> </div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>   <span class="keywordflow">return</span> maxAlignment;</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span> }</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span> <span class="comment"></span></div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span> <span class="comment">/// Merge in whether a field of the given type is zero-initializable.</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span> <span class="comment"></span><span class="keywordtype">void</span> CGRecordLayoutBuilder::CheckZeroInitializable(<a class="code" href="classclang_1_1QualType.html">QualType</a> T) {</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>   <span class="comment">// This record already contains a member pointer.</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>   <span class="keywordflow">if</span> (!IsZeroInitializableAsBase)</div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span> </div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>   <span class="comment">// Can only have member pointers if we're compiling C++.</span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>   <span class="keywordflow">if</span> (!Types.getContext().getLangOpts().CPlusPlus)</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>     <span class="keywordflow">return</span>;</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span> </div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1Type.html">Type</a> *elementType = T-><a class="code" href="classclang_1_1Type.html#aaf341a9ef2797f73d9cb091c6712242c">getBaseElementTypeUnsafe</a>();</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span> </div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a> *MPT = elementType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1MemberPointerType.html">MemberPointerType</a>>()) {</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>     <span class="keywordflow">if</span> (!Types.getCXXABI().isZeroInitializable(MPT))</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>       IsZeroInitializable = IsZeroInitializableAsBase = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordType.html">RecordType</a> *RT = elementType-><a class="code" href="classclang_1_1Type.html#a12103ea8bee9506930287bab68a08569">getAs</a><<a class="code" href="classclang_1_1RecordType.html">RecordType</a>>()) {</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *RD = cast<CXXRecordDecl>(RT->getDecl());</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &Layout = Types.getCGRecordLayout(RD);</div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>     <span class="keywordflow">if</span> (!Layout.isZeroInitializable())</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>       IsZeroInitializable = IsZeroInitializableAsBase = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>   }</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span> }</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span> </div>
+<div class="line"><a name="l00950"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a889f521e57c3b93e343c47728cee651d">  950</a></span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> *<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a889f521e57c3b93e343c47728cee651d" title="Compute a new LLVM record layout object for the given record.">CodeGenTypes::ComputeRecordLayout</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *D,</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>                                                   llvm::StructType *Ty) {</div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>   CGRecordLayoutBuilder <a class="code" href="ASTMatchFinder_8cpp.html#a4cd8cc8f712cd1e4ebf8cb152b8a1531">Builder</a>(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span> </div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>   Builder.Layout(D);</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span> </div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>   Ty->setBody(Builder.FieldTypes, Builder.Packed);</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>   <span class="comment">// If we're in C++, compute the base subobject type.</span></div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>   llvm::StructType *BaseTy = 0;</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>   <span class="keywordflow">if</span> (isa<CXXRecordDecl>(D) && !D-><a class="code" href="classclang_1_1TagDecl.html#a76233fd9169fc9bfa27603ad5477f02a">isUnion</a>()) {</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>     BaseTy = Builder.BaseSubobjectType;</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>     <span class="keywordflow">if</span> (!BaseTy) BaseTy = Ty;</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>   }</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span> </div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>   <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> *RL =</div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>     <span class="keyword">new</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a>(Ty, BaseTy, Builder.IsZeroInitializable,</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>                        Builder.IsZeroInitializableAsBase);</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span> </div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>   RL->NonVirtualBases.swap(Builder.NonVirtualBases);</div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>   RL->CompleteObjectVirtualBases.swap(Builder.VirtualBases);</div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span> </div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>   <span class="comment">// Add all the field numbers.</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>   RL->FieldInfo.swap(Builder.Fields);</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span> </div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>   <span class="comment">// Add bitfield info.</span></div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>   RL->BitFields.swap(Builder.BitFields);</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>   <span class="comment">// Dump the layout, if requested.</span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>   <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">getContext</a>().getLangOpts().DumpRecordLayouts) {</div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>     llvm::outs() << <span class="stringliteral">"\n*** Dumping IRgen Record Layout\n"</span>;</div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>     llvm::outs() << <span class="stringliteral">"Record: "</span>;</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>     D-><a class="code" href="classclang_1_1Decl.html#a17f35f69b299c72163c8a8520f976cf5">dump</a>(llvm::outs());</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>     llvm::outs() << <span class="stringliteral">"\nLayout: "</span>;</div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>     RL-><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a2bea1d697a1cf2cb70483c0c0d29afed">print</a>(llvm::outs());</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>   }</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span> </div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span> <span class="preprocessor">#ifndef NDEBUG</span></div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span> <span class="preprocessor"></span>  <span class="comment">// Verify that the computed LLVM struct size matches the AST layout size.</span></div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &Layout = <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">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>(D);</div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span> </div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>   uint64_t TypeSizeInBits = <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a95106fc9aa2f8cbcf459d9915bacbfd2" title="Convert a size in characters to a size in bits.">toBits</a>(Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#a43a5213b8bf9e017693c3b25fd0fb767" title="getSize - Get the record size in characters.">getSize</a>());</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>   assert(TypeSizeInBits == <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().getTypeAllocSizeInBits(Ty) &&</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>          <span class="stringliteral">"Type size mismatch!"</span>);</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span> </div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>   <span class="keywordflow">if</span> (BaseTy) {</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualSize  = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#aa1bd731febbd3352b47620e7e363b5f4">getNonVirtualSize</a>();</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> NonVirtualAlign = Layout.<a class="code" href="classclang_1_1ASTRecordLayout.html#ad9896934d81f332620f7d2048c345bae">getNonVirtualAlign</a>();</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>     <a class="code" href="classclang_1_1CharUnits.html">CharUnits</a> AlignedNonVirtualTypeSize = </div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>       NonVirtualSize.<a class="code" href="classclang_1_1CharUnits.html#a78ad30518d113ecc56e4f9b4667a2b45">RoundUpToAlignment</a>(NonVirtualAlign);</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>     uint64_t AlignedNonVirtualTypeSizeInBits = </div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>       <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">getContext</a>().<a class="code" href="classclang_1_1ASTContext.html#a95106fc9aa2f8cbcf459d9915bacbfd2" title="Convert a size in characters to a size in bits.">toBits</a>(AlignedNonVirtualTypeSize);</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> </div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>     assert(AlignedNonVirtualTypeSizeInBits == </div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>            <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().getTypeAllocSizeInBits(BaseTy) &&</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>            <span class="stringliteral">"Type size mismatch!"</span>);</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>   }</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">// Verify that the LLVM and AST field offsets agree.</span></div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>   llvm::StructType *ST =</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>     dyn_cast<llvm::StructType>(RL-><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a48b080c014be362e05e36f120da30550" title="Return the "complete object" LLVM type associated with this record.">getLLVMType</a>());</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>   <span class="keyword">const</span> llvm::StructLayout *SL = <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().getStructLayout(ST);</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>   <span class="keyword">const</span> <a class="code" href="classclang_1_1ASTRecordLayout.html">ASTRecordLayout</a> &AST_RL = <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">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>(D);</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>   <a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a> it = D-><a class="code" href="classclang_1_1RecordDecl.html#a723c70951c30c075e7a516d1933683e4">field_begin</a>();</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = AST_RL.<a class="code" href="classclang_1_1ASTRecordLayout.html#adf75393a8f83305b69d4d036bbf9267c" title="getFieldCount - Get the number of fields in the layout.">getFieldCount</a>(); i != e; ++i, ++it) {</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD = *it;</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="comment">// For non-bit-fields, just check that the LLVM struct offset matches the</span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>     <span class="comment">// AST offset.</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>     <span class="keywordflow">if</span> (!FD-><a class="code" href="classclang_1_1FieldDecl.html#af8c123e193d426f26496c15e2f168a49" title="isBitfield - Determines whether this field is a bitfield.">isBitField</a>()) {</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>       <span class="keywordtype">unsigned</span> FieldNo = RL-><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a8c46d13c10ccd30803664fcd83a65a0f" title="Return llvm::StructType element number that corresponds to the field FD.">getLLVMFieldNo</a>(FD);</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>       assert(AST_RL.<a class="code" href="classclang_1_1ASTRecordLayout.html#a5469e46f4a69644ac8747cef95095f3a">getFieldOffset</a>(i) == SL->getElementOffsetInBits(FieldNo) &&</div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>              <span class="stringliteral">"Invalid field offset!"</span>);</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>     }</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>     </div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>     <span class="comment">// Ignore unnamed bit-fields.</span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>     <span class="keywordflow">if</span> (!FD-><a class="code" href="classclang_1_1NamedDecl.html#a1e3e90455be89bb5c7c23640cbbd7153">getDeclName</a>())</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>     <span class="comment">// Don't inspect zero-length bitfields.</span></div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>     <span class="keywordflow">if</span> (FD-><a class="code" href="classclang_1_1FieldDecl.html#ae5e97c5f219d8bd73934ef38453ae44a">getBitWidthValue</a>(<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a39fa73c411423d91a296ff183a85a612">getContext</a>()) == 0)</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>       <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> </div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>     <span class="keyword">const</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html" title="Structure with information about how a bitfield should be accessed.">CGBitFieldInfo</a> &Info = RL-><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a62dd98b26b76f667df40ad64035c38e3" title="Return the BitFieldInfo that corresponds to the field FD.">getBitFieldInfo</a>(FD);</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>     llvm::Type *ElementTy = ST->getTypeAtIndex(RL-><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a8c46d13c10ccd30803664fcd83a65a0f" title="Return llvm::StructType element number that corresponds to the field FD.">getLLVMFieldNo</a>(FD));</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>     <span class="comment">// Unions have overlapping elements dictating their layout, but for</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>     <span class="comment">// non-unions we can verify that this section of the layout is the exact</span></div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>     <span class="comment">// expected size.</span></div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>     <span class="keywordflow">if</span> (D-><a class="code" href="classclang_1_1TagDecl.html#a76233fd9169fc9bfa27603ad5477f02a">isUnion</a>()) {</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>       <span class="comment">// For unions we verify that the start is zero and the size</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>       <span class="comment">// is in-bounds. However, on BE systems, the offset may be non-zero, but</span></div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>       <span class="comment">// the size + offset should match the storage size in that case as it</span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>       <span class="comment">// "starts" at the back.</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>       <span class="keywordflow">if</span> (<a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().isBigEndian())</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>         assert(static_cast<unsigned>(Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a> + Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a>) ==</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>                Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a> &&</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>                <span class="stringliteral">"Big endian union bitfield does not end at the back"</span>);</div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>       <span class="keywordflow">else</span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>         assert(Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a> == 0 &&</div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>                <span class="stringliteral">"Little endian union bitfield with a non-zero offset"</span>);</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>       assert(Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a> <= SL->getSizeInBits() &&</div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>              <span class="stringliteral">"Union not large enough for bitfield storage"</span>);</div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>     } <span class="keywordflow">else</span> {</div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>       assert(Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a> ==</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>              <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html#a3c95ae1c35fd38167e754745ef1c20ca">getDataLayout</a>().getTypeAllocSizeInBits(ElementTy) &&</div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>              <span class="stringliteral">"Storage size does not match the element type size"</span>);</div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>     }</div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>     assert(Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a> > 0 && <span class="stringliteral">"Empty bitfield!"</span>);</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>     assert(static_cast<unsigned>(Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a>) + Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a> <= Info.<a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a> &&</div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>            <span class="stringliteral">"Bitfield outside of its allocated storage"</span>);</div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>   }</div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> <span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>   <span class="keywordflow">return</span> RL;</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> }</div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> </div>
+<div class="line"><a name="l01070"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a2bea1d697a1cf2cb70483c0c0d29afed"> 1070</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a2bea1d697a1cf2cb70483c0c0d29afed">CGRecordLayout::print</a>(raw_ostream &OS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>   OS << <span class="stringliteral">"<CGRecordLayout\n"</span>;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>   OS << <span class="stringliteral">"  LLVMType:"</span> << *CompleteObjectType << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>   <span class="keywordflow">if</span> (BaseSubobjectType)</div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>     OS << <span class="stringliteral">"  NonVirtualBaseLLVMType:"</span> << *BaseSubobjectType << <span class="stringliteral">"\n"</span>; </div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>   OS << <span class="stringliteral">"  IsZeroInitializable:"</span> << IsZeroInitializable << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>   OS << <span class="stringliteral">"  BitFields:[\n"</span>;</div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>   <span class="comment">// Print bit-field infos in declaration order.</span></div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>   std::vector<std::pair<unsigned, const CGBitFieldInfo*> > BFIs;</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>   <span class="keywordflow">for</span> (llvm::DenseMap<const FieldDecl*, CGBitFieldInfo>::const_iterator</div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>          it = BitFields.begin(), ie = BitFields.end();</div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>        it != ie; ++it) {</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>     <span class="keyword">const</span> <a class="code" href="classclang_1_1RecordDecl.html">RecordDecl</a> *RD = it->first-><a class="code" href="classclang_1_1DeclContext.html#a31c99b38017e8d702fda9c0f1d021186" title="getParent - Returns the containing DeclContext.">getParent</a>();</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>     <span class="keywordtype">unsigned</span> Index = 0;</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>     <span class="keywordflow">for</span> (<a class="code" href="classclang_1_1DeclContext_1_1specific__decl__iterator.html">RecordDecl::field_iterator</a></div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>            it2 = RD-><a class="code" href="classclang_1_1RecordDecl.html#a723c70951c30c075e7a516d1933683e4">field_begin</a>(); *it2 != it->first; ++it2)</div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>       ++Index;</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>     BFIs.push_back(std::make_pair(Index, &it->second));</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>   llvm::array_pod_sort(BFIs.begin(), BFIs.end());</div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = BFIs.size(); i != e; ++i) {</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>     OS.indent(4);</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>     BFIs[i].second->print(OS);</div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>     OS << <span class="stringliteral">"\n"</span>;</div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>   }</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>   OS << <span class="stringliteral">"]>\n"</span>;</div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> }</div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div>
+<div class="line"><a name="l01100"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a569323edf9c13207155b53a86b75731b"> 1100</a></span> <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a569323edf9c13207155b53a86b75731b">CGRecordLayout::dump</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>   <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a2bea1d697a1cf2cb70483c0c0d29afed">print</a>(llvm::errs());</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> }</div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div>
+<div class="line"><a name="l01104"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#adf68aa09b170002926b2901a799f23f2"> 1104</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#adf68aa09b170002926b2901a799f23f2">CGBitFieldInfo::print</a>(raw_ostream &OS)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>   OS << <span class="stringliteral">"<CGBitFieldInfo"</span></div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>      << <span class="stringliteral">" Offset:"</span> << <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a></div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>      << <span class="stringliteral">" Size:"</span> << <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a></div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>      << <span class="stringliteral">" IsSigned:"</span> << <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad681db49ae8862638d0de8e5edab7b33" title="Whether the bit-field is signed.">IsSigned</a></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>      << <span class="stringliteral">" StorageSize:"</span> << <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>      << <span class="stringliteral">" StorageAlignment:"</span> << StorageAlignment << <span class="stringliteral">">"</span>;</div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> }</div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> </div>
+<div class="line"><a name="l01113"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a53c61c2666e8343a339221f5ff8ab0e5"> 1113</a></span> <span class="keywordtype">void</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a53c61c2666e8343a339221f5ff8ab0e5">CGBitFieldInfo::dump</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>   <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#adf68aa09b170002926b2901a799f23f2">print</a>(llvm::errs());</div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> }</div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGRecordLayoutBuilder_8d_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayoutBuilder_8d_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayoutBuilder_8d_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayoutBuilder_8d_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,663 @@
+<!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: CGRecordLayoutBuilder.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">CGRecordLayoutBuilder.d</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGRecordLayoutBuilder_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/CGRecordLayoutBuilder.o \</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/Release+Asserts/CGRecordLayoutBuilder.d: \</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>  CGRecordLayoutBuilder.cpp CGRecordLayout.h \</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h \</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h \</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>  /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h \</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>  /home/tstellar/llvm/include/llvm/Support/DataTypes.h \</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>  /home/tstellar/llvm/include/llvm/Support/type_traits.h \</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>  /home/tstellar/llvm/include/llvm/Support/MathExtras.h \</div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>  /home/tstellar/llvm/include/llvm/Support/Compiler.h \</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>  /home/tstellar/llvm/include/llvm/Config/llvm-config.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/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h \</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h \</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.h \</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>  /home/tstellar/llvm/include/llvm/Support/Casting.h \</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>  /home/tstellar/llvm/include/llvm/ADT/None.h \</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>  /home/tstellar/llvm/include/llvm/ADT/APFloat.h \</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>  /home/tstellar/llvm/include/llvm/ADT/APInt.h \</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>  /home/tstellar/llvm/include/llvm/ADT/ArrayRef.h \</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>  /home/tstellar/llvm/include/llvm/ADT/SmallVector.h \</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>  /home/tstellar/llvm/include/llvm/Support/AlignOf.h \</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>  /home/tstellar/llvm/include/llvm/ADT/APSInt.h \</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>  /home/tstellar/llvm/include/llvm/ADT/PointerIntPair.h \</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>  /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h \</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h \</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.h \</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h \</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h \</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h \</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def \</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h \</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def \</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>  /home/tstellar/llvm/include/llvm/ADT/SmallString.h \</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>  /home/tstellar/llvm/include/llvm/ADT/StringRef.h \</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>  /home/tstellar/llvm/include/llvm/ADT/StringMap.h \</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>  /home/tstellar/llvm/include/llvm/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h \</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h \</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.h \</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.h \</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>  /home/tstellar/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h \</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc \</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h \</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def \</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.h \</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>  /home/tstellar/llvm/include/llvm/ADT/DenseMap.h \</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>  /home/tstellar/llvm/include/llvm/ADT/STLExtras.h \</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</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="l00049"></a><span class="lineno">   49</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h \</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>  /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h \</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc \</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h \</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h \</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h \</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.h \</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>  /home/tstellar/llvm/include/llvm/ADT/FoldingSet.h \</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h \</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</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="l00059"></a><span class="lineno">   59</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="l00060"></a><span class="lineno">   60</span>  /home/tstellar/llvm/include/llvm/ADT/Optional.h \</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>  /home/tstellar/llvm/include/llvm/ADT/Twine.h \</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>  /home/tstellar/llvm/include/llvm/Support/ErrorHandling.h \</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def \</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def \</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>  /home/tstellar/llvm/include/llvm/Support/raw_ostream.h \</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>  /home/tstellar/llvm/include/llvm/Support/FileSystem.h \</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>  /home/tstellar/llvm/include/llvm/ADT/OwningPtr.h \</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>  /home/tstellar/llvm/include/llvm/Support/TimeValue.h \</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>  /home/tstellar/llvm/include/llvm/Support/system_error.h \</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>  /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h \</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>  /home/tstellar/llvm/include/llvm/IR/Type.h \</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>  /home/tstellar/llvm/include/llvm/Support/CBindingWrapping.h \</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>  /home/tstellar/llvm/include/llvm-c/Core.h CGCXXABI.h CodeGenFunction.h \
+ CGBuilder.h /home/tstellar/llvm/include/llvm/IR/IRBuilder.h \</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>  /home/tstellar/llvm/include/llvm/IR/BasicBlock.h \</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>  /home/tstellar/llvm/include/llvm/ADT/ilist.h \</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.h \</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>  /home/tstellar/llvm/include/llvm/ADT/ilist_node.h \</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>  /home/tstellar/llvm/include/llvm/IR/User.h \</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>  /home/tstellar/llvm/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.h \</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>  /home/tstellar/llvm/include/llvm/IR/Use.h \</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>  /home/tstellar/llvm/include/llvm/Support/DebugLoc.h \</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>  /home/tstellar/llvm/include/llvm/IR/Instruction.def \</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>  /home/tstellar/llvm/include/llvm/IR/SymbolTableListTraits.h \</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>  /home/tstellar/llvm/include/llvm/IR/DataLayout.h \</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>  /home/tstellar/llvm/include/llvm/PassSupport.h \</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>  /home/tstellar/llvm/include/llvm/Pass.h \</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>  /home/tstellar/llvm/include/llvm/InitializePasses.h \</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>  /home/tstellar/llvm/include/llvm/PassRegistry.h \</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>  /home/tstellar/llvm/include/llvm/Support/Atomic.h \</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>  /home/tstellar/llvm/include/llvm/Support/Valgrind.h \</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>  /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h \</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>  /home/tstellar/llvm/include/llvm/IR/Instructions.h \</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>  /home/tstellar/llvm/include/llvm/IR/Attributes.h \</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</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="l00096"></a><span class="lineno">   96</span>  /home/tstellar/llvm/include/llvm/IR/InstrTypes.h \</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>  /home/tstellar/llvm/include/llvm/IR/OperandTraits.h \</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>  /home/tstellar/llvm/include/llvm/IR/LLVMContext.h \</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>  /home/tstellar/llvm/include/llvm/IR/Operator.h \</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>  /home/tstellar/llvm/include/llvm/IR/Constants.h \</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>  /home/tstellar/llvm/include/llvm/IR/Constant.h \</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>  /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h \</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>  /home/tstellar/llvm/include/llvm/Support/ConstantFolder.h \</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>  /home/tstellar/llvm/include/llvm/Support/ValueHandle.h CGDebugInfo.h \</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h \</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.h \</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclAccessPair.h \</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/OperationKinds.h \</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Stmt.h \</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclGroup.h \</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtIterator.h \</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CapturedStmt.h \</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/StmtNodes.inc \</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateBase.h \</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CharInfo.h \</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TypeTraits.h \</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Builtins.def \</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.h \</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Frontend/CodeGenOptions.def \</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>  /home/tstellar/llvm/include/llvm/DIBuilder.h \</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>  /home/tstellar/llvm/include/llvm/DebugInfo.h \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>  /home/tstellar/llvm/include/llvm/ADT/SmallPtrSet.h \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>  /home/tstellar/llvm/include/llvm/IR/Metadata.h \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>  /home/tstellar/llvm/include/llvm/Support/Dwarf.h CGValue.h \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTContext.h \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTTypeTraits.h \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTFwd.h \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLoc.h \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeLocNodes.def \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CanonicalType.h \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandTraits.h \</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/CommentOptions.h \</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CommentCommandList.inc \</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/PrettyPrinter.h \</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.h \</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ObjCRuntime.h \</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/VersionTuple.h \</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>  /home/tstellar/llvm/include/llvm/ADT/Triple.h \</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Sanitizers.def \</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LangOptions.def \</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OpenCLExtensions.def \</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RawCommentList.h \</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceManager.h \</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileManager.h \</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/FileSystemOptions.h \</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>  /home/tstellar/llvm/include/llvm/ADT/DenseSet.h \</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>  /home/tstellar/llvm/include/llvm/Support/MemoryBuffer.h \</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AddressSpaces.h \</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>  /home/tstellar/llvm/include/llvm/ADT/TinyPtrVector.h EHScopeStack.h \
+ CodeGenModule.h CGVTables.h \</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BaseSubobject.h \</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/GlobalDecl.h \</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h \</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTUnresolvedSet.h \</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/UnresolvedSet.h \</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprCXX.h \</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ExpressionTraits.h \</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Lambda.h \</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclObjC.h \</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</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="l00160"></a><span class="lineno">  160</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/ABI.h \</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/VTableBuilder.h \</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CXXInheritance.h \</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TypeOrdering.h \</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>  /home/tstellar/llvm/include/llvm/ADT/MapVector.h \</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>  /home/tstellar/llvm/include/llvm/ADT/SmallSet.h \</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/RecordLayout.h \</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>  /home/tstellar/llvm/include/llvm/ADT/SetVector.h \</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>  /home/tstellar/llvm/include/llvm/IR/GlobalVariable.h \</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>  /home/tstellar/llvm/include/llvm/IR/GlobalValue.h CodeGenTypes.h \
+ CGCall.h ABIInfo.h \</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/CodeGen/CGFunctionInfo.h \</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>  /home/tstellar/llvm/include/llvm/IR/Module.h \</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>  /home/tstellar/llvm/include/llvm/IR/Function.h \</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>  /home/tstellar/llvm/include/llvm/IR/Argument.h \</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>  /home/tstellar/llvm/include/llvm/IR/GlobalAlias.h \</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attr.h \</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrKinds.h \</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/AttrList.inc \</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>  /home/tstellar/llvm/include/llvm/ADT/StringSwitch.h \</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Attrs.inc \</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Mangle.h \</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Module.h \</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>  /home/tstellar/llvm/include/llvm/Transforms/Utils/SpecialCaseList.h \</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExprObjC.h \</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetInfo.h \</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetCXXABI.h \</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>  /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TargetOptions.h \</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>  /home/tstellar/llvm/include/llvm/Support/Debug.h</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> CGRecordLayout.h:</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/CharUnits.h:</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span> </div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span> /home/tstellar/llvm/include/llvm/ADT/DenseMapInfo.h:</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> /home/tstellar/llvm/include/llvm/Support/PointerLikeTypeTraits.h:</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span> /home/tstellar/llvm/include/llvm/Support/DataTypes.h:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span> /home/tstellar/llvm/include/llvm/Support/type_traits.h:</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> /home/tstellar/llvm/include/llvm/Support/MathExtras.h:</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span> /home/tstellar/llvm/include/llvm/Support/Compiler.h:</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span> /home/tstellar/llvm/include/llvm/Config/llvm-config.h:</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span> /home/tstellar/llvm/include/llvm/Support/SwapByteOrder.h:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Decl.h:</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/APValue.h:</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/LLVM.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/Casting.h:</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> /home/tstellar/llvm/include/llvm/ADT/None.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/APFloat.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/APInt.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/ADT/ArrayRef.h:</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span> /home/tstellar/llvm/include/llvm/ADT/SmallVector.h:</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span> /home/tstellar/llvm/include/llvm/Support/AlignOf.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/ADT/APSInt.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/PointerIntPair.h:</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span> /home/tstellar/llvm/include/llvm/ADT/PointerUnion.h:</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclBase.h:</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/AttrIterator.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/tools/clang/lib/CodeGen/../../include/clang/AST/DeclarationName.h:</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/IdentifierTable.h:</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.h:</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/OperatorKinds.def:</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.h:</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/TokenKinds.def:</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span> /home/tstellar/llvm/include/llvm/ADT/SmallString.h:</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span> </div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span> /home/tstellar/llvm/include/llvm/ADT/StringRef.h:</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span> /home/tstellar/llvm/include/llvm/ADT/StringMap.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/Support/<a class="code" href="Format_8cpp.html#a0805f884ee63233d49322f71926371de">Allocator</a>.h:</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/PartialDiagnostic.h:</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Diagnostic.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/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticIDs.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/IntrusiveRefCntPtr.h:</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticCommonKinds.inc:</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.h:</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/DiagnosticOptions.def:</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/SourceLocation.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/ADT/DenseMap.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/ADT/STLExtras.h:</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span> /home/tstellar/llvm/tools/clang/lib/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="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/Basic/Specifiers.h:</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span> /home/tstellar/llvm/include/llvm/Support/PrettyStackTrace.h:</div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span> </div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/DeclNodes.inc:</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span> </div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ExternalASTSource.h:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Redeclarable.h:</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Type.h:</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/NestedNameSpecifier.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/ADT/FoldingSet.h:</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/TemplateName.h:</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span> /home/tstellar/llvm/tools/clang/lib/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="l00300"></a><span class="lineno">  300</span> </div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span> /home/tstellar/llvm/tools/clang/lib/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="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/ADT/Optional.h:</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span> /home/tstellar/llvm/include/llvm/ADT/Twine.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/ErrorHandling.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/tools/clang/lib/CodeGen/../../include/clang/AST/TypeNodes.def:</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span> </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/BuiltinTypes.def:</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/include/llvm/Support/raw_ostream.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/include/llvm/Support/FileSystem.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/include/llvm/ADT/OwningPtr.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/Support/TimeValue.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/Support/system_error.h:</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span> /home/tstellar/llvm/include/llvm/IR/DerivedTypes.h:</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span> /home/tstellar/llvm/include/llvm/IR/Type.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/CBindingWrapping.h:</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span> /home/tstellar/llvm/include/llvm-c/Core.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> CGCXXABI.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> CodeGenFunction.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> CGBuilder.h:</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span> </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span> /home/tstellar/llvm/include/llvm/IR/IRBuilder.h:</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span> /home/tstellar/llvm/include/llvm/IR/BasicBlock.h:</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span> </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span> /home/tstellar/llvm/include/llvm/ADT/ilist.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/include/llvm/IR/Instruction.h:</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span> /home/tstellar/llvm/include/llvm/ADT/ilist_node.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/IR/User.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/include/llvm/IR/<a class="code" href="UninitializedValues_8cpp.html#a896c037a32087c5c20d97e64a1786880">Value</a>.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/include/llvm/IR/Use.h:</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span> /home/tstellar/llvm/include/llvm/Support/DebugLoc.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/IR/Instruction.def:</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/include/llvm/IR/SymbolTableListTraits.h:</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span> /home/tstellar/llvm/include/llvm/IR/DataLayout.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/include/llvm/Pass.h:</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span> </div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span> /home/tstellar/llvm/include/llvm/PassSupport.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/Pass.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/include/llvm/InitializePasses.h:</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span> /home/tstellar/llvm/include/llvm/PassRegistry.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/Atomic.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/include/llvm/Support/Valgrind.h:</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span> /home/tstellar/llvm/include/llvm/PassAnalysisSupport.h:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span> </div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span> /home/tstellar/llvm/include/llvm/IR/Instructions.h:</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span> </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span> /home/tstellar/llvm/include/llvm/IR/Attributes.h:</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span> /home/tstellar/llvm/include/llvm/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="l00382"></a><span class="lineno">  382</span> </div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span> /home/tstellar/llvm/include/llvm/IR/InstrTypes.h:</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span> /home/tstellar/llvm/include/llvm/IR/OperandTraits.h:</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span> /home/tstellar/llvm/include/llvm/IR/LLVMContext.h:</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span> /home/tstellar/llvm/include/llvm/IR/Operator.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/IR/Constants.h:</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span> /home/tstellar/llvm/include/llvm/IR/Constant.h:</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span> /home/tstellar/llvm/include/llvm/Support/GetElementPtrTypeIterator.h:</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span> </div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span> /home/tstellar/llvm/include/llvm/Support/ConstantFolder.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/ValueHandle.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> CGDebugInfo.h:</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span> </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/Expr.h:</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span> /home/tstellar/llvm/tools/clang/lib/CodeGen/../../include/clang/AST/ASTVector.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><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 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/CGRecordLayout_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayout_8h_source.html?rev=225843&view=auto
==============================================================================
--- www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayout_8h_source.html (added)
+++ www-releases/trunk/3.5.1/tools/clang/docs/doxygen/html/CGRecordLayout_8h_source.html Tue Jan 13 16:55:20 2015
@@ -0,0 +1,297 @@
+<!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: CGRecordLayout.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">clang API Documentation</p>
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void
 (0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_f65986501076cc710d4b9355ae3fe06d.html">clang</a></li><li class="navelem"><a class="el" href="dir_87e2a7550f83bd8cbfc92736891468fc.html">lib</a></li><li class="navelem"><a class="el" href="dir_373837989a1dc63be881832a195d38c3.html">CodeGen</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">CGRecordLayout.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="CGRecordLayout_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">//===--- CGRecordLayout.h - LLVM Record Layout Information ------*- C++ -*-===//</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span> <span class="comment">//                     The LLVM Compiler Infrastructure</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span> <span class="comment">// This file is distributed under the University of Illinois Open Source</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span> <span class="comment">// License. See LICENSE.TXT for details.</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span> </div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span> <span class="preprocessor">#ifndef CLANG_CODEGEN_CGRECORDLAYOUT_H</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span> <span class="preprocessor"></span><span class="preprocessor">#define CLANG_CODEGEN_CGRECORDLAYOUT_H</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span> <span class="preprocessor"></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span> <span class="preprocessor">#include "<a class="code" href="CharUnits_8h.html">clang/AST/CharUnits.h</a>"</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span> <span class="preprocessor">#include "<a class="code" href="Decl_8h.html">clang/AST/Decl.h</a>"</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</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="l00016"></a><span class="lineno">   16</span> <span class="preprocessor">#include "llvm/ADT/DenseMap.h"</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span> <span class="preprocessor">#include "llvm/IR/DerivedTypes.h"</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span> </div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span> <span class="keyword">namespace </span>llvm {</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>   <span class="keyword">class </span>StructType;</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> </div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span> <span class="keyword">namespace </span>clang {</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span> <span class="keyword">namespace </span>CodeGen {</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span> <span class="comment"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span> <span class="comment">/// \brief Structure with information about how a bitfield should be accessed.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span> <span class="comment">/// Often we layout a sequence of bitfields as a contiguous sequence of bits.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span> <span class="comment">/// When the AST record layout does this, we represent it in the LLVM IR's type</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span> <span class="comment">/// as either a sequence of i8 members or a byte array to reserve the number of</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span> <span class="comment">/// bytes touched without forcing any particular alignment beyond the basic</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span> <span class="comment">/// character alignment.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span> <span class="comment">/// Then accessing a particular bitfield involves converting this byte array</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span> <span class="comment">/// into a single integer of that size (i24 or i40 -- may not be power-of-two</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span> <span class="comment">/// size), loading it, and shifting and masking to extract the particular</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span> <span class="comment">/// subsequence of bits which make up that particular bitfield. This structure</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span> <span class="comment">/// encodes the information used to construct the extraction code sequences.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span> <span class="comment">/// The CGRecordLayout also has a field index which encodes which byte-sequence</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span> <span class="comment">/// this bitfield falls within. Let's assume the following C struct:</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span> <span class="comment">///   struct S {</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span> <span class="comment">///     char a, b, c;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span> <span class="comment">///     unsigned bits : 3;</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span> <span class="comment">///     unsigned more_bits : 4;</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span> <span class="comment">///     unsigned still_more_bits : 7;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span> <span class="comment">///   };</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span> <span class="comment">/// This will end up as the following LLVM type. The first array is the</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span> <span class="comment">/// bitfield, and the second is the padding out to a 4-byte alignmnet.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span> <span class="comment">///   %t = type { i8, i8, i8, i8, i8, [3 x i8] }</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span> <span class="comment">/// When generating code to access more_bits, we'll generate something</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span> <span class="comment">/// essentially like this:</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span> <span class="comment">///   define i32 @foo(%t* %base) {</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span> <span class="comment">///     %0 = gep %t* %base, i32 0, i32 3</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span> <span class="comment">///     %2 = load i8* %1</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span> <span class="comment">///     %3 = lshr i8 %2, 3</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span> <span class="comment">///     %4 = and i8 %3, 15</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span> <span class="comment">///     %5 = zext i8 %4 to i32</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span> <span class="comment">///     ret i32 %i</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span> <span class="comment">///   }</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html">   66</a></span> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html" title="Structure with information about how a bitfield should be accessed.">CGBitFieldInfo</a> {<span class="comment"></span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span> <span class="comment">  /// The offset within a contiguous run of bitfields that are represented as</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span> <span class="comment">  /// a single "field" within the LLVM struct type. This offset is in bits.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">   69</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a> : 16;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span> <span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span> <span class="comment">  /// The total size of the bit-field, in bits.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6">   72</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a> : 15;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span> <span class="comment"></span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span> <span class="comment">  /// Whether the bit-field is signed.</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad681db49ae8862638d0de8e5edab7b33">   75</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad681db49ae8862638d0de8e5edab7b33" title="Whether the bit-field is signed.">IsSigned</a> : 1;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span> <span class="comment"></span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span> <span class="comment">  /// The storage size in bits which should be used when accessing this</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span> <span class="comment">  /// bitfield.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">   79</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span> <span class="comment"></span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span> <span class="comment">  /// The alignment which should be used when accessing the bitfield.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a8bf933d70972c622bafae861fb3cb0b5">   82</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a8bf933d70972c622bafae861fb3cb0b5" title="The alignment which should be used when accessing the bitfield.">StorageAlignment</a>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#aae92f8f390fbac0f246f4a325658f263">   84</a></span>   <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#aae92f8f390fbac0f246f4a325658f263">CGBitFieldInfo</a>()</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>       : <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a>(), <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a>(), <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad681db49ae8862638d0de8e5edab7b33" title="Whether the bit-field is signed.">IsSigned</a>(), <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a>(), <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a8bf933d70972c622bafae861fb3cb0b5" title="The alignment which should be used when accessing the bitfield.">StorageAlignment</a>() {}</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ac6e321af9d446f82492d828d50fb4a69">   87</a></span>   <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#aae92f8f390fbac0f246f4a325658f263">CGBitFieldInfo</a>(<span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a>, <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a>, <span class="keywordtype">bool</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad681db49ae8862638d0de8e5edab7b33" title="Whether the bit-field is signed.">IsSigned</a>,</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>                  <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a>, <span class="keywordtype">unsigned</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a8bf933d70972c622bafae861fb3cb0b5" title="The alignment which should be used when accessing the bitfield.">StorageAlignment</a>)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>       : Offset(Offset), Size(Size), IsSigned(IsSigned),</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>         StorageSize(StorageSize), StorageAlignment(StorageAlignment) {}</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>   <span class="keywordtype">void</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#adf68aa09b170002926b2901a799f23f2">print</a>(raw_ostream &OS) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>   <span class="keywordtype">void</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a53c61c2666e8343a339221f5ff8ab0e5">dump</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span> <span class="comment"></span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span> <span class="comment">  /// \brief Given a bit-field decl, build an appropriate helper object for</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span> <span class="comment">  /// accessing that field (which is expected to have the given offset and</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span> <span class="comment">  /// size).</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span> <span class="comment"></span>  <span class="keyword">static</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html" title="Structure with information about how a bitfield should be accessed.">CGBitFieldInfo</a> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad8d73df07814bda59cacfb267bc586c7" title="Given a bit-field decl, build an appropriate helper object for accessing that field (which is expecte...">MakeInfo</a>(<span class="keyword">class</span> <a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html">CodeGenTypes</a> &Types,</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>                                  <span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD,</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>                                  uint64_t <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a528c7504c3c78820c4da29d31708763f">Offset</a>, uint64_t <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ab989d62260b0383e31a3080f7c783cc6" title="The total size of the bit-field, in bits.">Size</a>,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>                                  uint64_t <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#ad53e4a88f644dc36a387078e3a12526a">StorageSize</a>,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>                                  uint64_t <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html#a8bf933d70972c622bafae861fb3cb0b5" title="The alignment which should be used when accessing the bitfield.">StorageAlignment</a>);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span> };</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span> <span class="comment"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span> <span class="comment">/// CGRecordLayout - This class handles struct and union layout info while</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span> <span class="comment">/// lowering AST types to LLVM types.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span> <span class="comment">///</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span> <span class="comment">/// These layout objects are only created on demand as IR generation requires.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">  109</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> {</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a79e84ed81483edcc27ca692effdaf47b">  110</a></span>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classclang_1_1CodeGen_1_1CodeGenTypes.html">CodeGenTypes</a>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>   <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &) LLVM_DELETED_FUNCTION;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>   <span class="keywordtype">void</span> operator=(const <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a> &) LLVM_DELETED_FUNCTION;</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> private:<span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span> <span class="comment">  /// The LLVM type corresponding to this record layout; used when</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span> <span class="comment">  /// laying it out as a complete object.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span> <span class="comment"></span>  llvm::StructType *CompleteObjectType;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span> <span class="comment"></span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span> <span class="comment">  /// The LLVM type for the non-virtual part of this record layout;</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span> <span class="comment">  /// used when laying it out as a base subobject.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span> <span class="comment"></span>  llvm::StructType *BaseSubobjectType;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span> <span class="comment">  /// Map from (non-bit-field) struct field to the corresponding llvm struct</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="comment">  /// type field no. This info is populated by record builder.</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span> <span class="comment"></span>  llvm::DenseMap<const <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *, <span class="keywordtype">unsigned</span>> FieldInfo;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span> <span class="comment"></span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span> <span class="comment">  /// Map from (bit-field) struct field to the corresponding llvm struct type</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span> <span class="comment">  /// field no. This info is populated by record builder.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span> <span class="comment"></span>  llvm::DenseMap<const FieldDecl *, <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html" title="Structure with information about how a bitfield should be accessed.">CGBitFieldInfo</a>> BitFields;</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">// FIXME: Maybe we could use a CXXBaseSpecifier as the key and use a single</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>   <span class="comment">// map for both virtual and non virtual bases.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>   llvm::DenseMap<const <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *, <span class="keywordtype">unsigned</span>> NonVirtualBases;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span> <span class="comment"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span> <span class="comment">  /// Map from virtual bases to their field index in the complete object.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span> <span class="comment"></span>  llvm::DenseMap<const CXXRecordDecl *, <span class="keywordtype">unsigned</span>> CompleteObjectVirtualBases;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span> <span class="comment"></span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span> <span class="comment">  /// False if any direct or indirect subobject of this class, when</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span> <span class="comment">  /// considered as a complete object, requires a non-zero bitpattern</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span> <span class="comment">  /// when zero-initialized.</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span> <span class="comment"></span>  <span class="keywordtype">bool</span> IsZeroInitializable : 1;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span> <span class="comment"></span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span> <span class="comment">  /// False if any direct or indirect subobject of this class, when</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span> <span class="comment">  /// considered as a base subobject, requires a non-zero bitpattern</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span> <span class="comment">  /// when zero-initialized.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span> <span class="comment"></span>  <span class="keywordtype">bool</span> IsZeroInitializableAsBase : 1;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span> public:</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a1573fec2e00c774644da4c7bd33e2f22">  150</a></span>   <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html">CGRecordLayout</a>(llvm::StructType *CompleteObjectType,</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>                  llvm::StructType *BaseSubobjectType,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>                  <span class="keywordtype">bool</span> IsZeroInitializable,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>                  <span class="keywordtype">bool</span> IsZeroInitializableAsBase)</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>     : CompleteObjectType(CompleteObjectType),</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>       BaseSubobjectType(BaseSubobjectType),</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>       IsZeroInitializable(IsZeroInitializable),</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>       IsZeroInitializableAsBase(IsZeroInitializableAsBase) {}</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span> <span class="comment"></span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span> <span class="comment">  /// \brief Return the "complete object" LLVM type associated with</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span> <span class="comment">  /// this record.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a48b080c014be362e05e36f120da30550">  161</a></span> <span class="comment"></span>  llvm::StructType *<a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a48b080c014be362e05e36f120da30550" title="Return the "complete object" LLVM type associated with this record.">getLLVMType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>     <span class="keywordflow">return</span> CompleteObjectType;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>   }</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span> <span class="comment"></span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span> <span class="comment">  /// \brief Return the "base subobject" LLVM type associated with</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span> <span class="comment">  /// this record.</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#ad6217e47473e424ce7ea143b28557e7a">  167</a></span> <span class="comment"></span>  llvm::StructType *<a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#ad6217e47473e424ce7ea143b28557e7a" title="Return the "base subobject" LLVM type associated with this record.">getBaseSubobjectLLVMType</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>     <span class="keywordflow">return</span> BaseSubobjectType;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>   }</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span> <span class="comment"></span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span> <span class="comment">  /// \brief Check whether this struct can be C++ zero-initialized</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span> <span class="comment">  /// with a zeroinitializer.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#aab2ec117dadd263063ff91424d46d3eb">  173</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#aab2ec117dadd263063ff91424d46d3eb" title="Check whether this struct can be C++ zero-initialized with a zeroinitializer.">isZeroInitializable</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>     <span class="keywordflow">return</span> IsZeroInitializable;</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="comment"></span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span> <span class="comment">  /// \brief Check whether this struct can be C++ zero-initialized</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span> <span class="comment">  /// with a zeroinitializer when considered as a base subobject.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a23f5306bf21a364e8223bf602114566e">  179</a></span> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a23f5306bf21a364e8223bf602114566e" title="Check whether this struct can be C++ zero-initialized with a zeroinitializer when considered as a bas...">isZeroInitializableAsBase</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>     <span class="keywordflow">return</span> IsZeroInitializableAsBase;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>   }</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span> <span class="comment"></span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span> <span class="comment">  /// \brief Return llvm::StructType element number that corresponds to the</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span> <span class="comment">  /// field FD.</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a8c46d13c10ccd30803664fcd83a65a0f">  185</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a8c46d13c10ccd30803664fcd83a65a0f" title="Return llvm::StructType element number that corresponds to the field FD.">getLLVMFieldNo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>     assert(FieldInfo.count(FD) && <span class="stringliteral">"Invalid field for record!"</span>);</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>     <span class="keywordflow">return</span> FieldInfo.lookup(FD);</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>   }</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#acf036e27d413991f8212263d5f93f90f">  190</a></span>   <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#acf036e27d413991f8212263d5f93f90f">getNonVirtualBaseLLVMFieldNo</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="l00191"></a><span class="lineno">  191</span>     assert(NonVirtualBases.count(RD) && <span class="stringliteral">"Invalid non-virtual base!"</span>);</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>     <span class="keywordflow">return</span> NonVirtualBases.lookup(RD);</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> <span class="comment"></span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span> <span class="comment">  /// \brief Return the LLVM field index corresponding to the given</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span> <span class="comment">  /// virtual base.  Only valid when operating on the complete object.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a73aaf2ff2d56932026c4e1a8a2821690">  197</a></span> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a73aaf2ff2d56932026c4e1a8a2821690" title="Return the LLVM field index corresponding to the given virtual base. Only valid when operating on the...">getVirtualBaseIndex</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1CXXRecordDecl.html" title="Represents a C++ struct/union/class.">CXXRecordDecl</a> *base)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>     assert(CompleteObjectVirtualBases.count(base) && <span class="stringliteral">"Invalid virtual base!"</span>);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>     <span class="keywordflow">return</span> CompleteObjectVirtualBases.lookup(base);</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>   }</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span> <span class="comment"></span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span> <span class="comment">  /// \brief Return the BitFieldInfo that corresponds to the field FD.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a62dd98b26b76f667df40ad64035c38e3">  203</a></span> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structclang_1_1CodeGen_1_1CGBitFieldInfo.html" title="Structure with information about how a bitfield should be accessed.">CGBitFieldInfo</a> &<a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a62dd98b26b76f667df40ad64035c38e3" title="Return the BitFieldInfo that corresponds to the field FD.">getBitFieldInfo</a>(<span class="keyword">const</span> <a class="code" href="classclang_1_1FieldDecl.html">FieldDecl</a> *FD)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>     assert(FD-><a class="code" href="classclang_1_1FieldDecl.html#af8c123e193d426f26496c15e2f168a49" title="isBitfield - Determines whether this field is a bitfield.">isBitField</a>() && <span class="stringliteral">"Invalid call for non bit-field decl!"</span>);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>     llvm::DenseMap<const FieldDecl *, CGBitFieldInfo>::const_iterator</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>       it = BitFields.find(FD);</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>     assert(it != BitFields.end() && <span class="stringliteral">"Unable to find bitfield info"</span>);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>     <span class="keywordflow">return</span> it->second;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>   }</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a2bea1d697a1cf2cb70483c0c0d29afed">print</a>(raw_ostream &OS) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>   <span class="keywordtype">void</span> <a class="code" href="classclang_1_1CodeGen_1_1CGRecordLayout.html#a569323edf9c13207155b53a86b75731b">dump</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span> };</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span> }  <span class="comment">// end namespace CodeGen</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span> }  <span class="comment">// end namespace clang</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span> <span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<hr>
+<p class="footer">
+Generated on Mon May 12 2014 12:13:26 for r$LatestRev$ by <a href="http://www.doxygen.org">Doxygen 
+1.8.3.1</a>.</p>
+<p class="footer">
+See the <a href="http://clang.llvm.org">Main Clang Web Page</a> for more 
+information.</p>
+</body>
+</html>





More information about the llvm-commits mailing list